Hi Srinivas,

Response extends RPCMessage which has a method getParams(), which returns a
vector of Parameters.

Thanks,
-Matt

> -----Original Message-----
> From: Sampige, Srinivas [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, June 07, 2001 6:17 PM
> To: 'Vishweshwar, Ghanakota'
> Cc: '[EMAIL PROTECTED]'
> Subject: RE: reading return parameters
>
>
> I have done the mappings in the part of the code that i did not
> post .Here is what iam doing before calling the service :
> -------------------------
>             String urn = "http://tempuri.org/message/";;
>
>             // define deserializers for the return things
> (without xsi:type)
>             SOAPMappingRegistry smr = new SOAPMappingRegistry ();
>             StringDeserializer sd = new StringDeserializer ();
>             smr.mapTypes (Constants.NS_URI_SOAP_ENC, new
> QName("", "Result"), null,null, sd);
>             smr.mapTypes (Constants.NS_URI_SOAP_ENC, new
> QName("", "sApplicationKey"), null,null, sd);
>             smr.mapTypes (Constants.NS_URI_SOAP_ENC, new
> QName("", "sValidationMethod"), null,null, sd);
>             smr.mapTypes (Constants.NS_URI_SOAP_ENC, new
> QName("", "sDomain"), null,null, sd);
>             smr.mapTypes (Constants.NS_URI_SOAP_ENC, new
> QName("", "sUserName"), null,null, sd);
>             smr.mapTypes (Constants.NS_URI_SOAP_ENC, new
> QName("", "sPassword"), null,null, sd);
>             smr.mapTypes (Constants.NS_URI_SOAP_ENC, new
> QName("", "lBemsId"), null,null, sd);
>             smr.mapTypes (Constants.NS_URI_SOAP_ENC, new
> QName("", "sDescription"), null,null, sd);
>
>             // create the transport and set parameters
> -----------------------------------------------------
> What iam not able to figure out is what code do i write to read
> the other parameters ?I tried casting the return value of
> response.getValue() to a String array only to get a class cast
> exception.I was thinking that the result is coming back as an
> array of which one of the elements contains the value of sDescription.
>
> -------------------------------------------
>                 if( !response.generatedFault() )
>                   {
>                     Parameter result = response.getReturnValue();
> //response
> was OK
>                     System.out.println( "Result= "+
> result.getValue()+" Name
> -> "+result.getName());
>                     return true;
> -----------------------------------------------------
>
> thanks
> Srinivas
>
>
>
>
>
>
>
>
>
> -----Original Message-----
> From: Vishweshwar, Ghanakota [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, June 07, 2001 3:09 PM
> To: '[EMAIL PROTECTED]'
> Subject: FW: reading return parameters
>
>
> Hi Srinivas,
>
> you have to map the types. look at the following snippet for how to do it.
>
>    smr = new SOAPMappingRegistry();
>     TypeMapper beanSer = new TypeMapper();
>
>     // Map the types.
>     smr.mapTypes("http://schemas.xmlsoap.org/soap/encoding/";,
>                  new QName("", "Result"),
>                  TypeMapper.class, beanSer, beanSer);
>      call.setSOAPMappingRegistry(smr);
> here I have mapped my custom class "TypeMapper" with "Result". you have to
> do similar thing for other tags you have. you can use the simplest
> StringSerializer, if all that you need is just the string.
>
> thanks,
> vishu
>
> -----Original Message-----
> From: Sampige, Srinivas [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, June 07, 2001 2:47 PM
> To: '[EMAIL PROTECTED]'
> Subject: reading return parameters
>
>
> The respponse iam getting from the server is :-
>
> ------------------------------------------------------------------
> ----------
> -------------------------
> <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
> - <SOAP-ENV:Envelope
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";>
> - <SOAP-ENV:Body>
> - <SOAPSDK1:AuthenticateUserResponse
> xmlns:SOAPSDK1="http://tempuri.org/message/";>
> <Result>false</Result>
> <sApplicationKey>TestApplicationKey</sApplicationKey>
> <sValidationMethod>NT</sValidationMethod>
> <sDomain>NTRMRTN1</sDomain>
> <sUserName>aaa1234</sUserName>
> <sPassword>PASSWORD</sPassword>
> <lBemsId>0</lBemsId>
> <sDescription>Logon failure: unknown user name or bad
> password.</sDescription>
> </SOAPSDK1:AuthenticateUserResponse>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> ------------------------------------------------------------------
> ----------
> -------------
>   In my Java client  Iam able to read only the value enclosed within
> "Result" i.e  <Result>false</Result> .How do i read the other values like
> sDescription which gives me the error message ? .Here is the code :-
> --------------
>             Call call = new Call(); // prepare the service invocation
>             call.setSOAPTransport(st);
>             call.setSOAPMappingRegistry (smr);
>             call.setTargetObjectURI( urn );
>             call.setMethodName("AuthenticateUser");
>             call.setEncodingStyleURI( Constants.NS_URI_SOAP_ENC );
>
>             Vector params = new Vector();
>             params.addElement(new
> Parameter("sApplicationKey",String.class,"TestApplicationKey",null));
>             params.addElement(new
> Parameter("sValidationMethod",String.class,"NT",null));
>             params.addElement(new
> Parameter("sDomain",String.class,"NTRMRTN1",null));
>             params.addElement(new
> Parameter("sUserName",String.class,"aaa1234",null));
>             params.addElement(new
> Parameter("sPassword",String.class,"PASSWORD",null));
>             params.addElement(new Parameter("lBemsId",int.class,new
> Integer("0"),null));
>             params.addElement(new
> Parameter("sDescription",String.class,"PASSWORD",null));
>
>
>             call.setParams(params);
>
>             try
>               {
>                 System.out.println( "invoke service\n" + "  URL= " + url+
> "\n  URN ="+urn );
> Response response = call.invoke( url,
> "http://tempuri.org/action/CuisAuthenticationSoap.AuthenticateUser"; );
>                 System.out.println("Success!!!");
>                 if( !response.generatedFault() )
>                   {
>                     Parameter result = response.getReturnValue();
> //response
> was OK
>                     System.out.println( "Result= "+
> result.getValue()+" Name
> -> "+result.getName());
>                     return true;
>                   }
>                 else
>                   {
>                     Fault f = response.getFault(); // an error occurred
>                     System.err.println( "Fault=
> "+f.getFaultCode()+","+f.getFaultString() );
>                     return false;
>                   }
>               }catch( SOAPException e ) // call could not be sent properly
>                 {
>                   System.err.println( "SOAPException= " +
> e.getFaultCode() +
> ", " +e.getMessage() );
>                   return false;
>                 }
>
>           }catch(Exception e)
>             {
>               e.printStackTrace();
>               return false;
>             }
>       }
> -------------------------------
> Output that iam getting now is :-
> ---------------------------------
> contacting the Service ....
> invoke service
>   URL=
> http://cuis-dev-02.nw.nos.boeing.com:8080/AuthenticationSoap/CuisA
uthenticat
ion.wsdl
  URN =http://tempuri.org/message/
Success!!!
Result= false Name -> Result
--------------------------------

thanks
Srinivas





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to