Details
Description
When making a call to an unsupported WS-*service (i.e. ws-transfer) a null pointer occurs in HolderInInterceptor.
A client issued the following request:
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"
xmlns:a="http://www.w3.org/2005/08/addressing"><s:Header><a:Action
s:mustUnderstand="1">http://schemas.xmlsoap.org/ws/2004/09/transfer/Get</a:
Action><a:MessageID>urn:uuid:b2849fc9-6679-44d7-ae62-3f6c64744ae0</a:Messag
eID><a:ReplyTo><a:Address>http://www.w3.org/2005/08/addressing/anonymous</a
:Address></a:ReplyTo><a:To
s:mustUnderstand="1">http://dhtcmrl1:8080/test-service/Customer?wsdl/mex</
a:To></s:Header><s:Body/></s:Envelope>
Which resulted in the following error in the server logs:
PhaseInterceptorChain - Interceptor for
{http://customer.service.test.co.uk/}CustomerServiceImplService has thrown
exception, unwinding now
java.lang.NullPointerException
at
org.apache.cxf.jaxws.interceptors.HolderInInterceptor.handleMessage(HolderI
nInterceptor.java:50) at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChai
n.java:247) at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationO
bserver.java:113) at
org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestinati
on.java:97) at
org.apache.cxf.transport.servlet.ServletController.invokeDestination(Servle
tController.java:458) at
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController
.java:185) at
org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServl
et.java:148) at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(Abstract
HTTPServlet.java:179) at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPSer
vlet.java:103) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPSe
rvlet.java:159) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicatio
nFilterChain.java:290) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterC
hain.java:206) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.j
ava:233) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.j
ava:191) at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:12
7) at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:10
2) at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.jav
a:109) at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Htt
p11Protocol.java:588) at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at
java.lang.Thread.run(Thread.java:619)
2010-11-08 11:43:17,826 INFO [http-8080-1] Soap12FaultOutInterceptor -
class
org.apache.cxf.binding.soap.interceptor.Soap12FaultOutInterceptor$Soap12Fa
ultOutInterceptorInternalapplication/soap+xml