You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Daniel Hägg <da...@factum.se> on 2002/09/18 13:24:31 UTC

WSDL2Java namespace problem

[Re-posted with new subject]

Hi!
I am trying to develop a client for an existing SOAP server using Axis RC1.
I have a problem with complex return values. They all end up as null.

I have developed the client by trying to write a valid WSDL file and
running WSDL2Java. The SOAP server was invented before WSDL,
so I am making the WSDL file up as I go along.

When I step inside the binding stub (generated by WSDL2Java) I find that
the return value has been successfully decoded. It is contained in the Map
returned by _call.getOutputParams(). However, the binding stub uses an 
empty
namespace when it tries to look up the return value in the Map, and the
return value is stored with the namespace "factum.se/dab" as key. The 
result is that
the return value is not found and null is returned to my client 
application.

How can I make the binding stub use the correct namespace?

The start of my WSDL file looks like this:

<definitions
xmlns:http= "http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap= "http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s= "http://www.w3.org/2001/XMLSchema"
xmlns:s0="factum.se/dab"
xmlns:soapenc= "http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="factum.se/dab"
targetNamespace="factum.se/dab"
xmlns= "http://schemas.xmlsoap.org/wsdl/" >

<types>
<s:schema targetNamespace="factum.se/dab">
  <s:complexType name="Entry">
  <s:sequence>
  <s:element name="time" type="s:dateTime"/>
  <s:element name="configuration" type="s:string"/>
  </s:sequence>
  </s:complexType>
</s:schema>
</types>

<message name="RequestBook">
<part name="Entry" type="s0:Entry"/>
</message>

<message name="BookResponse">
<part name="Entry" type="s0:Entry"/>
</message>

The SOAP response looks like this:

<SOAP-ENV:Envelope
xmlns="factum.se/dab"
xmlns:DAB="factum.se/dab"
xmlns:xsd= "http://www.w3.org/2001/XMLSchema"
xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENV= "http://schemas.xmlsoap.org/soap/envelope/" >
<SOAP-ENV:Header/>
<SOAP-ENV:Body
xmlns:SOAP-ENC= "http://schemas.xmlsoap.org/soap/encoding/"
SOAP-ENV:encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" >
<BookResponse>
 <Entry xsi:type="DAB:Entry">
  <time xsi:type="xsd:dateTime">2002-09-11T13:14:24Z</time>
  <configuration xsi:type="xsd:string"><![CDATA[Kalle]]></configuration>
 </Entry>
</BookResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Is there something wrong with the WSDL or is it a bug in WSDL2Java ?

/
/ Daniel