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]
