Title: RE: Gif, jpg of Web Services technology

Looks like your server is not explicitly specifying a type in the Response parameter.  So the client toolkit doesn't know which type it is.

You probably need to add an entry in the SOAPMappingRegistry in your client code to tell it what type the returned parameter is (base64).

Try something like this in your client code.

        private SOAPMappingRegistry smr = new SOAPMappingRegistry();
        private BeanSerializer beanSer = new BeanSerializer();
        ...
        smr.mapTypes(Constants.NS_URI_SOAP_ENC,
                new Qname("http://tempurl.org/", "DailyDilbertImageResult"),
                org.apache.soap.encoding.soapenc.Base64.class,
                beanSer, beanSer);
        ...
        call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
        call.setSOAPMappingRegistry(smr);
        ...

        //invoke and parse response...

Good luck...

-Joe

-----Original Message-----
From: Alexander Reifinger [mailto:[EMAIL PROTECTED]]
Sent: Monday, April 08, 2002 1:48 PM
To: [EMAIL PROTECTED]
Subject: RE: Gif, jpg of Web Services technology


Hi,

I'm trying to use http://www.esynaps.com/WebServices/DailyDiblert.asmx
(sic!) 's Daily Dilbert as a demonstration for my Bachelor Thesis using Apache SOAP.

After a bit of messing with the parameters, I seem to get through to the service, but I am now getting this exception:

[SOAPException: faultCode=SOAP-ENV:Client; msg=No Deserializer found to deserialize a 'http://tempuri.org/:DailyDilbertImageResult' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.;

targetException=java.lang.IllegalArgumentException: No Deserializer found to deserialize a 'http://tempuri.org/:DailyDilbertImageResult' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.]

The response is defined to be Base64Binary in the WSDL file, how do I deserialize this. The service is written in VB.NET, the source code is available at http://www.esynaps.com/Resources/Resources.aspx?src=''&Act=view&ID=R9&Cat=1&

Type=1, but of no great help. Basically, the GIF is saved into a MemoryStream and returned as memoryStream.getBuffer(). The conversion to Base64Binary is supposedly done by VB.NET's WebService class.

How do I deserialize this stream?

TIA,
Alexander

Reply via email to