You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2011/09/09 20:05:14 UTC

[jira] [Resolved] (CXF-1254) WS-A Interop with .Net WCF - CXF fails to interop with .Net WS-A due to use of old namespace.

     [ https://issues.apache.org/jira/browse/CXF-1254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp resolved CXF-1254.
------------------------------

       Resolution: Fixed
    Fix Version/s: 2.5


Semi fixed a long time ago by providing some ability to configure the namespaces to use.  Also, Dennis has done quite a bit of work to update to WS-RM 1.1 and testing with .NET.

> WS-A Interop with .Net WCF - CXF fails to interop with .Net WS-A due to use of old namespace.
> ---------------------------------------------------------------------------------------------
>
>                 Key: CXF-1254
>                 URL: https://issues.apache.org/jira/browse/CXF-1254
>             Project: CXF
>          Issue Type: Improvement
>          Components: WS-* Components
>    Affects Versions: 2.0.3
>         Environment: CXF 2.0.3
> JBoss
> Spring
> .Net WCF client
> WSDL first development
>            Reporter: Paul Freeman
>             Fix For: 2.5
>
>
> CXF is not compatible with .net's WCF implementation.  I have successfully configured reliable messaging in both CXF and .net.  The client is .net and the service is CXF.  .net makes the initial request to create a sequence and expects the response to contain a <RelatesTo> header tag.  The namespace for this header tag is an addressing namespace.
> It turns out that CXF returns the addressing namespace http://schemas.xmlsoap.org/ws/2004/08/addressing
> But WCF sent the request with the this namespace: http://www.w3.org/2005/08/addressing
> So the result is that WCF cannot find the <RelatesTo> header tag.  
> I wrote the wsdl with this namespace, which is all together different as well:
> http://www.w3.org/2006/05/addressing/wsdl
> Here is the entire message exchange captured by wireshark:
> ==========================================================
> POST /saas-identity-2.0-CXF-WSDLFirst/services/IdentityService HTTP/1.1
> Content-Type: text/xml; charset=utf-8
> SOAPAction: "http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence"
> Host: ad1vm-saasdev
> Content-Length: 695
> Expect: 100-continue
> Connection: Keep-Alive
> HTTP/1.1 100 Continue
> <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:a="http://www.w3.org/2005/08/addressing"><s:Header><a:Action s:mustUnderstand="1">http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</a:Action><a:MessageID>urn:uuid:c211d39e-e26b-4345-8c4a-a5c931ec210d</a:MessageID><a:To s:mustUnderstand="1">http://ad1vm-saasdev/saas-identity-2.0-CXF-WSDLFirst/services/IdentityService</a:To></s:Header><s:Body><CreateSequence xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"><AcksTo><a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address></AcksTo><Offer><Identifier>urn:uuid:a7418b78-869a-4dcf-a99e-3ebdbc5e6862</Identifier></Offer></CreateSequence></s:Body></s:Envelope>HTTP/1.1 200 OK
> Date: Fri, 30 Nov 2007 16:42:27 GMT
> Server: Microsoft-IIS/6.0
> X-Powered-By: ASP.NET
> X-Powered-By: Servlet 2.4; JBoss-4.2.0.GA (build: SVNTag=JBoss_4_2_0_GA date=200705111440)/Tomcat-5.5
> SOAPAction: "http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence"
> Content-Type: text/xml;charset=utf-8
> Content-Length: 538
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><MessageID xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:297a0df9-d5d6-4ff9-850d-7ff7a9740178</MessageID><RelatesTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing" RelationshipType="reply">urn:uuid:c211d39e-e26b-4345-8c4a-a5c931ec210d</RelatesTo><Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse</Action></soap:Header><soap:Body /></soap:Envelope>
> ==========================================================
> A "patch" for this issue already exists in JIRA - but it doesn't seem to work.  Looking at the code around the patch, there are explicit calls to classes in the org.apache.cxf.ws.addressing.v200408 package.
> https://issues.apache.org/jira/browse/CXF-1216
> The class in question is org/apache/cxf/ws/addressing/VersionTransformer.java
> It is located in \rt\ws\addr\src\main\java
> It uses many classes in the org.apache.cxf.ws.addressing.v200408 package to construct the returned objects.  This should really be upgraded to a newer namespace.
> In order to be compatible with WCF, the new namespace for addressing should be at a minimum: http://www.w3.org/2005/08/addressing
> I am sure the fix will entail upgrading the package of classes found in: org.apache.cxf.ws.addressing.v200408

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira