You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by krhansen <ex...@vertigonetcare.com> on 2007/02/02 18:59:41 UTC

Re: WSDL with lists in return type

Been looking a bit more in to it now.

The response is generated in Jsr181Endpoint, through a call to xfire. Here
the trail gets kinda cold for me, because I don't know much of the xfire
code. Can anyone give me some insight into the problem?

I am wondering if it's a configuration that's wrong. Does anyone know
whether you can choose to have xfire make these wrapper elements in the
list?

Best regards

Kristian

krhansen wrote:
> 
> I have a service that returns a list of objects. Problem is, that
> Servicemix "wraps" the items in the list in new xml elements, instead of
> just repeating the elements, that have maxOccur = unbounded in the schema
> part of the wsdl. The result is that JAXB on the client cannot parse the
> result received from Servicemix (and that the returned XML is in fact not
> in accordance with the schema fra the service's WSDL-file).
> 
> According to the schema in the wsdl file the result should look like this:
> (name spaces removed for readability)
> 
> <getSystemRightsout>
> 	<systemRights>
> 		<rightId>23</rightId>
> 		<rightName>Dashboard</rightName>
> 	</systemRights>
> 	<systemRights>
> 		<rightId>234</rightId>
> 		<rightName>Mapping</rightName>
> 	</systemRights>
> </getSystemRightsout>
> 
> ---
> 
> But the actual XML returned from Servicemix is:
> 
> <getSystemRightsout>
> 	<systemRights>
> 		<SystemRights>
> 			<rightId>23</rightId>
> 			<rightName>Dashboard</rightName>
> 		</SystemRights>
> 		<SystemRights>
> 			<rightId>234</rightId>
> 			<rightName>Mapping</rightName>
> 		</SystemRights>
> 	</systemRights>
> </getSystemRightsout>
> 
> ---
> 
> The WSDL file looks like this:
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions>
> 	<wsdl:types>
> 		<xs:schema>
> 			<xs:element name="systemRightList">
> 				<xs:complexType>
> 					<xs:sequence maxOccurs="unbounded" minOccurs="0">
>  						<xs:element name="systemRights"> 
> 							<xs:complexType>
> 								<xs:sequence>
> 									<xs:element name="rightId"
> 										type="xs:string" maxOccurs="1" minOccurs="1">
> 									</xs:element>
> 									<xs:element name="rightTimestamp"
> 										type="xs:string" minOccurs="0">
> 									</xs:element>
> 									<xs:element name="rightName"
> 										type="xs:string" maxOccurs="1" minOccurs="0">
> 									</xs:element>
> 								</xs:sequence>
> 							</xs:complexType>
> 
>  						</xs:element> 
> 					</xs:sequence>
> 				</xs:complexType>
> 			</xs:element>
> 		</xs:schema>
> 
> 	</wsdl:types>
> 
> 	<wsdl:message name="getSystemRightsRequest">
> 		<wsdl:part name="systemRights"
> element="tns:systemRightList"></wsdl:part>
> 	</wsdl:message>
> 	<wsdl:message name="getSystemRightsResponse">
> 		<wsdl:part name="systemRightList"
> 			element="tns:systemRightList">
> 		</wsdl:part>
> 	</wsdl:message>
> 	<wsdl:portType name="Accounts">
> 		<wsdl:operation name="getSystemRights">
> 			<wsdl:input message="tns:getSystemRightsRequest"></wsdl:input>
> 			<wsdl:output message="tns:getSystemRightsResponse"></wsdl:output>
> 		</wsdl:operation>
> 	</wsdl:portType>
> 	<wsdl:binding name="accountsSOAP" type="tns:Accounts">
> 		<soap:binding style="document"
> 			transport="http://schemas.xmlsoap.org/soap/http" />
> 		<wsdl:operation name="getSystemRights">
> 			<soap:operation
> 				soapAction="http://fooh.com/services/accounts/getSystemRights" />
> 			<wsdl:input>
> 				<soap:body use="literal" />
> 			</wsdl:input>
> 			<wsdl:output>
> 				<soap:body use="literal" />
> 			</wsdl:output>
> 		</wsdl:operation>
> 	</wsdl:binding>
> 	<wsdl:service name="Accounts">
> 		<wsdl:port binding="tns:accountsSOAP" name="accountsSOAP">
> 			<soap:address
> 				location="http://0.0.0.0:8192/services/accounts/" />
> 		</wsdl:port>
> 	</wsdl:service>
> </wsdl:definitions>
> 
> ---
> Thanks in advance.
> 
> Best regards
> 
> Kristian
> 
> 

-- 
View this message in context: http://www.nabble.com/WSDL-with-lists-in-return-type-tf3149009s12049.html#a8772036
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: WSDL with lists in return type

Posted by Guillaume Nodet <gn...@gmail.com>.
Did you specify the style="document" attribute on the jsr181 endpoint ?

On 2/2/07, krhansen <ex...@vertigonetcare.com> wrote:
>
> Been looking a bit more in to it now.
>
> The response is generated in Jsr181Endpoint, through a call to xfire. Here
> the trail gets kinda cold for me, because I don't know much of the xfire
> code. Can anyone give me some insight into the problem?
>
> I am wondering if it's a configuration that's wrong. Does anyone know
> whether you can choose to have xfire make these wrapper elements in the
> list?
>
> Best regards
>
> Kristian
>
> krhansen wrote:
> >
> > I have a service that returns a list of objects. Problem is, that
> > Servicemix "wraps" the items in the list in new xml elements, instead of
> > just repeating the elements, that have maxOccur = unbounded in the schema
> > part of the wsdl. The result is that JAXB on the client cannot parse the
> > result received from Servicemix (and that the returned XML is in fact not
> > in accordance with the schema fra the service's WSDL-file).
> >
> > According to the schema in the wsdl file the result should look like this:
> > (name spaces removed for readability)
> >
> > <getSystemRightsout>
> >       <systemRights>
> >               <rightId>23</rightId>
> >               <rightName>Dashboard</rightName>
> >       </systemRights>
> >       <systemRights>
> >               <rightId>234</rightId>
> >               <rightName>Mapping</rightName>
> >       </systemRights>
> > </getSystemRightsout>
> >
> > ---
> >
> > But the actual XML returned from Servicemix is:
> >
> > <getSystemRightsout>
> >       <systemRights>
> >               <SystemRights>
> >                       <rightId>23</rightId>
> >                       <rightName>Dashboard</rightName>
> >               </SystemRights>
> >               <SystemRights>
> >                       <rightId>234</rightId>
> >                       <rightName>Mapping</rightName>
> >               </SystemRights>
> >       </systemRights>
> > </getSystemRightsout>
> >
> > ---
> >
> > The WSDL file looks like this:
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <wsdl:definitions>
> >       <wsdl:types>
> >               <xs:schema>
> >                       <xs:element name="systemRightList">
> >                               <xs:complexType>
> >                                       <xs:sequence maxOccurs="unbounded" minOccurs="0">
> >                                               <xs:element name="systemRights">
> >                                                       <xs:complexType>
> >                                                               <xs:sequence>
> >                                                                       <xs:element name="rightId"
> >                                                                               type="xs:string" maxOccurs="1" minOccurs="1">
> >                                                                       </xs:element>
> >                                                                       <xs:element name="rightTimestamp"
> >                                                                               type="xs:string" minOccurs="0">
> >                                                                       </xs:element>
> >                                                                       <xs:element name="rightName"
> >                                                                               type="xs:string" maxOccurs="1" minOccurs="0">
> >                                                                       </xs:element>
> >                                                               </xs:sequence>
> >                                                       </xs:complexType>
> >
> >                                               </xs:element>
> >                                       </xs:sequence>
> >                               </xs:complexType>
> >                       </xs:element>
> >               </xs:schema>
> >
> >       </wsdl:types>
> >
> >       <wsdl:message name="getSystemRightsRequest">
> >               <wsdl:part name="systemRights"
> > element="tns:systemRightList"></wsdl:part>
> >       </wsdl:message>
> >       <wsdl:message name="getSystemRightsResponse">
> >               <wsdl:part name="systemRightList"
> >                       element="tns:systemRightList">
> >               </wsdl:part>
> >       </wsdl:message>
> >       <wsdl:portType name="Accounts">
> >               <wsdl:operation name="getSystemRights">
> >                       <wsdl:input message="tns:getSystemRightsRequest"></wsdl:input>
> >                       <wsdl:output message="tns:getSystemRightsResponse"></wsdl:output>
> >               </wsdl:operation>
> >       </wsdl:portType>
> >       <wsdl:binding name="accountsSOAP" type="tns:Accounts">
> >               <soap:binding style="document"
> >                       transport="http://schemas.xmlsoap.org/soap/http" />
> >               <wsdl:operation name="getSystemRights">
> >                       <soap:operation
> >                               soapAction="http://fooh.com/services/accounts/getSystemRights" />
> >                       <wsdl:input>
> >                               <soap:body use="literal" />
> >                       </wsdl:input>
> >                       <wsdl:output>
> >                               <soap:body use="literal" />
> >                       </wsdl:output>
> >               </wsdl:operation>
> >       </wsdl:binding>
> >       <wsdl:service name="Accounts">
> >               <wsdl:port binding="tns:accountsSOAP" name="accountsSOAP">
> >                       <soap:address
> >                               location="http://0.0.0.0:8192/services/accounts/" />
> >               </wsdl:port>
> >       </wsdl:service>
> > </wsdl:definitions>
> >
> > ---
> > Thanks in advance.
> >
> > Best regards
> >
> > Kristian
> >
> >
>
> --
> View this message in context: http://www.nabble.com/WSDL-with-lists-in-return-type-tf3149009s12049.html#a8772036
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>


-- 
Cheers,
Guillaume Nodet
------------------------
Architect, LogicBlaze (http://www.logicblaze.com/)
Blog: http://gnodet.blogspot.com/