You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Todd Doolittle (JIRA)" <ji...@apache.org> on 2006/09/08 13:22:23 UTC

[jira] Created: (AXIS2-1124) Axis servlet throws null pointer when SOAPAction is ""

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


[jira] Assigned: (AXIS2-1124) Axis servlet throws null pointer when SOAPAction is ""

Posted by "Eran Chinthaka (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-1124?page=all ]

Eran Chinthaka reassigned AXIS2-1124:
-------------------------------------

    Assignee: Eran Chinthaka  (was: Deepal Jayasinghe)

> 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: Eran Chinthaka
>            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


[jira] Commented: (AXIS2-1124) Axis servlet throws null pointer when SOAPAction is ""

Posted by "Todd Doolittle (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-1124?page=comments#action_12433930 ] 
            
Todd Doolittle commented on AXIS2-1124:
---------------------------------------


Deepal,

I just downloaded the latest night release of the libraries and axis.war and I get the same results (NullPointerException) as above.   Below I went through the steps I used to recreate the problem.  I know it's related to the SOAPAction being "".  If I change the WSDL so that the client will send a SOAPAction other than "" it works fine.

I used the above WSDL.  I used the following command to create the service...
WSDL2Java -ss -sd -uri test.wsdl -o .

I used the following command to create the client...
WSDL2Java -s -uri test.wsdl -o .

I created a client class to instantiate the stub and make the call:
import org.tempuri.EchoStub;
import org.tempuri.EchoStub.EchoedString;
import org.tempuri.EchoStub.StringToEcho;

public class Axis2ClientTest
{

    public static void main(String[] args) throws Exception
    {
        EchoStub echo = new EchoStub("http://localhost:8090/axis2/services/Echo");

        StringToEcho myString = new StringToEcho();
        myString.setStringToEcho("Hello There!");
        EchoedString returnString = echo.echoString(myString);
        System.out.println("returnString = " + returnString.getEchoedString());
        
    }
}

I deployed the service to Tomcat 4 (using the latest nightly build axis.war).

When I run the client I the following Envelope is send from the client to the service...
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope
  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Header />
  <soapenv:Body>
    <ns1:StringToEcho xmlns:ns1="http://tempuri.org/">Hello There!</ns1:StringToEcho>
  </soapenv:Body>
</soapenv:Envelope>


The client receives an Axis Fault which contains the NullPointerException that occured in the Axis Servlet.  The stack trace is show below...
Sep 11, 2006 2:46:31 PM org.apache.axis2.engine.AxisEngine receiveFault
INFO: Received Error Message with id urn:uuid:210AE1FE5339CAFB3C11580003905001
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:139)
	at Axis2ClientTest.main(Axis2ClientTest.java:14)
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:242)
	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:324)
	at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:202)
	... 31 more

	at org.apache.axis2.AxisFault.<init>(AxisFault.java:159)
	... 3 more



> 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


[jira] Assigned: (AXIS2-1124) Axis servlet throws null pointer when SOAPAction is ""

Posted by "Deepal Jayasinghe (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-1124?page=all ]

Deepal Jayasinghe reassigned AXIS2-1124:
----------------------------------------

    Assignee: Deepal Jayasinghe

> 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


[jira] Commented: (AXIS2-1124) Axis servlet throws null pointer when SOAPAction is ""

Posted by "Todd Doolittle (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-1124?page=comments#action_12434157 ] 
            
Todd Doolittle commented on AXIS2-1124:
---------------------------------------


I tested this with the latest nightly build.  I no longer get the NullPointerException.  But now I'm getting "AxisFault: Operation Not found EPR is http://localhost:8080/axis2/services/Echo and WSA Action  = " see the full stack trace below.

This came up because I'm using Axis 2 to hit a non-java service from a vendor.  This service specifies an empty SOAPAction in the WSDL.  I'm assuming that is valid?

Here is the stack trace...

 Sep 12, 2006 9:21:25 AM org.apache.axis2.engine.AxisEngine receiveFault
INFO: Received Error Message with id urn:uuid:5BA47D4EED717E9C4C11580672843901
Exception in thread "main" org.apache.axis2.AxisFault: Operation Not found EPR is http://localhost:8080/axis2/services/Echo and WSA Action =  
	at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:298)
	at org.tempuri.EchoStub.echoString(EchoStub.java:139)
	at Axis2ClientTest.main(Axis2ClientTest.java:14)
Caused by: java.lang.Exception: org.apache.axis2.AxisFault: Operation Not found EPR is http://localhost:8080/axis2/services/Echo and WSA Action =  
	at org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:47)
	at org.apache.axis2.engine.Phase.invoke(Phase.java:392)
	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:324)
	at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:203)
	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)

	at org.apache.axis2.AxisFault.<init>(AxisFault.java:159)
	... 3 more


> 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


[jira] Commented: (AXIS2-1124) Axis servlet throws null pointer when SOAPAction is ""

Posted by "Eran Chinthaka (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-1124?page=comments#action_12433954 ] 
            
Eran Chinthaka commented on AXIS2-1124:
---------------------------------------

I fixed the place which this stacktrace claims to generate the NPE. Some wanna test it?

> 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


[jira] Commented: (AXIS2-1124) Axis servlet throws null pointer when SOAPAction is ""

Posted by "Deepal Jayasinghe (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-1124?page=comments#action_12433836 ] 
            
Deepal Jayasinghe commented on AXIS2-1124:
------------------------------------------

Hi  Todd Doolittle;
I checked with in the current SVN , and it seems it works for me . Can you please chcek and see whether is it working for you.

> 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


[jira] Commented: (AXIS2-1124) Axis servlet throws null pointer when SOAPAction is ""

Posted by "Todd Doolittle (JIRA)" <ji...@apache.org>.
    [ 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


[jira] Commented: (AXIS2-1124) Axis servlet throws null pointer when SOAPAction is ""

Posted by "Eran Chinthaka (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-1124?page=comments#action_12434212 ] 
            
Eran Chinthaka commented on AXIS2-1124:
---------------------------------------

Seems your request message lags information to identify the operation this message is destined. If possible paste the SOAP request you are sending, here. You can use the tcpmon tool to look in to the SOAP messages.

At the same time, this short article[1] might help you to understand what exaclty is happening. 

[1] : http://www.wso2.net/tutorials/axis2/java/2006/06/18/operation-service-message-is-destined-to

> 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: Eran Chinthaka
>            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


[jira] Commented: (AXIS2-1124) Axis servlet throws null pointer when SOAPAction is ""

Posted by "Todd Doolittle (JIRA)" <ji...@apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS2-1124?page=comments#action_12434227 ] 
            
Todd Doolittle commented on AXIS2-1124:
---------------------------------------


Eran,

Thanks!  That document was very informative.  I didn't understand that without a SOAPAction specified in the WSDL I would need to provide the service and operation name as part of the URL.  I tried it and it works correctly.  So now that it is no longer throwing a NULL pointer exception when the WSDL specified soapaction is "", everything seems to be fixed.

Thanks again!
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: Eran Chinthaka
>            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


[jira] Resolved: (AXIS2-1124) Axis servlet throws null pointer when SOAPAction is ""

Posted by "Eran Chinthaka (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2-1124?page=all ]

Eran Chinthaka resolved AXIS2-1124.
-----------------------------------

    Resolution: Fixed

> 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: Eran Chinthaka
>            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