eclipse-ee4j / eclipse-ee4j/metro-wsit
WS-Secconv m2s test fails against interop3.0 :
- Dominant language
- Java
- Stars
- 6
- Forks
- 21
- Avg merge
- 10h 2m
- Merged PRs (30d)
- 1
Description
this issue first observed in b70 of v3-classic promoted build.
Log
===
LOG for _X10
Response recieved by the MS client from the Sun service endpoint
Getting test parameters
Service_Endpoint_WsdlUri = [http://10.12.153.73:8080/jaxws-sc9/PingService?wsdl](http://10.12.153.73:8080/jaxws-sc9/PingService?wsdl)
Service_Endpoint_PortTypeName = IPingService
In HostedClientSoapImpl.CreateProxy()::Generating the proxy for
[http://10.12.153.73:8080/jaxws-sc9/PingService?wsdl](http://10.12.153.73:8080/jaxws-sc9/PingService?wsdl)
Checking contents of parameters::....
(0) key : Service_Endpoint_WsdlUri , value :
[http://10.12.153.73:8080/jaxws-sc9/PingService?wsdl](http://10.12.153.73:8080/jaxws-sc9/PingService?wsdl)
(1) key : Service_Endpoint_Address , value :
[http://10.12.153.73:8080/jaxws-sc9/PingService](http://10.12.153.73:8080/jaxws-sc9/PingService)
(2) key : Service_Endpoint_PortTypeName , value : IPingService
(3) key : Service_Endpoint_OperationName , value : Ping
DynamicProxyFactory contructed with wsdlUri :
[http://10.12.153.73:8080/jaxws-sc9/PingService?wsdl](http://10.12.153.73:8080/jaxws-sc9/PingService?wsdl)
In DynamicProxyFactory constructor DynamicProxyFactory(wsdlUri =
[http://10.12.153.73:8080/jaxws-sc9/PingService?wsdl](http://10.12.153.73:8080/jaxws-sc9/PingService?wsdl) ,dynamicProxyfactoryOptions
= DynamicProxyFactoryOptions[Language=CS,FormatMode=Auto,CodeModifier=])
adding to 'results' ...System.Xml.Schema.XmlSchema : type-
System.Xml.Schema.XmlSchema
In method DynamicProxyFactory.AddDocumentToResults(obj doc,Collection results)..
adding to 'results' ...System.Xml.Schema.XmlSchema : type-
System.Xml.Schema.XmlSchema
In method DynamicProxyFactory.AddDocumentToResults(obj doc,Collection results)..
adding to 'results' ...System.Web.Services.Description.ServiceDescription :
type- System.Web.Services.Description.ServiceDescription
In method DynamicProxyFactory.AddDocumentToResults(obj doc,Collection results)..
found document to be of type System.Web.Services.Description.ServiceDescription
Binding name in document :: PingBinding
Checking what Collection results contains ..
results has System.Xml.Schema.XmlSchema
results has System.Xml.Schema.XmlSchema
results has System.Web.Services.Description.ServiceDescription
Exiting DynamicProxyFactory.DownloadMetadata()....
In DynamicProxyFactory.ImportMetadata()..
In DynamicProxyFactory.ImportMetadata() after CreateCodeDomProvider()..
* * * * * * In DynamicProxyFactory.CreateProxy()
* checking *******
Exiting DynamicProxyFactory.CreateProxy()..
Service_Endpoint_Address = [http://10.12.153.73:8080/jaxws-sc9/PingService](http://10.12.153.73:8080/jaxws-sc9/PingService)
In HostedClientSoapImpl.CreateProxy():: serviceAddress =
[http://10.12.153.73:8080/jaxws-sc9/PingService](http://10.12.153.73:8080/jaxws-sc9/PingService)
In HostedClientSoapImpl.CreateProxy():: serviceAddress again=
[http://10.12.153.73:8080/jaxws-sc9/PingService](http://10.12.153.73:8080/jaxws-sc9/PingService)
Looking at serviceEndpoint names/addresses....
Value of DynamicProxyFactory ::
Microsoft.Xws.Test.Suite.Util.WsdlTestUtilities.DynamicProxy.DynamicProxyFactory
factory.endpoints is not null
Printing factory.endpoints :
System.ServiceModel.Description.ServiceEndpointCollection
IN TRY
Outside the for loop
Number of serviceEndpoints in dynamicproxyfactory = 1
Inside the for loop
service endpoint s = PingPort
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
In HostedClientSoapImpl.CreateProxy() ; value of serviceEndpoint is =
System.ServiceModel.Description.ServiceEndpoint
ServiceEndPoint name :: PingPort
Calling Ping method ...
* : _X10
In dynamicObject.CallMethod(string,object[]
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. :: PingServiceClient
ERROR: System.Reflection.TargetInvocationException: Exception has been thrown by
the target of an invocation. --->
System.ServiceModel.Security.MessageSecurityException: The EncryptedKey clause
was not wrapped with the required encryption token
'System.IdentityModel.Tokens.X509SecurityToken'.
Server stack trace:
at
System.ServiceModel.Security.WSSecurityJan2004.WrappedKeyTokenEntry.CreateWrappedKeyToken(String
id, String encryptionMethod, String carriedKeyName, SecurityKeyIdentifier
unwrappingTokenIdentifier, Byte[] wrappedKey, SecurityTokenResolver tokenResolver)
at
System.ServiceModel.Security.WSSecurityJan2004.WrappedKeyTokenEntry.ReadTokenCore(XmlDictionaryReader
reader, SecurityTokenResolver tokenResolver)
at
System.ServiceModel.Security.WSSecurityTokenSerializer.ReadTokenCore(XmlReader
reader, SecurityTokenResolver tokenResolver)
at System.IdentityModel.Selectors.SecurityTokenSerializer.ReadToken(XmlReader
reader, SecurityTokenResolver tokenResolver)
at
System.ServiceModel.Security.WSSecurityOneDotZeroReceiveSecurityHeader.DecryptWrappedKey(XmlDictionaryReader
reader)
at
System.ServiceModel.Security.ReceiveSecurityHeader.ReadEncryptedKey(XmlDictionaryReader
reader)
at
System.ServiceModel.Security.ReceiveSecurityHeader.ExecuteFullPass(XmlDictionaryReader
reader)
at
System.ServiceModel.Security.StrictModeSecurityHeaderElementInferenceEngine.ExecuteProcessingPasses(ReceiveSecurityHeader
securityHeader, XmlDictionaryReader reader)
at System.ServiceModel.Security.ReceiveSecurityHeader.Process(TimeSpan timeout)
at
System.ServiceModel.Security.MessageSecurityProtocol.ProcessSecurityHeader(ReceiveSecurityHeader
securityHeader, Message& message, SecurityToken requiredSigningToken, TimeSpan
timeout, SecurityProtocolCorrelationState[] correlationStates)
at
System.ServiceModel.Security.AsymmetricSecurityProtocol.VerifyIncomingMessageCore(Message&
message, String actor, TimeSpan timeout, SecurityProtocolCorrelationState[]
correlationStates)
at
System.ServiceModel.Security.MessageSecurityProtocol.VerifyIncomingMessage(Message&
message, TimeSpan timeout, SecurityProtocolCorrelationState[] correlationStates)
at
System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.ProcessReply(Message
reply, SecurityProtocolCorrelationState correlationState, TimeSpan timeout)
at
System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.Request(Message
message, TimeSpan timeout)
at
System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.DoOperation(SecuritySessionOperation
operation, EndpointAddress target, Uri via, SecurityToken currentToken, TimeSpan
timeout)
at
System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.GetTokenCore(TimeSpan
timeout)
at System.IdentityModel.Selectors.SecurityTokenProvider.GetToken(TimeSpan
timeout)
at
System.ServiceModel.Security.SecuritySessionClientSettings`1.ClientSecuritySessionChannel.OnOpen(TimeSpan
timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at
System.ServiceModel.Channels.ServiceChannel.CallOpenOnce.System.ServiceModel.Channels.ServiceChannel.ICallOnce.Call(ServiceChannel
channel, TimeSpan timeout)
at
System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce(TimeSpan
timeout, CallOnceManager cascade)
at System.ServiceModel.Channels.ServiceChannel.EnsureOpened(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean
oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan
timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean
oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
at
System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,
ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&
msgData, Int32 type)
at IPingService.Ping(PingRequest request)
at PingServiceClient.IPingService.Ping(PingRequest request)
at PingServiceClient.Ping(ping Ping1)
— End of inner exception stack trace —
at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[]
arguments, SignatureStruct& sig, MethodAttributes methodAttributes,
RuntimeTypeHandle typeOwner)
at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[]
arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle
typeOwner)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags
invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean
skipVisibilityChecks)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags
invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags,
Binder binder, Object target, Object[] providedArgs, ParameterModifier[]
modifiers, CultureInfo culture, String[] namedParams)
at
Microsoft.Xws.Test.Suite.Util.WsdlTestUtilities.DynamicProxy.DynamicObject.CallMethod(String
method, Object[] parameters)
at XwsInterop.HostedClient.HostedClientSoapImpl.TestMethods(DynamicProxy
proxy, String scenarioName)
at XwsInterop.HostedClient.HostedClientSoapImpl.runScenario(String
featureName, String scenarioName, HostedClientParameter[] parameters)
In dynamicObject.CallMethod(string,object[]
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. :: PingServiceClient
#### Environment
Operating System: All
Platform: All
#### Affected Versions
[2.0]
Source: [https://github.com/javaee/metro-wsit/issues/1298](https://github.com/javaee/metro-wsit/issues/1298)
Author: glassfishrobot
Contributor guide
Research direction
Start by reproducing the WS-Secconv m2s interop3.0 scenario described in the log and inspect the DynamicProxyFactory and PingServiceClient path named in the stack trace. Compare the received security header with the expected X509SecurityToken handling; done means the Ping call succeeds against the interop3.0 endpoint.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend-api-design, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100