DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21929>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21929

Null pointer exception with integer parameters in doc/literal

           Summary: Null pointer exception with integer parameters in
                    doc/literal
           Product: Axis
           Version: 1.1
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Major
          Priority: Other
         Component: Serialization/Deserialization
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


Axis Client returns a null pointer exception while integer input parameters are 
used in a doc/literal style service.
 
The java code for the service is

public class addtest
{
                public int returnadd(int a,int b )
        {
                return (a+b);
        }

}

The deployment file is 

<deployment
    xmlns="http://xml.apache.org/axis/wsdd/";
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java";>
  <service name="addtest" style="document" >
 <parameter name="className" value="addtest"/>
<parameter name="scope" value="session"/>
      <parameter name="allowedMethods" value="returnadd"/>
  </service>
</deployment>

I generated the stub classes from the wsdl file and WSDL2java tool
My client code is
public class client1
{
        public static void main(String args[])
        {
                try
                {

                AddtestService service=new AddtestServiceLocator();
                Addtest stub=service.getaddtest(new           
                                              java.net.URL
("http://localhost:8080/axis/services/addtest";));
                ((org.apache.axis.client.Stub)stub).setMaintainSession(true);
                int a=stub.returnadd(2,3);
                System.out.println("The service returns :"+a);
        }
        catch(Exception e)
        {
                System.out.println(e.toString());
        }

        }
}

The error I got is given at the end of this message (It is a null pointer 
exception)

Interestingly I ran some more tests the results of these are
1)      This problem does not occur if one uses wrapped style document literal
2)      The problem goes away if your returnadd method takes one input 
Eg      public int returnadd(int a)
         {
              return a;
           }

Ankit Gupta





The Error Stack Trace
java.lang.NullPointerException
java.lang.NullPointerException
        at java.lang.reflect.Method.invoke(Native Method)
        at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.j
ava:402)
        at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider
.java:309)
        at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:
333)
        at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:71)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
        at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:481
)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:323)
        at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:85
4)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas
e.java:339)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:247)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:193)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:256)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve
.java:246)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
2415)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:180)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
rValve.java:171)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:172)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:174)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)

        at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:22
3)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:594)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:392)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
:565)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:619)
        at java.lang.Thread.run(Thread.java:479)

Reply via email to