Title: RE: changing from RPC to Document based encoding

Hi Everybody,

 

I'm trying to convert my rpc based web service to document style using axis 1.1 and am having some issues with the wsdl generated by java2wsdl. I need to get a Contact in my SOAP message which could have an array of addresses. When I use rpc I get following in my wsdl ( which shows that complexType Contact has an array of addresses):

 

 <complexType name="Contact">

    <sequence>

     <element name="arrayOfContactAddress" nillable="true" type="impl:ArrayOfContactAddress"/>

    </sequence>

</complexType>

     

<complexType name="ContactAddress">

    <sequence>

     <element name="personalCity" nillable="true" type="xsd:string"/>

     <element name="personalAddressName" nillable="true" type="xsd:string"/>

     <element name="personalCountry" nillable="true" type="xsd:string"/>

     <element name="personalStreetAddress" nillable="true" type="xsd:string"/>

  </sequence>

   </complexType>

   <complexType name="ArraryOfContactAddress">

    <complexContent>

     <restriction base="soapenc:Array">

      <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:ContactAddress[]"/>

     </restriction>

    </complexContent>

   </complexType>

 

 

But when I use "document-literal" style, things get weird in the wsdl generated from the very same java bean and I get this:

 

 

<complexType name="Contact">

    <sequence>    

     <element maxOccurs="unbounded" name="arrayOfContactAddress" nillable="true" type="impl:ContactAddress"/>

</sequence>

<complexType>

<complexType name="ContactAddress">

    <sequence>

     <element name="personalCity" nillable="true" type="xsd:string"/>

     <element name="personalAddressName" nillable="true" type="xsd:string"/>

     <element name="personalCountry" nillable="true" type="xsd:string"/>

     <element name="personalStreetAddress" nillable="true" type="xsd:string"/>

 

    </sequence>

<complexType>

 

In this case the child element "arrayOfContactAddress"  of Contact is no more of type array and so in the SOAP

Message element named arrayOfContactAddress is repeated over and over again, instead of an array which has elements of type

ContactAddress

 

And I need an array of address in a Contact.

 

How could this be taken care of in my document style web service.

 

And I may not be able to upgrade to axis 1.2

 

Thanks in advance.

 

Vikas

 

 

 

Reply via email to