You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Ilon Sjögren <il...@gmail.com> on 2008/04/05 18:48:32 UTC

Interceptor throwing exception

Hello.

I'm having problems with one function on my webservice, running
apache-cxf-2.0.4-incubator, this is the error i receive from the
endpointserver:

2008-apr-05 18:32:43 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
INFO: Interceptor has thrown exception, unwinding now
java.lang.NullPointerException
    at
org.apache.cxf.binding.soap.interceptor.SoapActionInInterceptor.getAndSetOperation(SoapActionInInterceptor.java:100)
    at
org.apache.cxf.binding.soap.interceptor.SoapActionInInterceptor.handleMessage(SoapActionInInterceptor.java:58)
    at
org.apache.cxf.binding.soap.interceptor.SoapActionInInterceptor.handleMessage(SoapActionInInterceptor.java:40)
    at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:208)
    at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:77)
    at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:297)
    at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:243)
    at
org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:54)
    at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
    at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
    at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
    at org.mortbay.jetty.Server.handle(Server.java:324)
    at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
    at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:730)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
    at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
    at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)


and this is the error on the servlet:

2008-apr-05 18:32:43 org.apache.catalina.core.StandardWrapperValve invoke
ALLVARLIG: Servlet.service() for servlet ShowHotels threw exception
javax.xml.ws.soap.SOAPFaultException: Fault occurred while processing.
    at
org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.createSystemException(MethodMarshallerUtils.java:1192)
    at
org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:943)
    at
org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:352)
    at
org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:386)
    at
org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:362)
    at
org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:284)
    at
org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:141)
    at $Proxy31.getCityAvailability(Unknown Source)
    at com.vizi.appserver.conn.AppCon.getCityAvailability(AppCon.java:68)
    at ShowHotels.getCityAvailability(ShowHotels.java:162)
    at ShowHotels.doGet(ShowHotels.java:106)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
    at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source)

the request is being sent to the endpoint as excpected, but returns:

HTTP/1.1 500 Internal Server Error
Content-Type: text/xml; charset=utf-8
Content-Length: 227
Server: Jetty(6.1.6)

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <soap:Fault>
         <faultcode>soap:Server</faultcode>
         <faultstring>Fault occurred while processing.</faultstring>
      </soap:Fault>
   </soap:Body></soap:Envelope>


Anyone able to help me with this, or point me out to where i might find an
answer?
-- 
vuln.se

Re: Interceptor throwing exception

Posted by Daniel Kulp <dk...@apache.org>.

Hmm....   Looks like the axis client isn't sending a SOAPAction header 
like it's supposed too.   That said, we should be a bit more defensive 
in that interceptor.   We check if the action is an empty string, but we 
don't check if it's null.   I'll update the interceptor to do that.

Dan


On Saturday 05 April 2008, Ilon Sjögren wrote:
> Hello.
>
> I'm having problems with one function on my webservice, running
> apache-cxf-2.0.4-incubator, this is the error i receive from the
> endpointserver:
>
> 2008-apr-05 18:32:43 org.apache.cxf.phase.PhaseInterceptorChain
> doIntercept INFO: Interceptor has thrown exception, unwinding now
> java.lang.NullPointerException
>     at
> org.apache.cxf.binding.soap.interceptor.SoapActionInInterceptor.getAnd
>SetOperation(SoapActionInInterceptor.java:100) at
> org.apache.cxf.binding.soap.interceptor.SoapActionInInterceptor.handle
>Message(SoapActionInInterceptor.java:58) at
> org.apache.cxf.binding.soap.interceptor.SoapActionInInterceptor.handle
>Message(SoapActionInInterceptor.java:40) at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercepto
>rChain.java:208) at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitia
>tionObserver.java:77) at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceReques
>t(JettyHTTPDestination.java:297) at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(Jet
>tyHTTPDestination.java:243) at
> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPH
>andler.java:54) at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:72
>2) at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandl
>erCollection.java:206) at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:13
>9) at org.mortbay.jetty.Server.handle(Server.java:324)
>     at
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505
>) at
> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection
>.java:842) at
> org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:730) at
> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) at
> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.jav
>a:395) at
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.
>java:450)
>
>
> and this is the error on the servlet:
>
> 2008-apr-05 18:32:43 org.apache.catalina.core.StandardWrapperValve
> invoke ALLVARLIG: Servlet.service() for servlet ShowHotels threw
> exception javax.xml.ws.soap.SOAPFaultException: Fault occurred while
> processing. at
> org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.creat
>eSystemException(MethodMarshallerUtils.java:1192) at
> org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demar
>shalFaultResponse(MethodMarshallerUtils.java:943) at
> org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.
>demarshalFaultResponse(DocLitBareMethodMarshaller.java:352) at
> org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse
>(JAXWSProxyHandler.java:386) at
> org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(J
>AXWSProxyHandler.java:362) at
> org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(
>JAXWSProxyHandler.java:284) at
> org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProx
>yHandler.java:141) at $Proxy31.getCityAvailability(Unknown Source)
>     at
> com.vizi.appserver.conn.AppCon.getCityAvailability(AppCon.java:68) at
> ShowHotels.getCityAvailability(ShowHotels.java:162)
>     at ShowHotels.doGet(ShowHotels.java:106)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
>cationFilterChain.java:290) at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
>lterChain.java:206) at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
>lve.java:233) at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
>lve.java:175) at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
>va:128) at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
>va:102) at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:5
>68) at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
>e.java:109) at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
>:286) at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
>844) at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proces
>s(Http11Protocol.java:583) at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447
>) at java.lang.Thread.run(Unknown Source)
>
> the request is being sent to the endpoint as excpected, but returns:
>
> HTTP/1.1 500 Internal Server Error
> Content-Type: text/xml; charset=utf-8
> Content-Length: 227
> Server: Jetty(6.1.6)
>
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
>    <soap:Body>
>       <soap:Fault>
>          <faultcode>soap:Server</faultcode>
>          <faultstring>Fault occurred while processing.</faultstring>
>       </soap:Fault>
>    </soap:Body></soap:Envelope>
>
>
> Anyone able to help me with this, or point me out to where i might
> find an answer?



-- 
J. Daniel Kulp
Principal Engineer, IONA
dkulp@apache.org
http://www.dankulp.com/blog