Hello, We are upgrading our CXF from 2.3.x to 2.5.x. We have our WebServiceProviders implemented. Our components run in OSGi. Everything is fine in 2.3.x where we used to embed CXF jars in our OSGi bundle.
Now, we want to use CXF bundles from OSGi thus making our service jars thin. Our WSDL is inside the bundle. So, after migration, these resources are not visible to the outside CXF. So, we tried to handle this with 2 different apporaches 1. jaxwsCxfFactoryBean.setWSDLURL - service started successfully 2. In our WS provider impl, the annotation attribute wsdlLocation = "http://....../ourWSDL" - service started successfully Both approaches made the service start but both have one main problem. When we open the ?wsdl endpoint on the browser, it throws a 500 error & we could see the following stacktrace on the server log. What I think is happening is that, the ?wsdl request is being handle by CXF as a SOAP call rather than a request for the WSDL document. Why could this be happening? [qtp17003719-152 - /node/wsman?wsdl] phase.PhaseInterceptorChain --- - Interceptor for -http://test/node}Node has thrown exception, unwinding now. org.apache.cxf.interceptor.Fault: None of the policy alternatives can be satisfied. at org.apache.cxf.ws.policy.AbstractPolicyInterceptor.handleMessage(AbstractPolicyInterceptor.java:47)[131 rg.apache.cxf.bundle:2.5.2] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)[131 rg.apache.cxf.bundle:2.5.2] at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:123)[131 rg.apache.cxf.bundle:2.5.2] at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:323)[131 rg.apache.cxf.bundle:2.5.2] at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:289)[131 rg.apache.cxf.bundle:2.5.2] at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:72)[131 rg.apache.cxf.bundle:2.5.2] at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:943)[99 rg.eclipse.jetty.server:7.5.4.v20111024] at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:879)[99 rg.eclipse.jetty.server:7.5.4.v20111024] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)[99 rg.eclipse.jetty.server:7.5.4.v20111024] at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)[99 rg.eclipse.jetty.server:7.5.4.v20111024] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)[99 rg.eclipse.jetty.server:7.5.4.v20111024] at org.eclipse.jetty.server.Server.handle(Server.java:345)[99 rg.eclipse.jetty.server:7.5.4.v20111024] at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441)[99 rg.eclipse.jetty.server:7.5.4.v20111024] at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:919)[99 rg.eclipse.jetty.server:7.5.4.v20111024] at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:582)[95 rg.eclipse.jetty._http:7.5.4.v20111024] at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218)[95 rg.eclipse.jetty._http:7.5.4.v20111024] at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51)[99 rg.eclipse.jetty.server:7.5.4.v20111024] at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586)[94 rg.eclipse.jetty.io:7.5.4.v20111024] at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:44)[94 rg.eclipse.jetty.io:7.5.4.v20111024] at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)[93 rg.eclipse.jetty.util:7.5.4.v20111024] at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)[93 rg.eclipse.jetty.util:7.5.4.v20111024] at java.lang.Thread.run(Unknown Source)[:1.6.0_17] Caused by: org.apache.cxf.ws.policy.PolicyException: None of the policy alternatives can be satisfied. at org.apache.cxf.ws.policy.EffectivePolicyImpl.chooseAlternative(EffectivePolicyImpl.java:171)[131 rg.apache.cxf.bundle:2.5.2] at org.apache.cxf.ws.policy.EffectivePolicyImpl.chooseAlternative(EffectivePolicyImpl.java:164)[131 rg.apache.cxf.bundle:2.5.2] at org.apache.cxf.ws.policy.EffectivePolicyImpl.initialise(EffectivePolicyImpl.java:109)[131 rg.apache.cxf.bundle:2.5.2] at org.apache.cxf.ws.policy.PolicyEngineImpl.getEffectiveServerRequestPolicy(PolicyEngineImpl.java:327)[131 rg.apache.cxf.bundle:2.5.2] at org.apache.cxf.ws.policy.EndpointPolicyImpl.initializeInterceptors(EndpointPolicyImpl.java:296)[131 rg.apache.cxf.bundle:2.5.2] at org.apache.cxf.ws.policy.EndpointPolicyImpl.getInterceptors(EndpointPolicyImpl.java:126)[131 rg.apache.cxf.bundle:2.5.2] at org.apache.cxf.ws.policy.PolicyInInterceptor.handle(PolicyInInterceptor.java:140)[131 rg.apache.cxf.bundle:2.5.2] at org.apache.cxf.ws.policy.AbstractPolicyInterceptor.handleMessage(AbstractPolicyInterceptor.java:45)[131 rg.apache.cxf.bundle:2.5.2] ... 21 more 2012-02-07 15:25:41,312 WARN [qtp17003719-152 - /node/wsman?wsdl] addressing.ContextUtils --- - WS-Addressing - failed to retrieve Message Addressing Properties from context. 2012-02-07 15:25:41,312 WARN [qtp17003719-152 - /node/wsman?wsdl] addressing.ContextUtils --- - WS-Addressing - failed to retrieve Message Addressing Properties from context. 2012-02-07 15:25:41,312 WARN [qtp17003719-152 - /node/wsman?wsdl] addressing.ContextUtils --- - WS-Addressing - failed to retrieve Message Addressing Properties from context. Any help is greatly appreciated. Thanks & Regards, Anil
