axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cédric Chabanois (JIRA) <axis-...@ws.apache.org>
Subject [jira] Created: (AXIS-1975) problem with operations with out parameters
Date Wed, 04 May 2005 09:00:26 GMT
problem with operations with out parameters
-------------------------------------------

         Key: AXIS-1975
         URL: http://issues.apache.org/jira/browse/AXIS-1975
     Project: Axis
        Type: Bug
  Components: Basic Architecture  
    Versions: 1.2    
 Environment: Windows
    Reporter: Cédric Chabanois
 Attachments: bugout.zip

I declared an operation with an out parameter :

  <service name="bugout" provider="java:RPC">
    <parameter name="allowedMethods" value="*"/>
    <parameter name="wsdlPortType" value="bugout"/>
    <parameter name="wsdlTargetNamespace" value="http://bugout/"/>
    <parameter name="className" value="test.server.BugOutBindingImpl"/>
    <operation name="letsbug">
      <parameter mode="OUT" name="outparam"/>
      <parameter mode="IN" name="inparam"/>
    </operation>
  </service>

  public void letsbug(ShortHolder outparam, byte inparam)
       throws java.rmi.RemoteException
  {
	  outparam.value = 80;
  }

When I invoke this operation, I got the following exception :
- Tried to invoke method public void test.server.BugOutBindingImpl.letsbug(javax.xml.rpc.holders.ShortHolder,byte)
throw
s java.rmi.RemoteException with arguments java.lang.Byte,javax.xml.rpc.holders.ShortHolder.
 The arguments do not match
the signature.
java.lang.IllegalArgumentException: argument type mismatch
        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:585)
        at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:388)
        at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:283)
        at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319)
        at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
        at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)


I debugged axis and found that in org.apache.axis.providers.java.RPCProvider.processMessage,
the arguments to invokeMethod were :
[Byte : 18, javax.xml.rpc.holders.ShortHolder]

They are not in the right order...

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


Mime
View raw message