Hi,
My problem of getting Inner Array Empty has been resolved using Axis 1.4 using WorkAround.

My web service method was returning an Array of ProductView class.

E.g. ProductView[] getProductList(String UUID)

 

Instead of directly returning an Array from method, I created a container class which contains ProductView array and defined my method returning object of this container class.

E.g. ContainerClass getProductList(String UUID)


Now I am getting correct reponse as I expected.
 
Anne: I will try out the solution you suggested.
Stanley: If possible you can try out this workaround.
 
Thanks you all for your great help!
 
Amit
 
 
 
On 7/7/06, Anne Thomas Manes <[EMAIL PROTECTED]> wrote:
You must deploy the service with your own WSDL --
add <wsdlFile>wsdl file path</wsdlFile> to your deployment descriptor.

Also, note, when defining the complex type, your embedded array
element should not be plural because the element will be repeated, not
wrapped in a container element:

<complexType name="ProductView">
   <complexContent>
     <extension base="tns2:BaseView">
       <sequence>
          <element name="productAttributeRegistryView" maxOccurs="unbounded"
             minOccurs="0" nillable="true"
type="tns1:ProductAttributeRegistryView"/>
       </sequence>
     </extension>
   </complexContent>
</complexType>

Anne

On 7/7/06, Amit Andhale < [EMAIL PROTECTED]> wrote:
> If I defined Array in unwrapped format in my WSDL then why it is showing me
> Wrapped Array after WSDL deployment in Axis 1.4!
>
>
>
> On 7/7/06, Amit Andhale < [EMAIL PROTECTED]> wrote:
> >
> >
> > Hi Anne,
> > I used WSDL First Approach and used unwrapped arrays.
> > When I deployed the web service, and accessed it from Internet Explorer it
> showed me a ArrayType.
> > E.G. In my WSDL I declared Array as an member of class as follows
> >
> > <complexType name="ProductView">
> > <complexContent>
> > <extension base="tns2:BaseView">
> > <sequence>
> > <element name="productAttributeRegistryViews"
> maxOccurs="unbounded" minOccurs="0" nillable="true"
> type="tns1:ProductAttributeRegistryView"/>
> > </sequence>
> > </extension>
> > </complexContent>
> > </complexType>
> >
> > But After deployement, when I browsed Webservice using
> > http://localhost:8080/MyApp/services/WSDLFirst?wsdl
> > It shows me
> >
> >
> > <complexType
> name="ArrayOf_tns1_ProductAttributeRegistryView">
> > <sequence>
> >   <element maxOccurs="unbounded" minOccurs="0" name="item"
> type="tns1:ProductAttributeRegistryView" />
> > </sequence>
> > </complexType>
> >
> > It is not according to my Actual WSDL.
> > When I access this webservice from .NET I still don't get values of Inner
> Array which is inside another Array!
> >
> >
> > Amit
> >
> >
> >
> > On 7/7/06, Amit Andhale <[EMAIL PROTECTED] > wrote:
> > >
> > >
> > > Hi ,
> > >
> > > Stanley: Thanks, by following steps you suggested I got the OutPut.
> > > But I update the web reference on .NET side, it will flush out my
> changes. So this is very rudimentory solution for me.
> > > How did you solve your problem?
> > >
> > > Anne: I got your point. I will try to use WSDL first approach and will
> unwrapp the Arrays.
> > >
> > >
> > > Amit
> > >
> > >
> > >
> > >
> > >
> > >
> > > On 7/7/06, Stanley Stanev < [EMAIL PROTECTED] > wrote:
> > > >
> > > >
> > > > We changed one of the XML serialization attributes of the array ITEM
> > > >
> > > > In the Reference.cs (generated proxy) we altered the individual
> response object (in the sample case we did FindAllCompaniesResponse)
> > > >
> > > > There is an XmlArrayItemAttribute("item", IsNullable=false)
> > > > that we changed to:
> > > > XmlArrayItemAttribute("companies", IsNullable=false)
> > > >
> > > > item ->companies
> > > >
> > > > in your case companies should be something else...
> > > >
> > > > enjoy,
> > > > Stanimir Stanev (Stanley)
> > > >
> > > >
> > > >
> > > > On 7/6/06, Amit Andhale <[EMAIL PROTECTED]> wrote:
> > > >
> > > >
> > > > Hi,
> > > > Thanks for prompt reply!
> > > > Yes! I do have "style=WRAPPED" in my WSDL.
> > > > I have not checked with "DOCUMENT" style. I will check it and post my
> reply
> > > > soon.
> > > >
> > > > Could you please tell me what changes you have made on .NET side Proxy
> > > > class?
> > > > This is very important task for me. And for the first time I am
> working on
> > > > Axis web service.
> > > >
> > > >
> > > > Amit
> > > >
> > > >
> > > >
> > > >
> > > > On 7/6/06, Stanley Stanev <[EMAIL PROTECTED]> wrote:
> > > > >
> > > > >
> > > > > Amit,
> > > > >
> > > > > we have solved this by changing a bit the generated proxy classes on
> the
> > > > .NET side, not good as it requires a very small change, but no way you
> can
> > > > fix this, bad for Axis 1.x
> > > > >
> > > > > also, I bet you have in your WSDD style="wrapped" when you describe
> your
> > > > service
> > > > >
> > > > > can you try with style="document", what is the result? what is the
> SOAP in
> > > > this case?
> > > > >
> > > > > thanks,
> > > > >
> > > > > Stanley Stanev
> > > > >
> > > > >
> > > > > Amit Andhale wrote:
> > > > >
> > > > >
> > > > > Hi John,
> > > > > Did your problem get solved using Axis2 or XFire?
> > > > >
> > > > > Amit
> > > > >
> > > > >
> > > > > On 7/5/06, Amit Andhale <[EMAIL PROTECTED] > wrote:
> > > > > >
> > > > > > Thanks John! I also tried out removing ArrayMapping from WSDD. But
> issue
> > > > still persists.
> > > > > >
> > > > > >
> > > > > >
> > > > > > On 7/5/06, john andersen <[EMAIL PROTECTED] > wrote:
> > > > > > >
> > > > > > > I ran into the exact same issue with both Axis 1.4 and Axis 1.3
> but I
> > > > used a gSOAP client instead of .NET - the array member tags were set
> to the
> > > > name of the enclosing array.  This problem does not exist in Axis2.
> Unless
> > > > this is a valid way to represent an array in XML, this seems to be an
> Axis
> > > > 1.3/1.4 issue.
> > > > > > >
> > > > > > > Can this be a configuration issue?  I have added/removed
> ArrayMappings
> > > > in the wsdd and have no idea what else I can poke to alter this
> behavior.
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > On 7/5/06, Amit Andhale < [EMAIL PROTECTED] > wrote:
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > Hi Anne,
> > > > > > > I rebooted the server and redeployed the service.
> > > > > > > I am still getting the SOAP Response in following fashion,
> > > > > > >
> > > > > > >
> > > > > > > <OuterObject>
> > > > > > >     <ArrayOfInnerObjects>
> > > > > > >
> <ArrayOfInnerObjects>....</ArrayOfInnerObjects>
> > > >   # WRONG
> > > > > > >
> <ArrayOfInnerObjects>....</ArrayOfInnerObjects>
> > > >   # WRONG
> > > > > > >     </ArrayOfInnerObjects>
> > > > > > >   </OuterObjects>
> > > > > > >
> > > > > > >
> > > > > > > Please find actual SOAP response below:
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > >
> ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > --
> > > > ----------------------------------------
> > > > Stanimir Stanev (Stanley)
> > > > Senior Java Developer
> > > > www.stanev.com
> > > > ----------------------------------------
> > > >
> > >
> > >
> >
> >
>
>

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


Reply via email to