You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by "paul.freeman" <pa...@kronos.com> on 2007/12/03 17:24:43 UTC

Re: Addressing namespace compatability issue with WCF

There is a "patch" for this issue 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.

Paul


dkulp wrote:
> 
> 
> http://www.w3.org/2005/08/addressing namespace, so I'm not sure why you 
> are getting the 2004/08.   
> 
> 
> 
> On Friday 30 November 2007, paul.freeman wrote:
>> I am trying to test compatibility 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.  Is
>> there a way to change this in CXF to the newer addressing namespace?
>>
>> 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/CreateSe
>>quence</a:Action><a:MessageID>urn:uuid:c211d39e-e26b-4345-8c4a-a5c931ec
>>210d</a:MessageID><a:To
>> s:mustUnderstand="1">http://ad1vm-saasdev/saas-identity-2.0-CXF-WSDLFi
>>rst/services/IdentityService</a:To></s:Header><s:Body><CreateSequence
>> xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"><AcksTo><a:Address>ht
>>tp://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><M
>>essageID
>> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:297a
>>0df9-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://schema
>>s.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse</Action></soap:Heade
>>r><soap:Body /></soap:Envelope>
> 
> 
> 
> -- 
> J. Daniel Kulp
> Principal Engineer
> IONA
> P: 781-902-8727    C: 508-380-7194
> daniel.kulp@iona.com
> http://www.dankulp.com/blog
> 
> 

-- 
View this message in context: http://www.nabble.com/Addressing-namespace-compatability-issue-with-WCF-tf4922604.html#a14133276
Sent from the cxf-user mailing list archive at Nabble.com.


Re: Addressing namespace compatability issue with WCF

Posted by "paul.freeman" <pa...@kronos.com>.
Hi Willem -

I will open a JIRA issue as soon as I have a chance.  I believe the oldest
WCF addressing namespace supported is:
http://www.w3.org/2005/08/addressing 

I say minimum because I was able to write a WSDL with a 2006 namespace, and
WCF had no issues.  It sends it's requests with the 2005 namespace.

My first message explains this more clearly.

WCF does not support the 2004 namespace.  Code generation fails for a client
if the wsdl is specified with the 2004 namespace.

Thanks,
Paul


Willem2 wrote:
> 
> Hi Paul,
> 
> I just went through the ws-rm's code , there are some hard codes which 
> set the addressing namespace to be
> 
> "http://schemas.xmlsoap.org/ws/2004/08/addressing"
> 
> and there is a comment in the VersionTransformer.java file.
> " The motivation for using different native and exposed types
>   is usually to facilitate a WS-* standard based on an earlier 
>   version of WS-Adressing (for example WS-RM depends on the
>   2004/08 version). " 
> Since CXF ws-rm implement years ago before WS-RM 1.1 draf4 released, I
> think you can fill a JIRA for it.
> 
> BTW 
> Just a quick question. Which version of WS-RM does WCF support?
> 
> Willem.
> 
> paul.freeman wrote:
>> There is a "patch" for this issue 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.
>>
>> Paul
>>
>>
>> dkulp wrote:
>>   
>>> http://www.w3.org/2005/08/addressing namespace, so I'm not sure why you 
>>> are getting the 2004/08.   
>>>
>>>
>>>
>>> On Friday 30 November 2007, paul.freeman wrote:
>>>     
>>>> I am trying to test compatibility 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.  Is
>>>> there a way to change this in CXF to the newer addressing namespace?
>>>>
>>>> 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/CreateSe
>>>> quence</a:Action><a:MessageID>urn:uuid:c211d39e-e26b-4345-8c4a-a5c931ec
>>>> 210d</a:MessageID><a:To
>>>> s:mustUnderstand="1">http://ad1vm-saasdev/saas-identity-2.0-CXF-WSDLFi
>>>> rst/services/IdentityService</a:To></s:Header><s:Body><CreateSequence
>>>> xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"><AcksTo><a:Address>ht
>>>> tp://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><M
>>>> essageID
>>>> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:297a
>>>> 0df9-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://schema
>>>> s.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse</Action></soap:Heade
>>>> r><soap:Body /></soap:Envelope>
>>>>       
>>>
>>> -- 
>>> J. Daniel Kulp
>>> Principal Engineer
>>> IONA
>>> P: 781-902-8727    C: 508-380-7194
>>> daniel.kulp@iona.com
>>> http://www.dankulp.com/blog
>>>
>>>
>>>     
>>
>>   
> 
> 

-- 
View this message in context: http://www.nabble.com/Addressing-namespace-compatability-issue-with-WCF-tf4922604.html#a14151215
Sent from the cxf-user mailing list archive at Nabble.com.


Re: Addressing namespace compatability issue with WCF

Posted by Willem Jiang <ni...@iona.com>.
Hi Paul,

I just went through the ws-rm's code , there are some hard codes which 
set the addressing namespace to be

"http://schemas.xmlsoap.org/ws/2004/08/addressing"

and there is a comment in the VersionTransformer.java file.
" The motivation for using different native and exposed types
  is usually to facilitate a WS-* standard based on an earlier 
  version of WS-Adressing (for example WS-RM depends on the
  2004/08 version). " 
Since CXF ws-rm implement years ago before WS-RM 1.1 draf4 released, I think you can fill a JIRA for it.

BTW 
Just a quick question. Which version of WS-RM does WCF support?

Willem.

paul.freeman wrote:
> There is a "patch" for this issue 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.
>
> Paul
>
>
> dkulp wrote:
>   
>> http://www.w3.org/2005/08/addressing namespace, so I'm not sure why you 
>> are getting the 2004/08.   
>>
>>
>>
>> On Friday 30 November 2007, paul.freeman wrote:
>>     
>>> I am trying to test compatibility 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.  Is
>>> there a way to change this in CXF to the newer addressing namespace?
>>>
>>> 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/CreateSe
>>> quence</a:Action><a:MessageID>urn:uuid:c211d39e-e26b-4345-8c4a-a5c931ec
>>> 210d</a:MessageID><a:To
>>> s:mustUnderstand="1">http://ad1vm-saasdev/saas-identity-2.0-CXF-WSDLFi
>>> rst/services/IdentityService</a:To></s:Header><s:Body><CreateSequence
>>> xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"><AcksTo><a:Address>ht
>>> tp://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><M
>>> essageID
>>> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:297a
>>> 0df9-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://schema
>>> s.xmlsoap.org/ws/2005/02/rm/CreateSequenceResponse</Action></soap:Heade
>>> r><soap:Body /></soap:Envelope>
>>>       
>>
>> -- 
>> J. Daniel Kulp
>> Principal Engineer
>> IONA
>> P: 781-902-8727    C: 508-380-7194
>> daniel.kulp@iona.com
>> http://www.dankulp.com/blog
>>
>>
>>     
>
>