So the SoapActionInInterceptor#getSoapAction() explicitly casts the
message.get("javax.mail.internet.InternetHeaders") to java.util.Map
here:
https://fisheye6.atlassian.com/browse/cxf/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapActionInInterceptor.java?hb=true#to87Is this working on any platform? At least it's not working on standalone jetty as it returns the javax.mail.internet.InternetHeaders object which is not assignable to java.util.Map. -- IGARASHI Tomohisa mailto:[email protected] On Wed, Nov 4, 2015 at 4:15 PM, Tomohisa Igarashi <[email protected]> wrote: > Hi, > > I'm getting following error after updating CXF soap binding from > 2.7.16 to 2.7.17. Is there something should be done before the update? > > 14:44:39,441 WARN [org.apache.cxf.phase.PhaseInterceptorChain] > Interceptor for > {urn:switchyard-quickstart:soap-attachment:1.0}ImageServiceService has > thrown exception, unwinding now > java.lang.ClassCastException: javax.mail.internet.InternetHeaders > cannot be cast to java.util.Map > at > org.apache.cxf.binding.soap.interceptor.SoapActionInInterceptor.getSoapAction(SoapActionInInterceptor.java:86) > at > org.apache.cxf.binding.soap.interceptor.SoapActionInInterceptor.handleMessage(SoapActionInInterceptor.java:121) > at > org.apache.cxf.binding.soap.interceptor.SoapActionInInterceptor.handleMessage(SoapActionInInterceptor.java:45) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272) > at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) > at > org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:355) > at > org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:319) > at > org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:66) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1088) > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1024) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) > at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255) > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) > at org.eclipse.jetty.server.Server.handle(Server.java:370) > at > org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494) > at > org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982) > at > org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043) > at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865) > at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240) > at > org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) > at > org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667) > at > org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) > at java.lang.Thread.run(Thread.java:745) > > > The application is here (using JBoss SwitchYard): > https://github.com/jboss-switchyard/quickstarts/tree/master/soap-attachment > > Thanks, > Tomo
