axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Davanum Srinivas <dava...@gmail.com>
Subject Re: 'Didn't find specified return QName' for optional response parame ter
Date Wed, 09 Feb 2005 12:30:48 GMT
try using the "--noWrapped" flag when u run wsdl2java.

-- dims


On Wed, 9 Feb 2005 11:42:11 -0000, Alistair Sheffield
<Alistair_Sheffield@systemsunion.com> wrote:
> We have a .NET 1.1 web service which we're trying to use from Java using
> stubs generated by Axis 1.2 RC2 (with the WSDL2Java tool).
> 
> We are calling a method ('QueryExecute') on the web service which takes
> three parameters, one of which is used to return a value ('pRecordSet'). If
> an error occurs when executing the method, it returns a QueryExecuteResult;
> if the method worked as expected, a QueryExecuteResult will not be returned
> in the response.
> Here is the WSDL for the method and the response:
> 
> <s:element name="QueryExecute">
>   <s:complexType>
>     <s:sequence>
>       <s:element minOccurs="0" maxOccurs="1" name="SessionID"
> type="s:string" />
>       <s:element minOccurs="0" maxOccurs="1" name="Query"
> type="tns:csDtoQueryItem" />
>       <s:element minOccurs="0" maxOccurs="1" name="pRecordSet"
> type="tns:csDtoRecordSet" />
>     </s:sequence>
>   </s:complexType>
> </s:element>
> 
> <s:element name="QueryExecuteResponse">
>   <s:complexType>
>     <s:sequence>
>       <s:element minOccurs="0" maxOccurs="1" name="QueryExecuteResult"
> type="tns:csDtoQueryFeedBackList" />
>       <s:element minOccurs="0" maxOccurs="1" name="pRecordSet"
> type="tns:csDtoRecordSet" />
>     </s:sequence>
>   </s:complexType>
> </s:element>
> 
> When we call this method, we get the following error:
> 
> Didn't find specified return QName
> {http://localhost/AgoraWS/Serducts}QueryExecuteResult!
> 
> This is thrown from the following piece of code at line 2513 in Call:
> 
> // If we were looking for a particular QName for the return and
> // still didn't find it, throw an exception
> if (findReturnParam) {
>     String returnParamName = returnParamQName.toString();
>     throw new AxisFault(Messages.getMessage("noReturnParam",
> returnParamName));
> }
> 
> We have debugged Axis and what seems to be happening is that the
> OperationDesc object representing the method which is used in the Call has a
> ParameterDesc  for the return which contains QueryExecuteResult; this causes
> a problem as when the Call searches for the return parameters, it cannot
> find QueryExecuteResult in the return parameters in the response - the
> pRecordSet return parameter is the only return parameter present.
> 
> We can execute this method using a .NET-generated client and it works as
> expected, with no errors.
> 
> Unfortunately, we don't have control over the web service, so have to work
> with what we're given!
> 
> Does anyone have a clue why this doesn't work using the Axis stubs, or how
> to resolve it? It seems that Axis isn't taking into account the
> 'minOccurs="0"' for the QueryExecuteResult; is that the root of the problem?
> 
> Many thanks for any insight!
> 
> Alistair
> 
> This e-mail and any files transmitted with it are confidential and intended solely for
the use of the individual or entity to whom it is addressed. If you have received this e-mail
in error you must not copy, distribute or take any action in reliance on it. Please notify
the sender by e-mail or telephone.
> We utilise an anti-virus system and therefore any files sent via e-mail will have been
checked for known viruses. You are however advised to run your own virus check before opening
any attachments received as we will not in any event accept any liability whatsoever once
an e-mail and/or any attachment is received. Any views expressed by an individual within this
e-mail do not necessarily reflect the views of Systems Union Group plc or any of its subsidiary
companies.
> 


-- 
Davanum Srinivas - http://webservices.apache.org/~dims/

Mime
View raw message