Note that a type of "xsd:state" isn't valid -- you need to define a different namespace for your user-defined type.
Anne
On 6/5/06, Jeffrey Ng <[EMAIL PROTECTED]> wrote:
Hi,
I don't understand. How is that going to affect my return type?
What I want is to have a 'complextype' to return.
Any sample programs out there I can refer to?
Thanks,
Jeff.
-----Original Message-----
From: Davanum Srinivas [mailto:[EMAIL PROTECTED]]
Sent: Saturday, June 03, 2006 3:45 AM
To: [email protected]
Subject: Re: Return Type
Try:
setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
Boolean.TRUE);
-- dims
On 6/1/06, Jeffrey Ng <[EMAIL PROTECTED] > wrote:
>
>
>
>
> Hi,
>
>
>
> Sorry all, I am really at my wits end. look thru everywhere but just
can't
> seems to find my answers.
>
>
>
> I am trying to get a SOAP response that have more than 1 type. Instead
of a
> normal <getQuoteReturn xsi:type="xsd:float">49.3</getQuoteReturn>,
>
> I want to get <getQuoteReturn
> xsi:type="xsd:state"><ID>123</ID><Value>0</Value></getQuoteReturn>
>
>
>
> I quote the example getStockQuote.
>
>
>
> This is the request:->
>
>
========================================================================
>
> <?xml version="1.0" encoding="utf-8"?>
>
> <soapenv:Envelope
> xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance">
>
> <soapenv:Body>
>
> <ns1:getQuote
> soapenv:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:ns1="urn:xmltoday-delayed-quotes">
>
> <symbol xsi:type="xsd:string">c</symbol>
>
> </ns1:getQuote>
>
> </soapenv:Body>
>
> </soapenv:Envelope>
>
>
========================================================================
>
>
>
> This is the response:->
>
>
========================================================================
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <soapenv:Envelope
> xmlns:soapenv=" http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance">
>
> <soapenv:Body>
>
> <ns1:getQuoteResponse
> soapenv:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:ns1="urn:xmltoday-delayed-quotes">
>
> <getQuoteReturn xsi:type="xsd:float"> 49.3</getQuoteReturn>
>
> </ns1:getQuoteResponse>
>
> </soapenv:Body>
>
> </soapenv:Envelope>
>
>
========================================================================
>
>
>
> the code to retrieve the returntype 'float' is below:
>
>
>
> call.setTargetEndpointAddress( url );
>
> call.setOperationName( new
QName("urn:xmltoday-delayed-quotes",
> "getQuote") );
>
> call.addParameter( "symbol", XMLType.XSD_STRING,
ParameterMode.IN
> );
>
> call.setReturnType( XMLType.XSD_FLOAT );
>
>
>
> // TESTING HACK BY ROBJ
>
> if (symbol.equals("XXX_noaction")) {
>
> symbol = "XXX";
>
> }
>
>
>
> call.setUsername( user );
>
> call.setPassword( passwd );
>
>
>
> Object ret = call.invoke( new Object[] {symbol} );
>
>
>
> To retrieve the 'state' as what is required, how to I set the
setReturnType?
> Do I do this:-
>
>
>
> QName stateQN = new QName( "WSG-interface",
"State"
> );
>
> call.setTargetEndpointAddress( url );
>
> call.setOperationName( new
QName("WSG-interface",
> "ReadBalanceRequest") );
>
> call.addParameter( "MSN", XMLType.XSD_STRING,
> ParameterMode.IN );
>
> call.addParameter( "State", stateQN,
> ParameterMode.OUT );
>
> call.setReturnType( stateQN );
>
> Object ret = call.invoke( new Object[] {MSN}
);
>
> if (ret instanceof String) {
>
>
> System.out.println("Received problem response from server: "+ret);
>
> throw new AxisFault("",
> (String)ret, null, null);
>
> }
>
> //stateQN = (QName) ret;
>
> state = (State) ret;
>
>
>
> status = state.getID();
>
>
>
> appreciate whatever help provided.
>
>
>
> thanks,
>
> Jeff.
>
>
>
>
--
Davanum Srinivas : http://wso2.com/blogs/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
