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