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