Hi, you mean we should do the catch in unwind so that we can continue unwinding if this kind of exception is thrown during unwinding?
I think that would makes sense. I saw today that the unwind method stops unwinding when a runtime exception is thrown. any comments from others? thanks. regards, aki 2013/2/18 XiLai Dai <[email protected]>: > 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
