You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Jim Redman (JIRA)" <ax...@ws.apache.org> on 2006/02/28 22:26:40 UTC

[jira] Commented: (AXIS-2222) RPCProvider.java doc/lit 2 in args is hopelessly broken

    [ http://issues.apache.org/jira/browse/AXIS-2222?page=comments#action_12368173 ] 

Jim Redman commented on AXIS-2222:
----------------------------------

This issue is still valid for 1.3

> 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