[ https://issues.apache.org/jira/browse/CXF-6665?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14991991#comment-14991991 ]
Akitoshi Yoshida commented on CXF-6665: --------------------------------------- Here is a short update and the info about this problem. The relevant code that brought this regression to 2.7.x is about handling a non-conformant soap 1.2 multipart request header that does not set the start-info and action properties. So, the code itself is normally never executed, assuming most clients follow the relevant specs and set these properties. We have tested this code for CXF 3.1.x and 3.0.x at that time and have some test cases. However, in CXF 2.7.x, this code was integrated incorrectly and didn't expose this issue earlier. We will fix this issue for 2.7.x. > ClassCastException in SoapActionInInterceptor > --------------------------------------------- > > Key: CXF-6665 > URL: https://issues.apache.org/jira/browse/CXF-6665 > Project: CXF > Issue Type: Bug > Components: Soap Binding > Affects Versions: 2.7.17 > Reporter: Tom Cunningham > Assignee: Akitoshi Yoshida > > Seeing a ClassCastException in SoapActionInInterceptor after upgrading to cxf > 2.7.17. I do not see this error in previous versions of CXF - it looks > like this is caused by the changes in CXF-6433. > 02:54:00,882 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) -- This message was sent by Atlassian JIRA (v6.3.4#6332)