You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@ws.apache.org by Tom Myers <to...@dreamscape.com> on 2001/08/08 14:52:17 UTC

RE: Deploying NasdaqQuotes sample web service (IBM WSTK2.3 proble m)

At 01:01 PM 8/8/2001 +0600, Zafar Nisthar wrote:
...
>The following Exception occurs when i try to deploy:

umm, I think you mean, when you try to invoke the deployed service?

>----------------------------------------------------------------------------
>--
>NasdaqQuotes Service Found.... preparing proxy...
>
>
>NasdaqQuotes Service Proxy Initialized... invoking service...
>
>Exception in thread "main" com.ibm.wstk.WSTKException: RPC exception in
>method invocation.
>----------------------------------------------------------------------------
>--
>   Nested exception is:
>
>   [SOAPException: faultCode=SOAP-ENV:Client; msg=No Deserializer found to
>deserialize a 'urn:nasdaqquotes-service:NasdaqQuote' using encoding style
>'http://schemas.xmlsoap.org/soap/encoding/'.;

Your client is failing to deserialize the answer; you'll find this in the 
troubleshooting guide,e.g.
   ...\soap-2_2\docs\trouble\index.html :
>No Deserializer found to deserialize a 'XYZ' using encoding style 'FOO' 
>The Apache SOAP code received a SOAP envelope (as a request if its on the server 
>side or in a response if its on the client) containing an XML element of schema 
>type XYZ and encoded using encoding style FOO. The exception occurred because the 
>runtime was unable to find a deserializer to deserialize such types encoded in 
>that style. The solution is to add another type mapping to the deployment 
>descriptor (if the problem occurred on the server side) or add another 
>mapping to the client code (if the problem occurred on the client side). 

In this case, look at the addressbook example code for stuff like

>     BeanSerializer beanSer = new BeanSerializer();
>     smr.mapTypes(Constants.NS_URI_SOAP_ENC,
>                  new QName("urn:xml-soap-address-demo", "address"),
>                  Address.class, beanSer, beanSer);

and probably you want something vaguely resembling
>     smr.mapTypes(Constants.NS_URI_SOAP_ENC,
>                  new QName("urn:nasdaqquotes-service", "NasdaqQuote"),
>                  NasdaqQuote.class, beanSer, beanSer);

(That assumes that your actual quote class is called NasdaqQuote and can be
deserialized by the BeanSerializer class, of course.) But I don't know how
this sort of issue interrelates with IBM WSTK2.3....

Tom Myers