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.0.4, 2.1


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.
-
You can reply to this email to add a comment to the issue online.

Reply via email to