cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eoghan Glynn (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CXF-1254) WS-A Interop with .Net WCF - CXF fails to interop with .Net WS-A due to use of old namespace.
Date Wed, 05 Dec 2007 22:21:43 GMT

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

Eoghan Glynn commented on CXF-1254:
-----------------------------------

Originally the CXF multi-version WS-A support was intended to account for the fact the target
WS-RM version implemented by CXF (i.e. WS-RM 1.0 AKA 2005/02) explicitly called for an older
WS-A version, i.e. 2004/08, as opposed to the then current 2005/08 version.

Thus the native WS-A version used by CXF is 2005/08, but the capability is also provided to
transform to another specific version on the wire. CXF WS-RM is hard-coded to use this capability
to force usage of WS-A 2004/08 (as required by the target WS-RM spec http://specs.xmlsoap.org/ws/2005/02/rm/ws-reliablemessaging.pdf).

Now, leaving WS-RM aside for a second, the normal server-side CXF WS-A behavior is to respond
to incoming WS-A-mediated messages using the *same* WS-A version, if this version is supported.

But in the WS-RM case, this "respond in kind" logic is programmatically over-ridden to force
usage of WS-A 2004/08.

Now the question in my mind is whether CXF is effectively mandated to behave this way by the
explicit basing of the WS-RM 1.0 spec on WS-A 2004/08. 

What is the target WS-RM supported by the WCF client? If this is WS-RM 1.0, then is WCF acting
ultra-vires by using WS-A 2005/08? Or if WCF supports WS-RM 1.1 by default, can this version
be rolled back to 1.0 as to facilitate interop with CXF?

> 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.


Mime
View raw message