You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Simon Fell <so...@zaks.demon.co.uk> on 2002/01/23 06:35:16 UTC
WSDL2Java bug with multiple namespace doc/literal
I used WSDL2Java to build a proxy for the following WSDL
http://soap.4s4c.com/test_doclit/sf.soap
The wsdl defines a doc/literal endpoint, where the XSD Schema is
imported and in a different namespace to the WSDL definitions
namespace.
Compiling and running the generated proxy, generates this SOAP
request.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<echoString xmlns="http://wsdl.prototypes.4s4c.com">
<parameters xsi:type="ns1:echoString_t"
xmlns:ns1="http://soapinterop.org/">
<inputString xsi:type="xsd:string">Hello World !</inputString>
</parameters>
</echoString>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
But the echoString element should be in the http://soapinterop.org/
namespace, not the one used.
the parameters element should be called inputString and be in the
http://soapinterop.org/ namespace.
In addition there was no code generated for the headers.
Cheers
Simon
www.pocketsoap.com
Re: WSDL2Java bug with multiple namespace doc/literal
Posted by Simon Fell <so...@zaks.demon.co.uk>.
I can see the offending code in JavaStubWriter::writeOperation, but
haven't worked out how to fix it, is the Parameter object based on the
<part> element from the message ?, if it is, it seems to be missing a
place to store the element QName.
Cheers
Simon
On Tue, 22 Jan 2002 21:35:16 -0800, in soap you wrote:
>I used WSDL2Java to build a proxy for the following WSDL
>http://soap.4s4c.com/test_doclit/sf.soap
>
>The wsdl defines a doc/literal endpoint, where the XSD Schema is
>imported and in a different namespace to the WSDL definitions
>namespace.
>
>Compiling and running the generated proxy, generates this SOAP
>request.
>
><?xml version="1.0" encoding="UTF-8"?>
><SOAP-ENV:Envelope
>xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
>xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <SOAP-ENV:Body>
> <echoString xmlns="http://wsdl.prototypes.4s4c.com">
> <parameters xsi:type="ns1:echoString_t"
> xmlns:ns1="http://soapinterop.org/">
> <inputString xsi:type="xsd:string">Hello World !</inputString>
> </parameters>
> </echoString>
> </SOAP-ENV:Body>
></SOAP-ENV:Envelope>
>
>But the echoString element should be in the http://soapinterop.org/
>namespace, not the one used.
>the parameters element should be called inputString and be in the
>http://soapinterop.org/ namespace.
>
>In addition there was no code generated for the headers.
>
>Cheers
>Simon
>www.pocketsoap.com