I have deployed a service in axis and the classes as
listed below. I have also attached a part from the
wsdl file and the actual response. My querstion is why
the name space for 'testComplexTypeReturn' in the
reponse is 'http://axis.test.soap'??. As per the
namespace definition for the output in the wsdl file,
it should be
http://localhost:8080/axis/services/ComplexType1ServiceDoc,
right??

Can someone correct me if my understanding is wrong?

WSDL File:
----------
...
...
<wsdl:binding name="ComplexType1ServiceDocSoapBinding"
type="intf:ComplexType1Service">
  <wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"; /> 
        <wsdl:operation name="testComplexType">
                <wsdlsoap:operation soapAction="" /> 
                <wsdl:input name="testComplexTypeRequest">
                <wsdlsoap:body namespace="http://axis.test.soap";
use="literal" /> 
        </wsdl:input>
        <wsdl:output name="testComplexTypeResponse">
                <wsdlsoap:body
namespace="http://localhost:8080/axis/services/ComplexType1ServiceDoc";
use="literal" /> 
                </wsdl:output>
                </wsdl:operation>
</wsdl:binding>
...
...

Response from Axis after exceuting this 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>
  <testComplexTypeReturn
xmlns="http://axis.test.soap";>
   <data1>This is a string type</data1>
   <data2>50</data2>
   <m_data1>This is a string type</m_data1>
   <m_data2>50</m_data2>
  </testComplexTypeReturn>
 </soapenv:Body>
</soapenv:Envelope>


Source Files
-------------
public class ComplexType1Service {

    public ComplexType1 testComplexType() {
        ComplexType1 ct1 = new ComplexType1();
        return ct1;
    }

}


public class ComplexType1 {

    public String m_data1 = "This is a string type";

    public int m_data2 = 50;

    public String getData1() {
        return m_data1;
    }

    public void setData1(String data1) {
        m_data1 = data1;
    }

    public int getData2() {
        return m_data2;
    }

    public void setData2(int data2) {
        m_data2 = data2;
    }

}



__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com

Reply via email to