JBOSS WS-AT with .NET/WCF Service SSL problems
Issue
- I am trying to call a WCF web service with enabled transaction flow from a Java client.
- The Java client is hosted in EAR application under JBoss EAP 6.1 and the call between Java client and WCF Service is over SSL.
- I have configured:
- Public interface to an public IP
- XTS URL to
https://<jboss server hostname>:8444/ws-c11/ActivationService wsdl-hostto JBoss server hostnamewsdl-portto8444.
- When I call the WCF Service, I got the following exception:
The flowed transaction could not be unmarshaled. The following exception occurred: The WS-AtomicTransaction protocol service could not unmarshal the flowed transaction. The following exception occured: A fault reply with code CannotCreateContext was received. The fault reason follows: CoordinationContext could not be created.
On MSDTC trace, the error is due to URL of registration service (http://<jboss server hostname>:8444/ws-c11/RegistrationService) sent in SOAP message:
<ExceptionType>System.ArgumentException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
<Message>The provided URI scheme 'http' is invalid; expected 'https'.
Parameter name: via</Message>
<StackTrace>
at System.ServiceModel.Channels.TransportChannelFactory`1.ValidateScheme(Uri via)
at System.ServiceModel.Channels.HttpChannelFactory.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)
at System.ServiceModel.Channels.HttpsChannelFactory.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via)
at System.ServiceModel.Channels.HttpsChannelFactory.OnCreateChannel(EndpointAddress address, Uri via)
...
The offending element is the WS-Addressing <Address> element under the WS-Coordination element in the SOAP response header:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Header>
<wscoor:CoordinationContext xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns4="http://www.w3.org/2005/08/addressing" xmlns:wscoor="http://docs.oasis-open.org/ws-tx/wscoor/2006/06" env:mustUnderstand="true">
<wscoor:RegistrationService>
<ns4:Address>http://<jboss server>:8444/ws-c11/RegistrationService</ns4:Address>
...
</wscoor:CoordinationContext>
</soap:Header>
</soap:Envelope>
Environment
- Red Hat JBoss Enterprise Application Platform (EAP) 6.x
- JBossWS-CXF
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.