I found the answer:
SOAPMappingRegistry smr = new SOAPMappingRegistry();
XMLParameterSerializer xmlSer = new XMLParameterSerializer();
// Map the types.
smr.mapTypes(Constants.NS_URI_SOAP_ENC,
new QName("http://xml.apache.org/xml-soap", "Element"),
org.w3c.dom.Element.class, xmlSer, xmlSer);
// Build the call.
Call call = new Call();
call.setSOAPMappingRegistry(smr);
David Q
Levitt/Cambridge To: [EMAIL PROTECTED]
/IBM@IBMUS cc:
Subject: Re: deserializing an
org.w3c.dom.Element in a SOAP client
10/24/2002 04:36
PM
Please respond
to soap-user
Here is what the TCPMON tool shows that I am getting back from the web
service:
<?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:searchResponse
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="urn:LLSXMLTrial">
<searchReturn xsi:type="ns2:Element"
xmlns:ns2="http://xml.apache.org/xml-soap">
<courses>
<course title="Intro to Computer Science"/>
</courses>
</searchReturn>
</ns1:searchResponse>
</soapenv:Body>
</soapenv:Envelope>
I think what the soapCall.setEncodingStyleURI(Constants.NS_URI_LITERAL_XML)
statement does is to request that the server return its response as Literal
XML. In the response above, the line <searchReturn
xsi:type="ns2:Element" xmlns:ns2="http://xml.apache.org/xml-soap"> and the
subsequent XML (<courses>...., etc) indicates that the service is returning
the data in the literal XML encoding as requested. However, it appears
that deserializing the XML into an Element object requires a separate
mechanism - probably a type mapping - which is where I'm having difficulty.
Any ideas?
- Dave
----- Forwarded by David Q Levitt/Cambridge/IBM on 10/24/2002 04:30 PM
-----
Scott Nichol
<snicholnews@scott To:
[EMAIL PROTECTED]
nichol.com> cc:
Subject: Re: deserializing
an org.w3c.dom.Element in a SOAP client
10/24/2002 04:21
PM
Please respond to
soap-user
Using literal XML, as you show below, should allow you to deserializer
an Element, assuming it was serialized using literal XML on the sending
side.
Scott Nichol
----- Original Message -----
From: "David Q Levitt" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, October 24, 2002 3:50 PM
Subject: deserializing an org.w3c.dom.Element in a SOAP client
>
>
>
>
> Is there a way to deserialize an org.w3c.dom.Element in a SOAP client
? I
> am using
> soapCall.setEncodingStyleURI(Constants.NS_URI_LITERAL_XML);
> but apparently that's not enough.
>
> Do I need to create a mapping registry for deserializing
> org.w3c.dom.Element and if so what deserializer do I register? or do
I
> have to create my own?
>
> Thanks,
>
> Dave Levitt
>
>
> --
> To unsubscribe, e-mail:
<mailto:soap-user-unsubscribe@;xml.apache.org>
> For additional commands, e-mail:
<mailto:soap-user-help@;xml.apache.org>
>
>
--
To unsubscribe, e-mail: <mailto:soap-user-unsubscribe@;xml.apache.org>
For additional commands, e-mail: <mailto:soap-user-help@;xml.apache.org>
--
To unsubscribe, e-mail: <mailto:soap-user-unsubscribe@;xml.apache.org>
For additional commands, e-mail: <mailto:soap-user-help@;xml.apache.org>
--
To unsubscribe, e-mail: <mailto:soap-user-unsubscribe@;xml.apache.org>
For additional commands, e-mail: <mailto:soap-user-help@;xml.apache.org>