Difference in name space in the response when a method is invoked with Array of 
Java Bean Vs Just Java Bean
-----------------------------------------------------------------------------------------------------------

                 Key: AXIS2-1201
                 URL: http://issues.apache.org/jira/browse/AXIS2-1201
             Project: Apache Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: core
         Environment: OS: Windows Xp
Axis2 nightly of Sep-18-2006
            Reporter: vikas charak


I have a class with two methods as follows

public class SimpleService {
        public Contact[] getAddress(String inputPara) {
                Contact info = new Contact();
                info.setFirstName("myFirstName1");
                info.setLastName("myLastName1");
                Contact info2 = new Contact();
                info2.setFirstName("myFirstName2");
                info2.setLastName("myLastName2");
                Contact[] infos = new Contact[2];
                infos[0]=info;
                infos[1]=info2;
                
                return infos;
        }

        public Contact getContact(String inputPara) {
                Contact info = new Contact();
                Contact info = new Contact();
                info.setFirstName("myFirstName1");
                info.setLastName("myLastName1");
                return info;
        }

        
        
}


When method Contact[] getAddress is invoked I get following respose :
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.4; JBoss-4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA 
date=200605151000)/Tomcat-5.5
Set-Cookie: JSESSIONID=A760355AE667603DE765E48C06065324; Path=/
Content-Type: text/xml;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 20 Sep 2006 12:36:21 GMT

<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";><soapenv:Header 
/><soapenv:Body><ns:getAddressResponse xmlns:ns="http://org.apache.axis2/xsd";>
<ns:return>
<ns:firstName>myFirstName1</ns:firstName>
<ns:lastName>myLastName1</ns:lastName>
<ns:return><ns:firstName>myFirstName2</ns:firstName>
<ns:lastName>myLastName2</ns:lastName>
</ns:return></ns:getAddressResponse></soapenv:Body></soapenv:Envelope>

Now,
When I invoke public Contact getContact, I see following response
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.4; JBoss-4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA 
date=200605151000)/Tomcat-5.5
Set-Cookie: JSESSIONID=E99870C0D6847ADF559B12EE7866A957; Path=/
Content-Type: text/xml;charset=UTF-8
Transfer-Encoding: chunked
Date: Wed, 20 Sep 2006 12:47:06 GMT

<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";><soapenv:Header 
/><soapenv:Body>
<ns:getContactResponse 
xmlns:ns="http://SimpleService.simpleservice.webservice.wammis.com/types";>
<ns:return><ns:firstName>MyFirstName1</ns:firstName>
<ns:lastName>MyLastName1</ns:lastName>
</ns:getContactResponse></soapenv:Body></soapenv:Envelope>

Now here is the issue:
When a method with Array of Beans is invoked I get <ns:getAddressResponse 
xmlns:ns="http://org.apache.axis2/xsd";> 
where without Array it is <ns:getContactResponse 
xmlns:ns="http://SimpleService.simpleservice.webservice.wammis.com/types";>.
I feel in both the cases xmlns:ns should be  
"http://SimpleService.simpleservice.webservice.wammis.com/types";. Because this 
is what I have in my WSDl and my external non-java client is looking for this.


See below my WSDL
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions 
targetNamespace="http://SimpleService.simpleservice.webservice.wammis.com/types";
 xmlns:impl="http://SimpleService.simpleservice.webservice.wammis.com/types"; 
xmlns:intf="http://SimpleService.simpleservice.webservice.wammis.com/types"; 
xmlns:apachesoap="http://xml.apache.org/xml-soap"; 
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>
<!--WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)-->
 <wsdl:types>
  <schema xmlns="http://www.w3.org/2001/XMLSchema"; 
targetNamespace="http://SimpleService.simpleservice.webservice.wammis.com/types";
 elementFormDefault="qualified">
   <element name="inputPara" type="xsd:string"/>
   <complexType name="Contact">
    <sequence>
     <element name="firstName" nillable="true" type="xsd:string"/>
     <element name="lastName" nillable="true" type="xsd:string"/>
     <element name="name" nillable="true" type="xsd:string"/>
    </sequence>
   </complexType>
   <complexType name="ArrayOfContact">
    <sequence>
     <element name="item" type="impl:Contact" minOccurs="0" 
maxOccurs="unbounded"/>
    </sequence>
   </complexType>
   <element name="getAddressReturn">
    <complexType>
     <sequence>
      <element name="item" type="impl:Contact" minOccurs="0" 
maxOccurs="unbounded"/>
     </sequence>
    </complexType>
   </element>
   <element name="inputPara1" type="xsd:string"/>
   <element name="getContactReturn" type="impl:Contact"/>
  </schema>
 </wsdl:types>

   <wsdl:message name="getAddressRequest">

      <wsdl:part name="inputPara" element="impl:inputPara"/>

   </wsdl:message>

   <wsdl:message name="getAddressResponse">

      <wsdl:part name="getAddressReturn" element="impl:getAddressReturn"/>

   </wsdl:message>

   <wsdl:message name="getContactRequest">

      <wsdl:part name="inputPara" element="impl:inputPara1"/>

   </wsdl:message>

   <wsdl:message name="getContactResponse">

      <wsdl:part name="getContactReturn" element="impl:getContactReturn"/>

   </wsdl:message>

   <wsdl:portType name="SimpleService">

      <wsdl:operation name="getAddress" parameterOrder="inputPara">

         <wsdl:input name="getAddressRequest" message="impl:getAddressRequest"/>

         <wsdl:output name="getAddressResponse" 
message="impl:getAddressResponse"/>

      </wsdl:operation>

      <wsdl:operation name="getContact" parameterOrder="inputPara">

         <wsdl:input name="getContactRequest" message="impl:getContactRequest"/>

         <wsdl:output name="getContactResponse" 
message="impl:getContactResponse"/>

      </wsdl:operation>

   </wsdl:portType>

   <wsdl:binding name="SimpleServiceSoapBinding" type="impl:SimpleService">

      <wsdlsoap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"/>

      <wsdl:operation name="getAddress">

         <wsdlsoap:operation soapAction="getAddress"/>

         <wsdl:input name="getAddressRequest">

            <wsdlsoap:body use="literal"/>

         </wsdl:input>

         <wsdl:output name="getAddressResponse">

            <wsdlsoap:body use="literal"/>

         </wsdl:output>

      </wsdl:operation>

      <wsdl:operation name="getContact">

         <wsdlsoap:operation soapAction="getContact"/>

         <wsdl:input name="getContactRequest">

            <wsdlsoap:body use="literal"/>

         </wsdl:input>

         <wsdl:output name="getContactResponse">

            <wsdlsoap:body use="literal"/>

         </wsdl:output>

      </wsdl:operation>

   </wsdl:binding>

   <wsdl:service name="SimpleService">

      <wsdl:port name="SimpleService" binding="impl:SimpleServiceSoapBinding">

         <wsdlsoap:address 
location="http://localhost:9090/axis2/services/SimpleService"/>

      </wsdl:port>

   </wsdl:service>

</wsdl:definitions>












-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to