I am using CXF 2.1

 

I expose a java class/method like this

 

@WebService(name="EchoService",
targetNamespace="http://echo.dk/2008/11/16";)

public interface EchoService {

            

            @WebMethod

            public String echo(@WebParam(name = "hello") String hello)

 

 

This turns into this wsdl:

 

<xs:schema attributeFormDefault="unqualified"
elementFormDefault="unqualified"
targetNamespace="http://echo.dk/2008/11/16";
xmlns="http://echo.dk/2008/11/16";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>

      <xs:element name="echo" type="echo"/>

      <xs:complexType name="echo">

        <xs:sequence>

          <xs:element minOccurs="0" name="hello" type="xs:string"/>

        </xs:sequence>

      </xs:complexType>

      <xs:element name="echoResponse" type="echoResponse"/>

      <xs:complexType name="echoResponse">

        <xs:sequence>

          <xs:element minOccurs="0" name="return" type="xs:string"/>

        </xs:sequence>

      </xs:complexType>

    </xs:schema>

 

 

Can successfully be called in SOAP-UI:

 

<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:ns="http://optagelse.dk/2008/11/16";>

   <soapenv:Header/>

   <soapenv:Body>

      <ns:echo>

                                            <hello>Champ</hello>

      </ns:echo>

   </soapenv:Body>

</soapenv:Envelope>

 

But another client generates this:

 

<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; >

   <soapenv:Header/>

   <soapenv:Body>

      <echo xmlns="http://optagelse.dk/2008/11/16";>

                                            <hello>Champ</hello>

      </echo>

   </soapenv:Body>

</soapenv:Envelope>

 

And this results in the param being null in the method

 

The problem is that the param only works when it is given without
namespace.

ns:hello gives the same result in the first example.

 

Is this not a bug? The schema in the wsdl has targetNamespace set so you
would assume that the client namespace on the param would work.

 

/Chr

 

Reply via email to