Just a follow-up to this...
I did a test with a web service I've verified to work. Basically, it is the
same as one would create after following this tutorial...
http://www.relevancellc.com/hands-on/MagicBall/
It's one and only service method is askQuestion(String). It takes a String and
returns and String. Like I said, this works fine.
I then modified it to take two int parameters in addition to the String. I do
nothing with them except add them to the interface. So now I have askQuestion
(String, int, int). Just to be safe, I deleted my previous Axis webapp and put
a fresh one in webapps and restarted Tomcat5. I deployed the service fine, but
then when I tried to access the service with my client, I got exactly the same
exception as I originally reported. This is entirely consistent the error in
my other web service since it also took a String a two int parameters.
So, what's the deal? Can't I pass int's as parameters in a web service? Am I
missing something here?
Jake
Quoting Jacob Kjome <[EMAIL PROTECTED]>:
> I deployed a web service and that went fine, but when I try to call it, I get
> a
> reported NullPointerException. Can anyone give me any hints on what is going
> on here? I don't believe my implementation of the service is even getting
> called since I am printing to system.out as soon as that method gets called
> and
> that never gets printed. Seems to be somewhere in the guts of Axis and/or
> the
> JDK itself. Here's the stack trace from the server...
>
> 36625 [http8080-Processor25] INFO org.apache.axis.EXCEPTIONS - AxisFault:
> AxisFault
> faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
> faultSubcode:
> faultString: java.lang.NullPointerException
> faultActor:
> faultNode:
> faultDetail:
> {http://xml.apache.org/axis/}stackTrace:java.lang.NullPointerException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at org.apache.axis.providers.java.RPCProvider.invokeMethod
> (RPCProvider.java:397)
> at org.apache.axis.providers.java.RPCProvider.processMessage
> (RPCProvider.java:304)
> at org.apache.axis.providers.java.JavaProvider.invoke
> (JavaProvider.java:329)
> at org.apache.axis.strategies.InvocationStrategy.visit
> (InvocationStrategy.java:71)
> at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:157)
> at org.apache.axis.SimpleChain.invoke(SimpleChain.java:122)
> at org.apache.axis.handlers.soap.SOAPService.invoke
> (SOAPService.java:517)
> at org.apache.axis.server.AxisServer.invoke(AxisServer.java:324)
> at org.apache.axis.transport.http.AxisServlet.doPost
> (AxisServlet.java:639)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
> at org.apache.axis.transport.http.AxisServletBase.service
> (AxisServletBase.java:339)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> (ApplicationFilterChain.java:284)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter
> (ApplicationFilterChain.java:204)
> at org.apache.catalina.core.StandardWrapperValve.invoke
> (StandardWrapperValve.java:256)
> at org.apache.catalina.core.StandardValveContext.invokeNext
> (StandardValveContext.java:151)
> at org.apache.catalina.core.StandardPipeline.invoke
> (StandardPipeline.java:564)
> at org.apache.catalina.core.StandardContextValve.invokeInternal
> (StandardContextValve.java:245)
> at org.apache.catalina.core.StandardContextValve.invoke
> (StandardContextValve.java:199)
> at org.apache.catalina.core.StandardValveContext.invokeNext
> (StandardValveContext.java:151)
> at org.apache.catalina.core.StandardPipeline.invoke
> (StandardPipeline.java:564)
> at org.apache.catalina.core.StandardHostValve.invoke
> (StandardHostValve.java:195)
> at org.apache.catalina.core.StandardValveContext.invokeNext
> (StandardValveContext.java:151)
> at org.apache.catalina.valves.ErrorReportValve.invoke
> (ErrorReportValve.java:164)
> at org.apache.catalina.core.StandardValveContext.invokeNext
> (StandardValveContext.java:149)
> at org.apache.catalina.core.StandardPipeline.invoke
> (StandardPipeline.java:564)
> at org.apache.catalina.core.StandardEngineValve.invoke
> (StandardEngineValve.java:156)
> at org.apache.catalina.core.StandardValveContext.invokeNext
> (StandardValveContext.java:151)
> at org.apache.catalina.core.StandardPipeline.invoke
> (StandardPipeline.java:564)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
> at org.apache.coyote.tomcat5.CoyoteAdapter.service
> (CoyoteAdapter.java:211)
> at org.apache.coyote.http11.Http11Processor.process
> (Http11Processor.java:805)
> at
>
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnectio
> n(Http11Protocol.java:696)
> at org.apache.tomcat.util.net.TcpWorkerThread.runIt
> (PoolTcpEndpoint.java:605)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
> (ThreadPool.java:677)
> at java.lang.Thread.run(Thread.java:534)
>
> {http://xml.apache.org/axis/}isRuntimeException:true
>
> java.lang.NullPointerException
> at org.apache.axis.AxisFault.makeFault(AxisFault.java:137)
> at org.apache.axis.providers.java.JavaProvider.invoke
> (JavaProvider.java:339)
> at org.apache.axis.strategies.InvocationStrategy.visit
> (InvocationStrategy.java:71)
> at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:157)
> at org.apache.axis.SimpleChain.invoke(SimpleChain.java:122)
> at org.apache.axis.handlers.soap.SOAPService.invoke
> (SOAPService.java:517)
> at org.apache.axis.server.AxisServer.invoke(AxisServer.java:324)
> at org.apache.axis.transport.http.AxisServlet.doPost
> (AxisServlet.java:639)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
> at org.apache.axis.transport.http.AxisServletBase.service
> (AxisServletBase.java:339)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> (ApplicationFilterChain.java:284)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter
> (ApplicationFilterChain.java:204)
> at org.apache.catalina.core.StandardWrapperValve.invoke
> (StandardWrapperValve.java:256)
> at org.apache.catalina.core.StandardValveContext.invokeNext
> (StandardValveContext.java:151)
> at org.apache.catalina.core.StandardPipeline.invoke
> (StandardPipeline.java:564)
> at org.apache.catalina.core.StandardContextValve.invokeInternal
> (StandardContextValve.java:245)
> at org.apache.catalina.core.StandardContextValve.invoke
> (StandardContextValve.java:199)
> at org.apache.catalina.core.StandardValveContext.invokeNext
> (StandardValveContext.java:151)
> at org.apache.catalina.core.StandardPipeline.invoke
> (StandardPipeline.java:564)
> at org.apache.catalina.core.StandardHostValve.invoke
> (StandardHostValve.java:195)
> at org.apache.catalina.core.StandardValveContext.invokeNext
> (StandardValveContext.java:151)
> at org.apache.catalina.valves.ErrorReportValve.invoke
> (ErrorReportValve.java:164)
> at org.apache.catalina.core.StandardValveContext.invokeNext
> (StandardValveContext.java:149)
> at org.apache.catalina.core.StandardPipeline.invoke
> (StandardPipeline.java:564)
> at org.apache.catalina.core.StandardEngineValve.invoke
> (StandardEngineValve.java:156)
> at org.apache.catalina.core.StandardValveContext.invokeNext
> (StandardValveContext.java:151)
> at org.apache.catalina.core.StandardPipeline.invoke
> (StandardPipeline.java:564)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
> at org.apache.coyote.tomcat5.CoyoteAdapter.service
> (CoyoteAdapter.java:211)
> at org.apache.coyote.http11.Http11Processor.process
> (Http11Processor.java:805)
> at
>
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnectio
> n(Http11Protocol.java:696)
> at org.apache.tomcat.util.net.TcpWorkerThread.runIt
> (PoolTcpEndpoint.java:605)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
> (ThreadPool.java:677)
> at java.lang.Thread.run(Thread.java:534)
> Caused by: java.lang.NullPointerException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at org.apache.axis.providers.java.RPCProvider.invokeMethod
> (RPCProvider.java:397)
> at org.apache.axis.providers.java.RPCProvider.processMessage
> (RPCProvider.java:304)
> at org.apache.axis.providers.java.JavaProvider.invoke
> (JavaProvider.java:329)
> ... 33 more
>
>
>
> Jake