WSDL2JAVA does that for you.
How did you generate the client?
Attach your client code and WSDL?

-----Original Message-----
From: scott [mailto:[EMAIL PROTECTED]
Sent: Thursday, August 14, 2003 11:30 AM
To: [EMAIL PROTECTED]
Subject: q: dealing with soap response


ok - I've got my GoogleTest client running, and it can make a soap request
to
google, and I can use tcpmon to see the xml returned. Of course, when I run

String ret = (String) call.invoke( params );

I get an exception after the XML is returned from api.google.com:

- Exception:
org.xml.sax.SAXException: Deserializing parameter 'return':  could not find
deserializer for type {urn:GoogleSearch}GoogleSearchResult

So, does this mean I HAVE to write a java class (deserialiser?) to deal with
the
soap response? Can't I just get back the payload in some generic
SoapResponse
class, and query it? 

My previous SOAP experience involves cocoon with XSP/stylsheets, so this was
as
simple as:

...
<xsl:apply-templates select="search-results"/>
...
<xsl:template match="item">
    <li>
        <a>
        <xsl:attribute name="href">
        <xsl:value-of select="URL"/>
        </xsl:attribute>
        <xsl:value-of select="title"/>
        </a>
        <br/>
        <xsl:value-of select="snippet"/>
    </li>
</xsl:template>

So how do I process results in java? SOmething like this?

                                // register the GoogleSearchResult class
//                               QName gsrqn = new QName("urn:GoogleSearch",
//
"GoogleSearchResult");
//                               Class cls = GoogleSearchResult.class;
//                               call.registerTypeMapping(cls, gsrqn,
BeanSerializerFactory.class,
BeanDeserializerFactory.class);

?

thanks,
Scott

Reply via email to