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#to87

Is 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

Reply via email to