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