<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/ "
namespace="http://demo.radialpoint.com/service" use="literal" />
It should say:
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/ "
namespace="http://demo.radialpoint.com/service" use="encoded" />
You can use soapenc:array or SOAP encoding with use="literal".
Anne
On 3/15/06, Marc Brette <
[EMAIL PROTECTED]> wrote:
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
