Hi all, I seem to run in the same issue as Erik. I have an Axis client that sends incorrectly serialized request: missing enclosing parameter at array serialization. It worked with 1.1 but not with 1.3. I also noticed that in 1.3, the stubs generated are slightly different from the one generated with 1.1...
Is there any workaround or solution to this issue? PS.: I also tried the nightly build last friday without more success. > Subject: array serialization in 1.3 > From: Erik Wright <erik.wright () radialpoint ! com> > Date: 2006-01-31 20:44:27 > Message-ID: 1138740266.27449.59.camel () localhost ! localdomain > [Download message RAW] > > Hi, > > I have noticed that array parameters (in or out) seem to be serialized > incorrectly in Axis 1.3. I am attaching a sample WSDL here, along with > the corresponding input and output. In summary, instead of creating an > element for the array parameter (containing the array members) it > creates one element for each member, without any all-enclosing parent. > > Note that we are using WSDL2Java to generate the service implementation > from existing wsdl. > > WSDL snippet (complete wsdl attached): > > <wsdl:message name="DemoResponse"> > <wsdl:part name="Foos" type="impl:ArrayOfFoos" /> > <wsdl:part name="Bars" type="impl:ArrayOfBars" /> > <wsdl:part name="SomeNumber" type="impl:positiveFloat" /> > </wsdl:message> > > Serialized output (simplified slightly - complete output attached): > > <GetDemoResponse> > <Foos xsi:type="ns1:Foo"> > <MyPayload>hello</MyPayload> > </Foos> > <Bars xsi:type="ns2:Bar"> > <MyPayload>good</MyPayload> > </Bars> > <Bars xsi:type="ns3:Bar"> > <MyPayload>bye</MyPayload> > </Bars> > <SomeNumber xsi:type="ns4:positiveFloat">11.7</SomeNumber> > </GetDemoResponse> > > In Axis 1.1 this worked as expected. Is there anyway to get this to > serialize as: > > <GetDemoResponse> > <Foos xsi:type="ns1:ArrayOfFoos" soapenc:arrayType="ns1:Foo[1]" > > <Foo xsi:type="ns1:Foo"> > <MyPayload>hello</MyPayload> > </Foo> > </Foos> > <Bars xsi:type="ns1:ArrayOfBars" soapenc:arrayType="ns1:Bar[2]" > > <Bar xsi:type="ns2:Bar"> > <MyPayload>good</MyPayload> > </Bar> > <Bar xsi:type="ns3:Bar"> > <MyPayload>bye</MyPayload> > </Bar> > </Bars> > <SomeNumber xsi:type="ns4:positiveFloat">11.7</SomeNumber> > </GetDemoResponse> > > Thanks for your help in advance. > > -Erik > > ["demo.wsdl" (demo.wsdl)] > > <?xml version="1.0" encoding="UTF-8"?> > <wsdl:definitions > targetNamespace="http://demo.radialpoint.com/service" > xmlns="http://schemas.xmlsoap.org/wsdl/" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:impl="http://demo.radialpoint.com/service" > xmlns:type="http://demo.radialpoint.com/type"> > <wsdl:types> > <schema > targetNamespace="http://demo.radialpoint.com/type" > xmlns="http://www.w3.org/2001/XMLSchema"> > > <complexType name="Foo"> > <sequence> > <element name="MyPayload" type="xsd:string"/> > </sequence> > </complexType> > > <complexType name="Bar"> > <sequence> > <element name="MyPayload" type="xsd:string"/> > </sequence> > </complexType> > > <complexType name="Blah"> > <sequence> > <element name="MyPayload" type="xsd:string"/> > </sequence> > </complexType> > > <complexType name="Boing"> > <sequence> > <element name="MyPayload" type="xsd:string"/> > </sequence> > </complexType> > </schema> > > <schema > targetNamespace="http://demo.radialpoint.com/service" > xmlns="http://www.w3.org/2001/XMLSchema"> > <import namespace="http://demo.radialpoint.com/type"/> > > <complexType name="ArrayOfFoos"> > <complexContent> > <restriction base="soapenc:Array"> > <sequence> > <element name="Foo" > type="type:Foo" minOccurs="0" > maxOccurs="unbounded" /> > </sequence> > <attribute ref="soapenc:arrayType" > wsdl:arrayType="type:Foo[]" /> > </restriction> > </complexContent> > </complexType> > > <complexType name="ArrayOfBars"> > <complexContent> > <restriction base="soapenc:Array"> > <sequence> > <element name="Bar" > type="type:Bar" minOccurs="0" > maxOccurs="unbounded" /> > </sequence> > <attribute ref="soapenc:arrayType" > wsdl:arrayType="type:Bar[]" /> > </restriction> > </complexContent> > </complexType> > > <complexType name="ArrayOfBlahs"> > <complexContent> > <restriction base="soapenc:Array"> > <sequence> > <element name="Blah" > type="type:Blah" minOccurs="0" > maxOccurs="unbounded" /> > </sequence> > <attribute ref="soapenc:arrayType" > wsdl:arrayType="type:Blah[]" /> > </restriction> > </complexContent> > </complexType> > > <complexType name="CustomException"> > <sequence> > </sequence> > </complexType> > > <simpleType name='positiveFloat'> > <restriction base='float'> > <minInclusive value='0.0' /> > </restriction> > </simpleType> > > </schema> > </wsdl:types> > > <wsdl:message name="CustomException"> > <wsdl:part name="CustomException" type="impl:CustomException"/> > </wsdl:message> > > <wsdl:message name="DemoRequest"> > <wsdl:part name="Boing" type="type:Boing" /> > <wsdl:part name="Blahs" type="impl:ArrayOfBlahs" /> > </wsdl:message> > > <wsdl:message name="DemoResponse"> > <wsdl:part name="Foos" type="impl:ArrayOfFoos" /> > <wsdl:part name="Bars" type="impl:ArrayOfBars" /> > <wsdl:part name="SomeNumber" type="impl:positiveFloat" /> > </wsdl:message> > > <wsdl:portType name="DemoService"> > <wsdl:operation name="GetDemo" > parameterOrder="Boing Blahs"> > <wsdl:input message="impl:DemoRequest" > name="DemoRequest" /> > <wsdl:output message="impl:DemoResponse" > name="DemoResponse" /> > <wsdl:fault message="impl:CustomException" > name="CustomException" /> > </wsdl:operation> > </wsdl:portType> > > <wsdl:binding name="DemoServiceSoapBinding" > type="impl:DemoService"> > <wsdlsoap:binding style="rpc" > transport="http://schemas.xmlsoap.org/soap/http" /> > <wsdl:operation name="GetDemo"> > <wsdlsoap:operation soapAction="" /> > <wsdl:input name="DemoRequest"> > <wsdlsoap:body > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > namespace="http://demo.radialpoint.com/service" > use="literal" /> > </wsdl:input> > <wsdl:output name="DemoResponse"> > <wsdlsoap:body > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > namespace="http://demo.radialpoint.com/service" > use="literal" /> > </wsdl:output> > <wsdl:fault name="CustomException"> > <wsdlsoap:fault > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > namespace="http://demo.radialpoint.com/service" > use="literal"/> > </wsdl:fault> > </wsdl:operation> > </wsdl:binding> > > <wsdl:service name="DemoService"> > <wsdl:port binding="impl:DemoServiceSoapBinding" > name="demo-service/1.0"> > <wsdlsoap:address > location="http://localhost:7001/demo-service/services/demo-service/1.0" /> > </wsdl:port> > </wsdl:service> > </wsdl:definitions> > > ["axis.stream" (axis.stream)] > > POST /demo-service/services/demo-service/1.0 HTTP/1.0 > Content-Type: text/xml; charset=utf-8 > Accept: application/soap+xml, application/dime, multipart/related, text/* > User-Agent: Axis/1.4 > Host: localhost:7001 > Cache-Control: no-cache > Pragma: no-cache > SOAPAction: "" > Content-Length: 499 > > <?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><GetDemo \ > xmlns="http://demo.radialpoint.com/service"><Boing xmlns=""><MyPayload>boing \ > boing</MyPayload></Boing><Blahs xmlns=""><Blahs><MyPayload>nyuk \ > nyuk</MyPayload></Blahs><Blahs><MyPayload>da da \ > da</MyPayload></Blahs></Blahs></GetDemo></soapenv:Body></soapenv:Envelope> HTTP/1.1 \ > 200 OK > Connection: close > Date: Tue, 31 Jan 2006 20:25:43 GMT > Content-Type: text/xml; charset=utf-8 > X-Powered-By: Servlet/2.4 JSP/2.0 > > > <?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><GetDemoResponse \ > xmlns="http://demo.radialpoint.com/service"><Foos xsi:type="ns1:Foo" xmlns="" \ > xmlns:ns1="http://demo.radialpoint.com/type"><MyPayload>hello</MyPayload></Foos><Bars \ > xsi:type="ns2:Bar" xmlns="" \ > xmlns:ns2="http://demo.radialpoint.com/type"><MyPayload>good</MyPayload></Bars><Bars \ > xsi:type="ns3:Bar" xmlns="" \ > xmlns:ns3="http://demo.radialpoint.com/type"><MyPayload>bye</MyPayload></Bars><SomeNum \ > ber xsi:type="ns4:positiveFloat" xmlns="" \ > xmlns:ns4="http://demo.radialpoint.com/service">11.7</SomeNumber></GetDemoResponse></s \ > oapenv:Body></soapenv:Envelope> ___________________________________________________________________________ Nouveau : téléphonez moins cher avec Yahoo! Messenger ! Découvez les tarifs exceptionnels pour appeler la France et l'international. Téléchargez sur http://fr.messenger.yahoo.com
