axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Todd Doolittle (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2-1124) Axis servlet throws null pointer when SOAPAction is ""
Date Mon, 11 Sep 2006 20:28:22 GMT
    [ http://issues.apache.org/jira/browse/AXIS2-1124?page=comments#action_12433971 ] 
            
Todd Doolittle commented on AXIS2-1124:
---------------------------------------


I can test it.  Will it be in tonight's nightly build?  If so, I'll grab it tomorrow morning
and give it a shot.  If not, let me know how to get your changes.

Thanks!
Todd

> Axis servlet throws null pointer when SOAPAction is ""
> ------------------------------------------------------
>
>                 Key: AXIS2-1124
>                 URL: http://issues.apache.org/jira/browse/AXIS2-1124
>             Project: Apache Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: core
>         Environment: Java 1.4.2, Tomcat 4, Axis 2 nightly build from 9/7/2006
>            Reporter: Todd Doolittle
>         Assigned To: Deepal Jayasinghe
>            Priority: Blocker
>
> This problem occurs with the latest nightly build.
> In issue 1103 a bug was fixed that was causing a SOAP client to set the SOAPAction header
to the operation name even though the WSDL used to create the stub specified that the SOAPAction
was to be "" (empy string).  This worked and now when the WSDL specifies a SOAPAction of "",
the client sets the header appropriately.
> However now an Axis 2 service generated from the same WSDL receiving a message with a
SOAPAction of "" throws a null pointer exception.  To illustrate the problem I created some
simple WSDL for an "echo" service that specifies a soapaction="".  If you use the latest nightly
build to generate a service and client from the WSDL and don't change anything else you should
receive an UnsupportedOperationException thrown by the skeleton since you never implemented
the business logic.  Instead when the service receives the SOAP message, it will puke on the
empty SOAPAction header and throw a NullPointerException.  Below is the WSDL.  Below that
is a stack trace.  
> <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>   name="Echo" targetNamespace="http://tempuri.org/"
>   xmlns:fjs="http://tempuri.org/"
>   xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>   xmlns:xsd="http://www.w3.org/2001/XMLSchema">
>   <wsdl:types>
>     <xsd:schema elementFormDefault="qualified"
>       targetNamespace="http://tempuri.org/"
>       xmlns:s1="http://tempuri.org/">
>       <xsd:element name="StringToEcho" type="xsd:string" />
>       <xsd:element name="EchoedString" type="xsd:string" />
>     </xsd:schema>
>   </wsdl:types>
>   <wsdl:message name="echoStringIn">
>     <wsdl:part element="fjs:StringToEcho" name="parameters" />
>   </wsdl:message>
>   <wsdl:message name="echoStringOut">
>     <wsdl:part element="fjs:EchoedString" name="parameters" />
>   </wsdl:message>
>   <wsdl:portType name="EchoPortType">
>     <wsdl:operation name="echoString">
>       <wsdl:input message="fjs:echoStringIn" name="StringToEcho" />
>       <wsdl:output message="fjs:echoStringOut" name="EchoedString" />
>     </wsdl:operation>
>   </wsdl:portType>
>   <wsdl:binding name="EchoBinding" type="fjs:EchoPortType">
>     <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
>     <wsdl:operation name="echoString">
>       <soap:operation soapAction="" style="document" />
>       <wsdl:input name="StringToEcho">
>         <soap:body use="literal" />
>       </wsdl:input>
>       <wsdl:output name="EchoedString">
>         <soap:body use="literal" />
>       </wsdl:output>
>     </wsdl:operation>
>   </wsdl:binding>
>   <wsdl:service name="Echo">
>     <wsdl:port binding="fjs:EchoBinding" name="EchoPortType">
>       <soap:address location="http://localhost:8080/axis2/services/Echo" />
>     </wsdl:port>
>   </wsdl:service>
> </wsdl:definitions>
> INFO: Received Error Message with id urn:uuid:ADD3D958422E63BE8411577144782181
> Exception in thread "main" org.apache.axis2.AxisFault: java.lang.NullPointerException
> 	at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:298)
> 	at org.tempuri.EchoStub.echoString(EchoStub.java:138)
> 	at Axis2ClientTest.main(Axis2ClientTest.java:20)
> ^^^^^^^^^^^^^^^^^^^^^^^ The above part of the stack trace is my client reporting the
returned AxisFault,  below is the service portion of the stack track.
> Caused by: java.lang.Exception: org.apache.axis2.AxisFault: java.lang.NullPointerException;
nested exception is: 
> 	java.lang.NullPointerException
> 	at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:241)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
> 	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
> 	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
> 	at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
> 	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
> 	at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
> 	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
> 	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
> 	at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
> 	at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
> 	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
> 	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
> 	at java.lang.Thread.run(Thread.java:534)
> Caused by: java.lang.NullPointerException
> 	at org.apache.axis2.addressing.AddressingHelper.getAnonymousParameterValue(AddressingHelper.java:78)
> 	at org.apache.axis2.handlers.addressing.AddressingWSDLValidationHandler.checkAnonymous(AddressingWSDLValidationHandler.java:71)
> 	at org.apache.axis2.handlers.addressing.AddressingWSDLValidationHandler.invoke(AddressingWSDLValidationHandler.java:43)
> 	at org.apache.axis2.engine.Phase.invoke(Phase.java:377)
> 	at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:517)
> 	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:488)
> 	at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:309)
> 	at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:201)
> 	... 31 more
> 	at org.apache.axis2.AxisFault.<init>(AxisFault.java:159)
> 	... 3 more

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message