axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jim Redman (JIRA)" <axis-...@ws.apache.org>
Subject [jira] Created: (AXIS-2222) RPCProvider.java doc/lit 2 in args is hopelessly broken
Date Sun, 18 Sep 2005 01:29:54 GMT
RPCProvider.java doc/lit 2 in args is hopelessly broken
-------------------------------------------------------

         Key: AXIS-2222
         URL: http://issues.apache.org/jira/browse/AXIS-2222
     Project: Apache Axis
        Type: Bug
  Components: Basic Architecture  
    Versions: 1.2.1    
 Environment: uname -a
Linux charizard 2.6.11-1.1369_FC4 #1 Thu Jun 2 22:55:56 EDT 2005 i686 i686 i386 GNU/Linux

java -version
java version "1.5.0_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)
Java HotSpot(TM) Client VM (build 1.5.0_04-b05, mixed mode, sharing)



    Reporter: Jim Redman


Here's the WSDL, the "read" method has 2 in args (and three out)

http://opcfoundation.org/webservices/XMLDA/1.0/

you get a generated impl that looks like this (+/- the package names):
  public void read(RequestOptions options, ReadRequestItemList itemList, ReplyBaseHolder readResult,
ReplyItemListHolder RItemList, OPCErrorArrayHolder errors) throws RemoteException;

The itemList is always null on reciept. 

In RPCProvider in this method:

    public void processMessage(MessageContext msgContext,

                               SOAPEnvelope reqEnv,

                               SOAPEnvelope resEnv,

                               Object obj)

 
there are two "bodies".  The first is an RPCElement that represents the "options" param. 
The second is a SOAPBodyElement that represents the "itemList" param.

The method uses on the first body, and so the call (at or about line 148):
           args = body.getParams();

returns only the first param.

Many things in that method seems wrong in this case.  The "methodName" is "Options", the name
of the first parameter. I think that iterating through both bodies (how since one's an SOAPBodyElement
not an RPCElement) would probably work, but it would be akin to a hack since there appears
to be a fundamental flaw in the logic before you land in that method.




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