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&apos;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&apos;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&apos;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
>