Hi Sergey,

It looks like WCF is using the same variation of WS-ReliableMessaging
1.0 as Metro (no surprise, since Metro usually follows WCF in
everything). The upcoming 2.5 release of CXF will support this
variation, along with standard WS-RM 1.1/1.2.

I've tested the WS-RM 1.0 variation code with Metro, though not yet with
WCF. If you're interested in trying it out using a nightly build, you
currently need to set a flag in your client code to turn on the
http://www.w3.org/2005/08/addressing namespace:

       
provider.getRequestContext().put(RMManager.WSRM_WSA_VERSION_PROPERTY,
Names.WSA_NAMESPACE_NAME);

It'd be great if you would try this out and confirm that it works with WCF.

Thanks,

  - Dennis

Dennis M. Sosnoski
Java SOA and Web Services Consulting <http://www.sosnoski.com/consult.html>
Axis2/CXF/Metro SOA and Web Services Training
<http://www.sosnoski.com/training.html>
Web Services Jump-Start <http://www.sosnoski.com/jumpstart.html>


On 10/10/2011 11:37 PM, Zhemzhitsky Sergey wrote:
> Hi there,
>
> I'm using CXF 2.4.2 and I'm wondering whether it is possible to make 
> WS-ReliableMessaging work between CXF and WCF.
>
> It seems that WCF service does not understand requests from CXF because they 
> look like this
> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope";>
>     <soap:Header>
>         <Action 
> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing";>http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</Action>
>         <MessageID 
> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing";>urn:uuid:c84a45d6-27df-4ce1-a517-6fe22d5b58cb</MessageID>
>         <To 
> xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing";>https://localhost:8089/CodexService/main/</To>
>         <ReplyTo xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing";>
>             
> <Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</Address>
>         </ReplyTo>
>     </soap:Header>
>     <soap:Body>
>         <CreateSequence xmlns="http://schemas.xmlsoap.org/ws/2005/02/rm"; 
> xmlns:ns2="http://schemas.xmlsoap.org/ws/2004/08/addressing";>
>             <AcksTo>
>                 
> <ns2:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</ns2:Address>
>             </AcksTo>
>             <Expires>PT0S</Expires>
>             <Offer>
>                 
> <Identifier>urn:uuid:9931e221-5bbe-44c8-a365-9de5304b5544</Identifier>
>                 <Expires>PT0S</Expires>
>             </Offer>
>         </CreateSequence>
>     </soap:Body>
> </soap:Envelope>
>
> However requests from .NET client look like this and they can be handled 
> successfully:
> <s:Envelope xmlns:s="http://www.w3.org/2003/05/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:9e0fb500-eba8-40a0-8855-7c25fc930e58</a:MessageID>
>         <a:To 
> s:mustUnderstand="1">https://localhost:8089/CodexService/main</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:0d2dc269-1ecf-452c-98ff-7e9a0c591015</Identifier>
>             </Offer>
>         </CreateSequence>
>     </s:Body>
> </s:Envelope>
>
> As you can see the requests are different.
>
> Here is part of WSDL with WS-RM policies
>
> <wsrm:RMAssertion 
> xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm/policy";>
>     <wsrm:InactivityTimeout Milliseconds="600000" />
>     <wsrm:AcknowledgementInterval Milliseconds="5000" />
> </wsrm:RMAssertion>
>
> So the question is how to make CXF compatible with WCF service? And how to 
> make it use http://www.w3.org/2005/08/addressing/anonymous address instead of 
> http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous?
>
> Best Regards,
> Sergey Zhemzhitsky
>
>
> _______________________________________________________
>
> The information contained in this message may be privileged and conf idential 
> and protected from disclosure. If you are not the original intended 
> recipient, you are hereby notified that any review, retransmission, 
> dissemination, or other use of, or taking of any action in reliance upon, 
> this information is prohibited. If you have received this communication in 
> error, please notify the sender immediately by replying to this message and 
> delete it from your computer. Thank you for your cooperation. Troika Dialog, 
> Russia. 
> If you need assistance please contact our Contact Center  (+7495) 258 0500 or 
> go to www.troika.ru/eng/Contacts/system.wbp  
>
>

Reply via email to