Hi Bryan,
CXF supports WS-RM 1.0, AKA 2005/02[1]. As you probably know, this is based on the 2004/08 version of WS-A. In fact, the CXF support for multiple WS-A versions was added specifically to facilitate WS-RM, whereas previously we supported only the then-current 2005/08 version of WS-A. So currently we support WS-A 2005/08 natively throughout, and use this version also by default on the wire. In addition, we provide a programmatic mechanism to use 2004/08 as the "exposed" version of WS-A, i.e. the version tranformed to before encoding in the outgoing payload (or transformed from after decoding from the incoming payload). Now as things currently stand, the CXF WS-RM layer is hard-coded to set this exposed WS-A version to 2004/08 (as required by the RM 1.0 spec). As Dan mentioned earlier in this thread, we took part in an MS WS-* interop plugfest in Redmond back in the summer of 2007. At that point WCF was perfectly happy with WS-A 2004/08 alongside WS-RM 2005/02. In fact I just dug out the reliable messaging test plan distributed to participants before the event, and it explicitly calls for WS-A version 2004/08 to be used. Now obviously things have changed in the meantime with WCF. While I think WCF is acting ultra-vires in this respect, in the interest of maximizing interoperability, I guess we could allow CXF WS-RM to work around the issue, by configurably falling back on WS-A 2005/08. Let me know if you would be interested in such a work-around. Cheers, Eoghan [1] http://specs.xmlsoap.org/ws/2005/02/rm/ws-reliablemessaging.pdf -----Original Message----- From: Bryan Kearney [mailto:[email protected]] Sent: Thu 12/03/2009 13:25 To: Daniel Kulp Cc: [email protected]; Wolf, Chris (IDEAS) Subject: Re: WS-Security interop with WCF Daniel Kulp wrote: > > On Wed March 11 2009 3:06:33 pm Bryan Kearney wrote: >> have you gotten Reliable messaging ond addressing working yet? > > Honestly, I PERSONALLY haven't done any testing with RM. Eoghan may have, > I'm > not really sure. > > That said, a couple years ago, IONA did participate in one of the MS plugfest > things [1] and supposedly got the RM tests to pass. That said, I THINK it > was just the wsrm2004 stuff, at least that's the name of the directory with > the code in it. :-) > > Unfortunately, all the test code and configuration is "owned" by Progress > right now so I cannot distribute it. I'm going to see what I can do about > that, but no promises. First step is trying to find the right people to > ask. > :-( > > Specifically, that error looks like the wsa:Action isn't being set correctly > from ws-rm. That should definitely be looked at/fixed. (and patches are > most welcome) > It appears to be related to the namespace of wsAddresing. The M$ stuff is sending in the following: <a:Action s:mustUnderstand="1"> http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence </a:Action> where xmlns:a="http://www.w3.org/2005/08/addressing" Where a cxf client sends in: <Action xmlns="http://schemas.xmlsoap.org/ws/2004/08/addressing"> http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence </Action> I dont see that I have control over this setting in either CXF of M$. Is that something I can control? What I see when the M$ client calls in is the following stack trace on the server (related to converting): 2009-03-12 08:51:55,066 ERROR [STDERR] (http-hattrick.usersys.redhat.com%2F10.11.231.22-8080-1) java.lang.NullPointerException 2009-03-12 08:51:55,067 ERROR [STDERR] (http-hattrick.usersys.redhat.com%2F10.11.231.22-8080-1) at org.apache.cxf.ws.addressing.VersionTransformer.convert(VersionTransformer.java:137) 2009-03-12 08:51:55,067 ERROR [STDERR] (http-hattrick.usersys.redhat.com%2F10.11.231.22-8080-1) at org.apache.cxf.ws.addressing.VersionTransformer.convert(VersionTransformer.java:248) 2009-03-12 08:51:55,067 ERROR [STDERR] (http-hattrick.usersys.redhat.com%2F10.11.231.22-8080-1) at org.apache.cxf.ws.rm.Servant.createSequence(Servant.java:142) 2009-03-12 08:51:55,067 ERROR [STDERR] (http-hattrick.usersys.redhat.com%2F10.11.231.22-8080-1) at org.apache.cxf.ws.rm.Servant.invoke(Servant.java:68) 2009-03-12 08:51:55,067 ERROR [STDERR] (http-hattrick.usersys.redhat.com%2F10.11.231.22-8080-1) at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:56) 2009-03-12 08:51:55,067 ERROR [STDERR] (http-hattrick.usersys.redhat.com%2F10.11.231.22-8080-1) at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37) 2009-03-12 08:51:55,067 ERROR [STDERR] (http-hattrick.usersys.redhat.com%2F10.11.231.22-8080-1) at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:92) 2009-03-12 08:51:55,067 ERROR [STDERR] (http-hattrick.usersys.redhat.com%2F10.11.231.22-8080-1) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:226) 2009-03-12 08:51:55,068 ERROR [STDERR] (http-hattrick.usersys.redhat.com%2F10.11.231.22-8080-1) at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89) 2009-03-12 08:51:55,068 ERROR [STDERR] (http-hattrick.usersys.redhat.com%2F10.11.231.22-8080-1) at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:99) 2009-03-12 08:51:55,068 ERROR [STDERR] (http-hattrick.usersys.redhat.com%2F10.11.231.22-8080-1) at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:305) 2009-03-12 08:51:55,068 ERROR [STDERR] (http-hattrick.usersys.redhat.com%2F10.11.231.22-8080-1) at org.jboss.wsf.stack.cxf.ServletControllerExt.invoke(ServletControllerExt.java:160) 2009-03-12 08:51:55,068 ERROR [STDERR] (http-hattrick.usersys.redhat.com%2F10.11.231.22-8080-1) at org.jboss.wsf.stack.cxf.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:61) 2009-03-12 08:51:55,068 ERROR [STDERR] (http-hattrick.usersys.redhat.com%2F10.11.231.22-8080-1) at org.jboss.wsf.stack.cxf.CXFServletExt.service(CXFServletExt.java:134) 2009-03-12 08:51:55,068 ERROR [STDERR] (http-hattrick.usersys.redhat.com%2F10.11.231.22-8080-1) at javax.servlet.http.HttpSe -- bk
