Hi,
I have a test that initializes a cxf bus, and then goes on to create a
JAX-WS service + client and enable WS-RM using the "features" API.
However, the server side seems to no have "WS-Addressing" and "WS-RM"
enabled. The code looks like:
JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
factory.getFeatures().add(new WSAddressingFeature());
-> factory.getFeatures().add(new RMFeature());
// ...
Server hwServer = factory.create();
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.getFeatures().add(new WSAddressingFeature());
-> factory.getFeatures().add(new RMFeature());
// ...
HelloWorld hwClient = (HelloWorld)factory.create();
The invocation from hwClient to the hwServer fails with:
11 Νοε 2009 3:44:53 μμ org.apache.cxf.ws.rm.Proxy invoke
INFO: Sending out-of-band RM protocol message
{http://schemas.xmlsoap.org/ws/2005/02/rm}CreateSequence.
11 Νοε 2009 3:44:53 μμ org.apache.cxf.ws.addressing.ContextUtils
retrieveMAPs
WARNING: WS-Addressing - failed to retrieve Message Addressing
Properties from context
11 Νοε 2009 3:44:53 μμ org.apache.cxf.phase.PhaseInterceptorChain
doIntercept
WARNING: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Message part
{http://schemas.xmlsoap.org/ws/2005/02/rm}CreateSequence was not
recognized. (Does it exist in service WSDL?)
at
org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:184)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:312)
at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:276)
at
org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:930)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:747)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)