Hi,

There is a jaxrs server defined like this in spring:
         <jaxrs:server id="orderRESTService" address="/rest"
              xmlns:serviceNamespace="http://common.demo/";
         serviceName="serviceNamespace:OrderService">
                   <jaxrs:serviceBeans>
                            <ref bean="orderService" />
                   </jaxrs:serviceBeans>
         </jaxrs:server>

It works well but will throw ClassCastException when adding wsa:addressing 
feature into <jaxrs:server>:
                   <jaxrs:features>
                            <wsa:addressing 
xmlns:wsa="http://cxf.apache.org/ws/addressing"/>
                   </jaxrs:features>

The exception looks like:
Caused by: java.lang.ClassCastException: org.apache.cxf.message.XMLMessage 
cannot be cast to org.apache.cxf.binding.soap.SoapMessage
         at 
org.apache.cxf.ws.addressing.soap.MAPCodec.handleFault(MAPCodec.java:78)
         at 
org.apache.cxf.phase.PhaseInterceptorChain.unwind(PhaseInterceptorChain.java:440)
         at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:306)
         at 
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
         at 
org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
         at 
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:218)
         at 
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:163)
         at 
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137)
         at 
org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:158)
         at 
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:243)
         at 
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:168)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
         at 
org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:219)
         ... 32 more

I know for REST service it makes no sense adding WS-Addressing support, but 
maybe MAPCodec should be made some improvement to check in this case?

Thanks!
Xilai

Reply via email to