You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Marc Brette <mb...@yahoo.fr> on 2006/03/15 12:32:18 UTC
Re: array serialization in 1.3
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
Re: array serialization in 1.3
Posted by Marc Brette <mb...@yahoo.fr>.
Here it is:
<simpleType name="Locale">
<restriction base="language">
<enumeration value="en-US" />
<enumeration value="en-GB" />
<enumeration value="fr" />
<enumeration value="de" />
<enumeration value="en-AU" />
<enumeration value="en-NZ" />
<enumeration value="en-CA" />
<enumeration value="fr-CA" />
</restriction>
</simpleType>
<complexType name="BaseRequest">
<sequence>
<element name="locale" type="tns:Locale"
minOccurs="0" default="en-US">
<annotation>
<documentation>
Optional locale indicating language of request.
Used when it is
necessary to distinguish
language of certain elements in the request
parameters (search terms, source
selection, etc.)
</documentation>
</annotation>
</element>
</sequence>
</complexType>
--- Anne Thomas Manes <at...@gmail.com> a écrit :
> Please also provide the tyoe definition of
> common:BaseRequest.
>
> On 3/20/06, Marc Brette <mb...@yahoo.fr> wrote:
> >
> > Here it is. It is quite complex because there are
> > dozens of operation and .xsd inclusion, so I just
> > extracted the relevant data structures (I can
> provide
> > the whole WSDL if needed).
> >
> > WSDL:
> > [...]
> > <import
> >
>
namespace="http://search.search.services.v1.wsapi.lexisnexis.com"
> > schemaLocation="Search.xsd"/>
> > [...]
> > <message name="Search-SearchReqMsg">
> > <part element="search-search:Search"
> > name="SearchRequest"/>
> > </message>
> > <message name="Search-SearchRespMsg">
> > <part
> element="search-search:SearchResponse"
> > name="SearchResponse"/>
> > </message>
> > [...]
> > <portType name="SearchSoapPort">
> > <operation name="Search">
> > <input
> message="tns:Search-SearchReqMsg"/>
> > <output
> message="tns:Search-SearchRespMsg"/>
> > </operation>
> > </portType>
> > [...]
> > <binding name="SearchSoapBinding"
> > type="tns:SearchSoapPort">
> > <soap11:binding style="document"
> > transport="http://schemas.xmlsoap.org/soap/http"/>
> > <operation name="Search">
> > <soap11:operation soapAction=""/>
> > <input>
> > <soap11:body
> use="literal"/>
> > </input>
> > <output>
> > <soap11:body
> use="literal"/>
> > </output>
> > </operation>
> > <operation name="NarrowSearch">
> > <soap11:operation soapAction=""/>
> > <input>
> > <soap11:body
> use="literal"/>
> > </input>
> > <output>
> > <soap11:body
> use="literal"/>
> > </output>
> > </operation>
> > </binding>
> > [...]
> >
> >
> > Search.xsd:
> > <?xml version="1.0" encoding="UTF-8"?>
> > <schema xmlns="http://www.w3.org/2001/XMLSchema"
> >
> >
>
targetNamespace="http://search.search.services.v1.wsapi.lexisnexis.com"
> >
> >
>
xmlns:tns="http://search.search.services.v1.wsapi.lexisnexis.com"
> >
> >
>
xmlns:common="http://common.services.v1.wsapi.lexisnexis.com"
> >
> >
>
xmlns:result="http://result.common.services.v1.wsapi.lexisnexis.com"
> >
> >
>
xmlns:searchcommon="http://common.search.services.v1.wsapi.lexisnexis.com"
> >
> >
>
xmlns:security="http://security.common.services.v1.wsapi.lexisnexis.com"
> > elementFormDefault="qualified"
> > attributeFormDefault="unqualified"
> > version="1.0">
> >
> > <import
> >
>
namespace="http://common.services.v1.wsapi.lexisnexis.com"
> > schemaLocation="Common.xsd"/>
> > <import
> >
>
namespace="http://result.common.services.v1.wsapi.lexisnexis.com"
> > schemaLocation="Result.xsd"/>
> > <import
> >
>
namespace="http://common.search.services.v1.wsapi.lexisnexis.com"
> > schemaLocation="SearchCommon.xsd"/>
> > <import
> >
>
namespace="http://security.common.services.v1.wsapi.lexisnexis.com"
> > schemaLocation="Security.xsd"/>
> >
> > <!-- Message elements -->
> > <element name="Search" type="tns:Search">
> > <annotation>
> > <documentation>
> > Represents a LexisNexis search and
> retrieval.
> > Many options are
> > exposed to allow a user to customize the
> > search request.
> > </documentation>
> > </annotation>
> > </element>
> >
> > <element name="SearchResponse"
> > type="result:SearchResponse">
> > <annotation>
> > <documentation>
> > The response from a search request is a
> set of
> > search results,
> > containing document identifiers along with
> > documents in the
> > specified or default output format.
> > </documentation>
> > </annotation>
> > </element>
> >
> > <!-- Types -->
> > <complexType name="Search">
> > <complexContent>
> > <extension base="common:BaseRequest">
> > <sequence>
> > <element name="binarySecurityToken"
> > type="security:BinarySecurityToken">
> > <annotation>
> > <documentation>
> >
> > <example>f4348ad8876542bc93748c89fb98a7e</example>
> > Security token that must be
> provided on
> > all non-authentication
> > requests.
> > </documentation>
> > </annotation>
> > </element>
> > <element name="sourceInformation"
> > type="searchcommon:SourceInformationChoice">
> > <annotation>
> > <documentation>
> > Either a list of source
> identifiers or
> > a single secured
> > source identifier.
> > </documentation>
> > </annotation>
> > </element>
> > <element name="query" type="string">
> > <annotation>
> > <documentation>
> > <example>cats and dogs and
> > hamsters</example>
> > Query string for the search
> request,
> > formatted in the
> > appropriate syntax for the
> selected
> > search method.
> > </documentation>
> > </annotation>
> > </element>
> > <element name="projectId"
> > type="common:ProjectId" minOccurs="0">
> > <annotation>
> > <documentation>
> > <example>Research Project
> 001</example>
> > Used for client or project
> identification
> > purposes. This
> > identifier will be associated
> with each
> > search transaction
> > and will be reported on your
> > organization's invoice.
> > </documentation>
> > </annotation>
> > </element>
> > <element name="searchOptions"
> > type="searchcommon:SearchOptions" minOccurs="0">
> > <annotation>
> > <documentation>
> > Options pertaining to
> fine-tuning
=== message truncated ===
___________________________________________________________________________
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
Re: array serialization in 1.3
Posted by Anne Thomas Manes <at...@gmail.com>.
Please also provide the tyoe definition of common:BaseRequest.
On 3/20/06, Marc Brette <mb...@yahoo.fr> wrote:
>
> Here it is. It is quite complex because there are
> dozens of operation and .xsd inclusion, so I just
> extracted the relevant data structures (I can provide
> the whole WSDL if needed).
>
> WSDL:
> [...]
> <import
> namespace="http://search.search.services.v1.wsapi.lexisnexis.com"
> schemaLocation="Search.xsd"/>
> [...]
> <message name="Search-SearchReqMsg">
> <part element="search-search:Search"
> name="SearchRequest"/>
> </message>
> <message name="Search-SearchRespMsg">
> <part element="search-search:SearchResponse"
> name="SearchResponse"/>
> </message>
> [...]
> <portType name="SearchSoapPort">
> <operation name="Search">
> <input message="tns:Search-SearchReqMsg"/>
> <output message="tns:Search-SearchRespMsg"/>
> </operation>
> </portType>
> [...]
> <binding name="SearchSoapBinding"
> type="tns:SearchSoapPort">
> <soap11:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> <operation name="Search">
> <soap11:operation soapAction=""/>
> <input>
> <soap11:body use="literal"/>
> </input>
> <output>
> <soap11:body use="literal"/>
> </output>
> </operation>
> <operation name="NarrowSearch">
> <soap11:operation soapAction=""/>
> <input>
> <soap11:body use="literal"/>
> </input>
> <output>
> <soap11:body use="literal"/>
> </output>
> </operation>
> </binding>
> [...]
>
>
> Search.xsd:
> <?xml version="1.0" encoding="UTF-8"?>
> <schema xmlns="http://www.w3.org/2001/XMLSchema"
>
> targetNamespace="http://search.search.services.v1.wsapi.lexisnexis.com"
>
> xmlns:tns="http://search.search.services.v1.wsapi.lexisnexis.com"
>
> xmlns:common="http://common.services.v1.wsapi.lexisnexis.com"
>
> xmlns:result="http://result.common.services.v1.wsapi.lexisnexis.com"
>
> xmlns:searchcommon="http://common.search.services.v1.wsapi.lexisnexis.com"
>
> xmlns:security="http://security.common.services.v1.wsapi.lexisnexis.com"
> elementFormDefault="qualified"
> attributeFormDefault="unqualified"
> version="1.0">
>
> <import
> namespace="http://common.services.v1.wsapi.lexisnexis.com"
> schemaLocation="Common.xsd"/>
> <import
> namespace="http://result.common.services.v1.wsapi.lexisnexis.com"
> schemaLocation="Result.xsd"/>
> <import
> namespace="http://common.search.services.v1.wsapi.lexisnexis.com"
> schemaLocation="SearchCommon.xsd"/>
> <import
> namespace="http://security.common.services.v1.wsapi.lexisnexis.com"
> schemaLocation="Security.xsd"/>
>
> <!-- Message elements -->
> <element name="Search" type="tns:Search">
> <annotation>
> <documentation>
> Represents a LexisNexis search and retrieval.
> Many options are
> exposed to allow a user to customize the
> search request.
> </documentation>
> </annotation>
> </element>
>
> <element name="SearchResponse"
> type="result:SearchResponse">
> <annotation>
> <documentation>
> The response from a search request is a set of
> search results,
> containing document identifiers along with
> documents in the
> specified or default output format.
> </documentation>
> </annotation>
> </element>
>
> <!-- Types -->
> <complexType name="Search">
> <complexContent>
> <extension base="common:BaseRequest">
> <sequence>
> <element name="binarySecurityToken"
> type="security:BinarySecurityToken">
> <annotation>
> <documentation>
>
> <example>f4348ad8876542bc93748c89fb98a7e</example>
> Security token that must be provided on
> all non-authentication
> requests.
> </documentation>
> </annotation>
> </element>
> <element name="sourceInformation"
> type="searchcommon:SourceInformationChoice">
> <annotation>
> <documentation>
> Either a list of source identifiers or
> a single secured
> source identifier.
> </documentation>
> </annotation>
> </element>
> <element name="query" type="string">
> <annotation>
> <documentation>
> <example>cats and dogs and
> hamsters</example>
> Query string for the search request,
> formatted in the
> appropriate syntax for the selected
> search method.
> </documentation>
> </annotation>
> </element>
> <element name="projectId"
> type="common:ProjectId" minOccurs="0">
> <annotation>
> <documentation>
> <example>Research Project 001</example>
> Used for client or project identification
> purposes. This
> identifier will be associated with each
> search transaction
> and will be reported on your
> organization's invoice.
> </documentation>
> </annotation>
> </element>
> <element name="searchOptions"
> type="searchcommon:SearchOptions" minOccurs="0">
> <annotation>
> <documentation>
> Options pertaining to fine-tuning the
> search.
> </documentation>
> </annotation>
> </element>
> <element name="retrievalOptions"
> type="result:RetrievalOptions" minOccurs="0">
> <annotation>
> <documentation>
> Options pertaining to the view, markup,
> and range of documents retrieved from
> the result set returned from the search.
> </documentation>
> </annotation>
> </element>
> </sequence>
> </extension>
> </complexContent>
> </complexType>
>
> </schema>
>
>
> SearchCommon.xsd:
> <?xml version="1.0" encoding="UTF-8"?>
> <schema xmlns="http://www.w3.org/2001/XMLSchema"
>
> targetNamespace="http://common.search.services.v1.wsapi.lexisnexis.com"
>
> xmlns:tns="http://common.search.services.v1.wsapi.lexisnexis.com"
>
> xmlns:result="http://result.common.services.v1.wsapi.lexisnexis.com"
>
> xmlns:common="http://common.services.v1.wsapi.lexisnexis.com"
> elementFormDefault="qualified"
> attributeFormDefault="unqualified"
> version="1.0">
>
> <import
> namespace="http://result.common.services.v1.wsapi.lexisnexis.com"
> schemaLocation="Result.xsd"/>
> <import
> namespace="http://common.services.v1.wsapi.lexisnexis.com"
> schemaLocation="Common.xsd"/>
>
> <!-- Common search request type definitions -->
> <complexType name="SourceInformationChoice">
> <sequence>
> <element name="sourceIdList"
> type="common:SourceIdList" minOccurs="0">
> <annotation>
> <documentation>
> A grouping of LexisNexis sources.
> Mutually exclusive of
> the securedSourceId element.
> </documentation>
> </annotation>
> </element>
> <element name="securedSourceId" type="string"
> minOccurs="0">
> <annotation>
> <documentation>
> Unique identifier for a "secured"
> LexisNexis source. Mutually
> exclusive of the sourceIdList element.
> </documentation>
> </annotation>
> </element>
> </sequence>
> </complexType>
> [...]
>
> Common.xsd:
> <?xml version="1.0" encoding="UTF-8"?>
> <schema xmlns="http://www.w3.org/2001/XMLSchema"
>
> targetNamespace="http://common.services.v1.wsapi.lexisnexis.com"
>
> xmlns:tns="http://common.services.v1.wsapi.lexisnexis.com"
> elementFormDefault="qualified"
> attributeFormDefault="unqualified" version="1.0">
>
> [...]
>
> <complexType name="SourceIdList">
> <sequence>
> <element ref="tns:sourceId" maxOccurs="10000">
> <annotation>
> <documentation>Unique identifier for a
> standard LexisNexis source.</documentation>
> </annotation>
> </element>
> </sequence>
> </complexType>
>
> <element name="sourceId" type="integer">
> <annotation>
> <documentation>Unique identifier for a standard
> LexisNexis source.</documentation>
> </annotation>
> </element>
> [...]
> --- Anne Thomas Manes <at...@gmail.com> a écrit :
>
> > Would you please supply the rest of the WSDL? (or at
> > least the bits that
> > describe the message and element structure)
> >
> > Anne
> >
> > On 3/16/06, Marc Brette <mb...@yahoo.fr> wrote:
> > >
> > > Then this may not be the same issue. The binding
> > is
> > > defined as follow:
> > > <binding name="SearchSoapBinding"
> > > type="tns:SearchSoapPort">
> > > <soap11:binding style="document"
> > > transport="http://schemas.xmlsoap.org/soap/http"/>
> > > <operation name="Search">
> > > <soap11:operation soapAction=""/>
> > > <input>
> > > <soap11:body use="literal"/>
> > > </input>
> > > <output>
> > > <soap11:body use="literal"/>
> > > </output>
> > > </operation>
> > > <operation name="NarrowSearch">
> > > <soap11:operation soapAction=""/>
> > > <input>
> > > <soap11:body use="literal"/>
> > > </input>
> > > <output>
> > > <soap11:body use="literal"/>
> > > </output>
> > > </operation>
> > > </binding>
> > >
> > > See below the axis 1.1 request (that works) and
> > the
> > > axis 1.3 request:
> > > 1.1: (I cut some part for simplicity sake)
> > > <?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>
> > > <Search
> > >
> >
> xmlns="http://search.search.services.v1.wsapi.lexisnexis.com">
> > >
> > <binarySecurityToken>[...]</binarySecurityToken>
> > > <sourceInformation>
> > > <ns1:sourceIdList
> > >
> >
> xmlns:ns1="http://common.search.services.v1.wsapi.lexisnexis.com">
> > > <ns2:sourceId
> > >
> >
> xmlns:ns2="http://common.services.v1.wsapi.lexisnexis.com
> > > ">274668</ns2:sourceId>
> > > </ns1:sourceIdList>
> > > </sourceInformation>
> > > <query>[...]</query>
> > > <projectId>[...]</projectId>
> > > <searchOptions>[...]
> > > </searchOptions>
> > > <retrievalOptions>[...]
> > > </retrievalOptions>
> > > </Search>
> > > </soapenv:Body>
> > > </soapenv:Envelope>
> > >
> > > 1.3 (look at the difference in the sourceIdList
> > tag)
> > > <?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>
> > > <Search
> > >
> >
> xmlns="http://search.search.services.v1.wsapi.lexisnexis.com">
> > >
> > <binarySecurityToken>[...]</binarySecurityToken>
> > > <sourceInformation>
> > > <ns1:sourceIdList xsi:type="xsd:integer"
> > >
> >
> xmlns:ns1="http://common.search.services.v1.wsapi.lexisnexis.com
> > > ">274668</ns1:sourceIdList>
> > > </sourceInformation>
> > > <query>[...]</query>
> > > <projectId>[...]</projectId>
> > > <searchOptions>[...]</searchOptions>
> > > <retrievalOptions>[...]</retrievalOptions>
> > > </Search>
> > > </soapenv:Body>
> > > </soapenv:Envelope>
> > >
> > > --- Anne Thomas Manes <at...@gmail.com> a écrit
> > :
> > >
> > > > Sorry -- that was a typo:
> > > >
> > > > You *cannot* use soapenc:array or SOAP encoding
> > with
> > > > use="literal".
> > > >
> > > > Anne
> > > >
> > > > On 3/15/06, Dies Koper <di...@jp.fujitsu.com>
> > wrote:
> > > > >
> > > > > Hello Anne,
> > > > >
> > > > > Recently, I noticed a few issues with WSDL
> > files
> > > > that used soapenc:array
> > > > > or simple types such as soapenc:int with
> > > > use=literal. What are the
> > > > > consequences of this mixing? What should be
> > > > happening?
> > > > >
> > > > > For example, the JAX-RPC specification says
> > that
> > > > all soapenc types are
> > > > > nillable. Does that mean <element
> > > > type="soapenc:int" nillable="false"/>
> > > > > still maps to Integer (not int)? Or only when
> > > > use="encoded"?
> > > > >
> > > > > > <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".
> > > > >
> > > > > If you can, does that mean that Erik could
> > also
> > > > fix it like this?
> > > > >
> > > > > <wsdlsoap:body
> > > > namespace="http://demo.radialpoint.com/service"
> > > > > use="literal" />
> > > > >
> > > > > Thanks,
> > > > > Dies
> > > > >
> > > > >
> > > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
>
> ___________________________________________________________________________
> > > 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
> > >
> >
>
>
>
>
>
>
>
>
> ___________________________________________________________________________
> 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
>
Re: array serialization in 1.3
Posted by Marc Brette <mb...@yahoo.fr>.
Here it is. It is quite complex because there are
dozens of operation and .xsd inclusion, so I just
extracted the relevant data structures (I can provide
the whole WSDL if needed).
WSDL:
[...]
<import
namespace="http://search.search.services.v1.wsapi.lexisnexis.com"
schemaLocation="Search.xsd"/>
[...]
<message name="Search-SearchReqMsg">
<part element="search-search:Search"
name="SearchRequest"/>
</message>
<message name="Search-SearchRespMsg">
<part element="search-search:SearchResponse"
name="SearchResponse"/>
</message>
[...]
<portType name="SearchSoapPort">
<operation name="Search">
<input message="tns:Search-SearchReqMsg"/>
<output message="tns:Search-SearchRespMsg"/>
</operation>
</portType>
[...]
<binding name="SearchSoapBinding"
type="tns:SearchSoapPort">
<soap11:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="Search">
<soap11:operation soapAction=""/>
<input>
<soap11:body use="literal"/>
</input>
<output>
<soap11:body use="literal"/>
</output>
</operation>
<operation name="NarrowSearch">
<soap11:operation soapAction=""/>
<input>
<soap11:body use="literal"/>
</input>
<output>
<soap11:body use="literal"/>
</output>
</operation>
</binding>
[...]
Search.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://search.search.services.v1.wsapi.lexisnexis.com"
xmlns:tns="http://search.search.services.v1.wsapi.lexisnexis.com"
xmlns:common="http://common.services.v1.wsapi.lexisnexis.com"
xmlns:result="http://result.common.services.v1.wsapi.lexisnexis.com"
xmlns:searchcommon="http://common.search.services.v1.wsapi.lexisnexis.com"
xmlns:security="http://security.common.services.v1.wsapi.lexisnexis.com"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="1.0">
<import
namespace="http://common.services.v1.wsapi.lexisnexis.com"
schemaLocation="Common.xsd"/>
<import
namespace="http://result.common.services.v1.wsapi.lexisnexis.com"
schemaLocation="Result.xsd"/>
<import
namespace="http://common.search.services.v1.wsapi.lexisnexis.com"
schemaLocation="SearchCommon.xsd"/>
<import
namespace="http://security.common.services.v1.wsapi.lexisnexis.com"
schemaLocation="Security.xsd"/>
<!-- Message elements -->
<element name="Search" type="tns:Search">
<annotation>
<documentation>
Represents a LexisNexis search and retrieval.
Many options are
exposed to allow a user to customize the
search request.
</documentation>
</annotation>
</element>
<element name="SearchResponse"
type="result:SearchResponse">
<annotation>
<documentation>
The response from a search request is a set of
search results,
containing document identifiers along with
documents in the
specified or default output format.
</documentation>
</annotation>
</element>
<!-- Types -->
<complexType name="Search">
<complexContent>
<extension base="common:BaseRequest">
<sequence>
<element name="binarySecurityToken"
type="security:BinarySecurityToken">
<annotation>
<documentation>
<example>f4348ad8876542bc93748c89fb98a7e</example>
Security token that must be provided on
all non-authentication
requests.
</documentation>
</annotation>
</element>
<element name="sourceInformation"
type="searchcommon:SourceInformationChoice">
<annotation>
<documentation>
Either a list of source identifiers or
a single secured
source identifier.
</documentation>
</annotation>
</element>
<element name="query" type="string">
<annotation>
<documentation>
<example>cats and dogs and
hamsters</example>
Query string for the search request,
formatted in the
appropriate syntax for the selected
search method.
</documentation>
</annotation>
</element>
<element name="projectId"
type="common:ProjectId" minOccurs="0">
<annotation>
<documentation>
<example>Research Project 001</example>
Used for client or project identification
purposes. This
identifier will be associated with each
search transaction
and will be reported on your
organization's invoice.
</documentation>
</annotation>
</element>
<element name="searchOptions"
type="searchcommon:SearchOptions" minOccurs="0">
<annotation>
<documentation>
Options pertaining to fine-tuning the
search.
</documentation>
</annotation>
</element>
<element name="retrievalOptions"
type="result:RetrievalOptions" minOccurs="0">
<annotation>
<documentation>
Options pertaining to the view, markup,
and range of documents retrieved from
the result set returned from the search.
</documentation>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
</schema>
SearchCommon.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://common.search.services.v1.wsapi.lexisnexis.com"
xmlns:tns="http://common.search.services.v1.wsapi.lexisnexis.com"
xmlns:result="http://result.common.services.v1.wsapi.lexisnexis.com"
xmlns:common="http://common.services.v1.wsapi.lexisnexis.com"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="1.0">
<import
namespace="http://result.common.services.v1.wsapi.lexisnexis.com"
schemaLocation="Result.xsd"/>
<import
namespace="http://common.services.v1.wsapi.lexisnexis.com"
schemaLocation="Common.xsd"/>
<!-- Common search request type definitions -->
<complexType name="SourceInformationChoice">
<sequence>
<element name="sourceIdList"
type="common:SourceIdList" minOccurs="0">
<annotation>
<documentation>
A grouping of LexisNexis sources.
Mutually exclusive of
the securedSourceId element.
</documentation>
</annotation>
</element>
<element name="securedSourceId" type="string"
minOccurs="0">
<annotation>
<documentation>
Unique identifier for a "secured"
LexisNexis source. Mutually
exclusive of the sourceIdList element.
</documentation>
</annotation>
</element>
</sequence>
</complexType>
[...]
Common.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://common.services.v1.wsapi.lexisnexis.com"
xmlns:tns="http://common.services.v1.wsapi.lexisnexis.com"
elementFormDefault="qualified"
attributeFormDefault="unqualified" version="1.0">
[...]
<complexType name="SourceIdList">
<sequence>
<element ref="tns:sourceId" maxOccurs="10000">
<annotation>
<documentation>Unique identifier for a
standard LexisNexis source.</documentation>
</annotation>
</element>
</sequence>
</complexType>
<element name="sourceId" type="integer">
<annotation>
<documentation>Unique identifier for a standard
LexisNexis source.</documentation>
</annotation>
</element>
[...]
--- Anne Thomas Manes <at...@gmail.com> a écrit :
> Would you please supply the rest of the WSDL? (or at
> least the bits that
> describe the message and element structure)
>
> Anne
>
> On 3/16/06, Marc Brette <mb...@yahoo.fr> wrote:
> >
> > Then this may not be the same issue. The binding
> is
> > defined as follow:
> > <binding name="SearchSoapBinding"
> > type="tns:SearchSoapPort">
> > <soap11:binding style="document"
> > transport="http://schemas.xmlsoap.org/soap/http"/>
> > <operation name="Search">
> > <soap11:operation soapAction=""/>
> > <input>
> > <soap11:body use="literal"/>
> > </input>
> > <output>
> > <soap11:body use="literal"/>
> > </output>
> > </operation>
> > <operation name="NarrowSearch">
> > <soap11:operation soapAction=""/>
> > <input>
> > <soap11:body use="literal"/>
> > </input>
> > <output>
> > <soap11:body use="literal"/>
> > </output>
> > </operation>
> > </binding>
> >
> > See below the axis 1.1 request (that works) and
> the
> > axis 1.3 request:
> > 1.1: (I cut some part for simplicity sake)
> > <?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>
> > <Search
> >
>
xmlns="http://search.search.services.v1.wsapi.lexisnexis.com">
> >
> <binarySecurityToken>[...]</binarySecurityToken>
> > <sourceInformation>
> > <ns1:sourceIdList
> >
>
xmlns:ns1="http://common.search.services.v1.wsapi.lexisnexis.com">
> > <ns2:sourceId
> >
>
xmlns:ns2="http://common.services.v1.wsapi.lexisnexis.com
> > ">274668</ns2:sourceId>
> > </ns1:sourceIdList>
> > </sourceInformation>
> > <query>[...]</query>
> > <projectId>[...]</projectId>
> > <searchOptions>[...]
> > </searchOptions>
> > <retrievalOptions>[...]
> > </retrievalOptions>
> > </Search>
> > </soapenv:Body>
> > </soapenv:Envelope>
> >
> > 1.3 (look at the difference in the sourceIdList
> tag)
> > <?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>
> > <Search
> >
>
xmlns="http://search.search.services.v1.wsapi.lexisnexis.com">
> >
> <binarySecurityToken>[...]</binarySecurityToken>
> > <sourceInformation>
> > <ns1:sourceIdList xsi:type="xsd:integer"
> >
>
xmlns:ns1="http://common.search.services.v1.wsapi.lexisnexis.com
> > ">274668</ns1:sourceIdList>
> > </sourceInformation>
> > <query>[...]</query>
> > <projectId>[...]</projectId>
> > <searchOptions>[...]</searchOptions>
> > <retrievalOptions>[...]</retrievalOptions>
> > </Search>
> > </soapenv:Body>
> > </soapenv:Envelope>
> >
> > --- Anne Thomas Manes <at...@gmail.com> a écrit
> :
> >
> > > Sorry -- that was a typo:
> > >
> > > You *cannot* use soapenc:array or SOAP encoding
> with
> > > use="literal".
> > >
> > > Anne
> > >
> > > On 3/15/06, Dies Koper <di...@jp.fujitsu.com>
> wrote:
> > > >
> > > > Hello Anne,
> > > >
> > > > Recently, I noticed a few issues with WSDL
> files
> > > that used soapenc:array
> > > > or simple types such as soapenc:int with
> > > use=literal. What are the
> > > > consequences of this mixing? What should be
> > > happening?
> > > >
> > > > For example, the JAX-RPC specification says
> that
> > > all soapenc types are
> > > > nillable. Does that mean <element
> > > type="soapenc:int" nillable="false"/>
> > > > still maps to Integer (not int)? Or only when
> > > use="encoded"?
> > > >
> > > > > <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".
> > > >
> > > > If you can, does that mean that Erik could
> also
> > > fix it like this?
> > > >
> > > > <wsdlsoap:body
> > > namespace="http://demo.radialpoint.com/service"
> > > > use="literal" />
> > > >
> > > > Thanks,
> > > > Dies
> > > >
> > > >
> > >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
___________________________________________________________________________
> > 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
> >
>
___________________________________________________________________________
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
Re: array serialization in 1.3
Posted by Anne Thomas Manes <at...@gmail.com>.
Would you please supply the rest of the WSDL? (or at least the bits that
describe the message and element structure)
Anne
On 3/16/06, Marc Brette <mb...@yahoo.fr> wrote:
>
> Then this may not be the same issue. The binding is
> defined as follow:
> <binding name="SearchSoapBinding"
> type="tns:SearchSoapPort">
> <soap11:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> <operation name="Search">
> <soap11:operation soapAction=""/>
> <input>
> <soap11:body use="literal"/>
> </input>
> <output>
> <soap11:body use="literal"/>
> </output>
> </operation>
> <operation name="NarrowSearch">
> <soap11:operation soapAction=""/>
> <input>
> <soap11:body use="literal"/>
> </input>
> <output>
> <soap11:body use="literal"/>
> </output>
> </operation>
> </binding>
>
> See below the axis 1.1 request (that works) and the
> axis 1.3 request:
> 1.1: (I cut some part for simplicity sake)
> <?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>
> <Search
> xmlns="http://search.search.services.v1.wsapi.lexisnexis.com">
> <binarySecurityToken>[...]</binarySecurityToken>
> <sourceInformation>
> <ns1:sourceIdList
> xmlns:ns1="http://common.search.services.v1.wsapi.lexisnexis.com">
> <ns2:sourceId
> xmlns:ns2="http://common.services.v1.wsapi.lexisnexis.com
> ">274668</ns2:sourceId>
> </ns1:sourceIdList>
> </sourceInformation>
> <query>[...]</query>
> <projectId>[...]</projectId>
> <searchOptions>[...]
> </searchOptions>
> <retrievalOptions>[...]
> </retrievalOptions>
> </Search>
> </soapenv:Body>
> </soapenv:Envelope>
>
> 1.3 (look at the difference in the sourceIdList tag)
> <?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>
> <Search
> xmlns="http://search.search.services.v1.wsapi.lexisnexis.com">
> <binarySecurityToken>[...]</binarySecurityToken>
> <sourceInformation>
> <ns1:sourceIdList xsi:type="xsd:integer"
> xmlns:ns1="http://common.search.services.v1.wsapi.lexisnexis.com
> ">274668</ns1:sourceIdList>
> </sourceInformation>
> <query>[...]</query>
> <projectId>[...]</projectId>
> <searchOptions>[...]</searchOptions>
> <retrievalOptions>[...]</retrievalOptions>
> </Search>
> </soapenv:Body>
> </soapenv:Envelope>
>
> --- Anne Thomas Manes <at...@gmail.com> a écrit :
>
> > Sorry -- that was a typo:
> >
> > You *cannot* use soapenc:array or SOAP encoding with
> > use="literal".
> >
> > Anne
> >
> > On 3/15/06, Dies Koper <di...@jp.fujitsu.com> wrote:
> > >
> > > Hello Anne,
> > >
> > > Recently, I noticed a few issues with WSDL files
> > that used soapenc:array
> > > or simple types such as soapenc:int with
> > use=literal. What are the
> > > consequences of this mixing? What should be
> > happening?
> > >
> > > For example, the JAX-RPC specification says that
> > all soapenc types are
> > > nillable. Does that mean <element
> > type="soapenc:int" nillable="false"/>
> > > still maps to Integer (not int)? Or only when
> > use="encoded"?
> > >
> > > > <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".
> > >
> > > If you can, does that mean that Erik could also
> > fix it like this?
> > >
> > > <wsdlsoap:body
> > namespace="http://demo.radialpoint.com/service"
> > > use="literal" />
> > >
> > > Thanks,
> > > Dies
> > >
> > >
> >
>
>
>
>
>
>
>
>
> ___________________________________________________________________________
> 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
>
Re: array serialization in 1.3
Posted by Marc Brette <mb...@yahoo.fr>.
Then this may not be the same issue. The binding is
defined as follow:
<binding name="SearchSoapBinding"
type="tns:SearchSoapPort">
<soap11:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="Search">
<soap11:operation soapAction=""/>
<input>
<soap11:body use="literal"/>
</input>
<output>
<soap11:body use="literal"/>
</output>
</operation>
<operation name="NarrowSearch">
<soap11:operation soapAction=""/>
<input>
<soap11:body use="literal"/>
</input>
<output>
<soap11:body use="literal"/>
</output>
</operation>
</binding>
See below the axis 1.1 request (that works) and the
axis 1.3 request:
1.1: (I cut some part for simplicity sake)
<?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>
<Search
xmlns="http://search.search.services.v1.wsapi.lexisnexis.com">
<binarySecurityToken>[...]</binarySecurityToken>
<sourceInformation>
<ns1:sourceIdList
xmlns:ns1="http://common.search.services.v1.wsapi.lexisnexis.com">
<ns2:sourceId
xmlns:ns2="http://common.services.v1.wsapi.lexisnexis.com">274668</ns2:sourceId>
</ns1:sourceIdList>
</sourceInformation>
<query>[...]</query>
<projectId>[...]</projectId>
<searchOptions>[...]
</searchOptions>
<retrievalOptions>[...]
</retrievalOptions>
</Search>
</soapenv:Body>
</soapenv:Envelope>
1.3 (look at the difference in the sourceIdList tag)
<?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>
<Search
xmlns="http://search.search.services.v1.wsapi.lexisnexis.com">
<binarySecurityToken>[...]</binarySecurityToken>
<sourceInformation>
<ns1:sourceIdList xsi:type="xsd:integer"
xmlns:ns1="http://common.search.services.v1.wsapi.lexisnexis.com">274668</ns1:sourceIdList>
</sourceInformation>
<query>[...]</query>
<projectId>[...]</projectId>
<searchOptions>[...]</searchOptions>
<retrievalOptions>[...]</retrievalOptions>
</Search>
</soapenv:Body>
</soapenv:Envelope>
--- Anne Thomas Manes <at...@gmail.com> a écrit :
> Sorry -- that was a typo:
>
> You *cannot* use soapenc:array or SOAP encoding with
> use="literal".
>
> Anne
>
> On 3/15/06, Dies Koper <di...@jp.fujitsu.com> wrote:
> >
> > Hello Anne,
> >
> > Recently, I noticed a few issues with WSDL files
> that used soapenc:array
> > or simple types such as soapenc:int with
> use=literal. What are the
> > consequences of this mixing? What should be
> happening?
> >
> > For example, the JAX-RPC specification says that
> all soapenc types are
> > nillable. Does that mean <element
> type="soapenc:int" nillable="false"/>
> > still maps to Integer (not int)? Or only when
> use="encoded"?
> >
> > > <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".
> >
> > If you can, does that mean that Erik could also
> fix it like this?
> >
> > <wsdlsoap:body
> namespace="http://demo.radialpoint.com/service"
> > use="literal" />
> >
> > Thanks,
> > Dies
> >
> >
>
___________________________________________________________________________
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
Re: array serialization in 1.3
Posted by Anne Thomas Manes <at...@gmail.com>.
Sorry -- that was a typo:
You *cannot* use soapenc:array or SOAP encoding with use="literal".
Anne
On 3/15/06, Dies Koper <di...@jp.fujitsu.com> wrote:
>
> Hello Anne,
>
> Recently, I noticed a few issues with WSDL files that used soapenc:array
> or simple types such as soapenc:int with use=literal. What are the
> consequences of this mixing? What should be happening?
>
> For example, the JAX-RPC specification says that all soapenc types are
> nillable. Does that mean <element type="soapenc:int" nillable="false"/>
> still maps to Integer (not int)? Or only when use="encoded"?
>
> > <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".
>
> If you can, does that mean that Erik could also fix it like this?
>
> <wsdlsoap:body namespace="http://demo.radialpoint.com/service"
> use="literal" />
>
> Thanks,
> Dies
>
>
Re: array serialization in 1.3
Posted by Dies Koper <di...@jp.fujitsu.com>.
Hello Anne,
Recently, I noticed a few issues with WSDL files that used soapenc:array
or simple types such as soapenc:int with use=literal. What are the
consequences of this mixing? What should be happening?
For example, the JAX-RPC specification says that all soapenc types are
nillable. Does that mean <element type="soapenc:int" nillable="false"/>
still maps to Integer (not int)? Or only when use="encoded"?
> <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".
If you can, does that mean that Erik could also fix it like this?
<wsdlsoap:body namespace="http://demo.radialpoint.com/service"
use="literal" />
Thanks,
Dies
Re: array serialization in 1.3
Posted by Anne Thomas Manes <at...@gmail.com>.
In Erik's binding it says:
<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 <mb...@yahoo.fr> 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
>