axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 11726] New: - Incorrect overloaded method invoked - NullPointerException
Date Thu, 15 Aug 2002 14:23:23 GMT
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=11726>.
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=11726

Incorrect overloaded method invoked - NullPointerException

           Summary: Incorrect overloaded method invoked -
                    NullPointerException
           Product: Axis
           Version: beta-3
          Platform: Sun
        OS/Version: Solaris
            Status: NEW
          Severity: Major
          Priority: Other
         Component: Basic Architecture
        AssignedTo: axis-dev@xml.apache.org
        ReportedBy: zeyn.saigol@mediasurface.com


This is the problem referred to in 
http://marc.theaimsgroup.com/?l=axis-user&m=102088663019242&w=2
- it still doesn't seem to work in Beta 3, nor in nightly builds since then.

In summary: when there are several overloaded methods with different numbers of 
parameters, Axis can sometimes invoke a method with more parameters than were 
supplied in the SOAP call, even if an overload with exactly matching parameters 
exists. 
Axis apparently doesn't require all parameters to be present in the SOAP 
body because not supplying a parameter implies that the parameter should 
be treated as null.

If you have e.g. a (String, int) method and a (String) method, and Axis 
tries to call the (String, int) method when you supply only a string, you 
also get a NullPointerException (you can't have a null int ;)):

stackTrace: java.lang.NullPointerException
at java.lang.reflect.Method.invoke(Native Method)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:460)
at org.apache.axis.providers.java.RPCProvider.processMessage
(RPCProvider.java:288)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:269)
at org.apache.axis.strategies.InvocationStrategy.visit
(InvocationStrategy.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:314)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:565)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at org.apache.axis.transport.http.AxisServletBase.service
(AxisServletBase.java:331)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext
(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)


This problem seems to be affected by some weird factors such as which other
webapps you have running in Tomcat, so it doesn't always happen for a given
set of overloads and SOAP calls.

We've been able to reproduce the problem on java versions 1.3.1_02 and 1.3.1_03

Mime
View raw message