users@jax-rpc.java.net

Re: WS-I problem in my WSDl

From: Arun Gupta <arun.gupta_at_sun.com>
Date: Thu, 07 Aug 2003 18:47:34 -0700

Hi Sam,

Operations in a document/literal WSDL must have parts defined using
element.

Please refer to
http://www.ws-i.org/Profiles/Basic/2003-06/BasicProfile-1.0-BdAD.html#R2204
which states ...

A document-literal binding in a DESCRIPTION MUST refer, in each of its
soapbind:body element(s), only to wsdl:part element(s) that have been
defined using the element attribute.

Also refer to http://www.w3.org/TR/wsdl#_soap:body, last but one
paragraph which states ...

If use is literal, then each part references a concrete schema
definition using either the element or type attribute. In the first
case, the element referenced by the part will appear directly under the
Body element (for document style bindings) or under an accessor element
named after the message part (in rpc style)

Thanks for your interest in JAX-RPC.

Regards,
-Arun

Sam D wrote:

>Hello
>
>I defined a WSDL file and when use the wsi option I get a non-conforming
>error
>in wscompile
>
>"warning: ignoring operation "acceptPO": message part does not refer to
>a schema element declaration"
>
>The operation is defined as document/literal
>
>Help.
>
>=sam
>
>------------------------------------------------------------------------
>
><?xml version="1.0" encoding="UTF-8"?>
><definitions name="PurchaseOrderService" targetNamespace="http://foobar.com/wsdl/PurchaseOrderService" xmlns:tns="http://foobar.com/wsdl/PurchaseOrderService" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns2="http://foobar.com/types/PurchaseOrderService">
> <types>
> <schema targetNamespace="http://foobar.com/types/PurchaseOrderService" xmlns:tns="http://foobar.com/types/PurchaseOrderService" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://www.w3.org/2001/XMLSchema">
> <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
> <complexType name="PurchaseOrder">
> <sequence>
> <element name="billTo" type="tns:Address"/>
> <element name="createDate" type="dateTime"/>
> <element name="items" type="tns:ArrayOfLineItem"/>
> <element name="poID" type="string"/>
> <element name="shipTo" type="tns:Address"/>
> </sequence>
> </complexType>
> <complexType name="Address">
> <sequence>
> <element name="address" type="string"/>
> <element name="city" type="string"/>
> <element name="name" type="string"/>
> <element name="state" type="string"/>
> <element name="zipCode" type="string"/>
> </sequence>
> </complexType>
> <complexType name="ArrayOfLineItem">
> <complexContent>
> <restriction base="soap11-enc:Array">
> <attribute ref="soap11-enc:arrayType" wsdl:arrayType="tns:LineItem[]"/>
> </restriction>
> </complexContent>
> </complexType>
> <complexType name="LineItem">
> <sequence>
> <element name="name" type="string"/>
> <element name="price" type="decimal"/>
> <element name="quantity" type="int"/>
> </sequence>
> </complexType>
> </schema>
> </types>
> <message name="IPurchaseOrder_acceptPO">
> <part name="PurchaseOrder_1" type="ns2:PurchaseOrder"/>
> </message>
> <message name="IPurchaseOrder_acceptPOResponse">
> <part name="AcceptanceID" type="xsd:string"/>
> </message>
> <portType name="IPurchaseOrder">
> <operation name="acceptPO" parameterOrder="PurchaseOrder_1">
> <input message="tns:IPurchaseOrder_acceptPO"/>
> <output message="tns:IPurchaseOrder_acceptPOResponse"/>
> </operation>
> </portType>
> <binding name="IPurchaseOrderBinding" type="tns:IPurchaseOrder">
> <operation name="acceptPO">
> <input>
> <soap:body use="literal" parts="PurchaseOrder_1"/>
> </input>
> <output>
> <soap:body use="literal" parts="AcceptanceID"/>
> </output>
> <soap:operation soapAction=""/>
> </operation>
> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
> </binding>
> <service name="PurchaseOrderService">
> <port name="IPurchaseOrderPort" binding="tns:IPurchaseOrderBinding">
> <soap:address location="REPLACE_WITH_ACTUAL_URL"/>
> </port>
> </service>
></definitions>
>
>
>

--
=============================================
There is only one me, I must live myself!
There is only one today, I must live itself!
=============================================
http://members.tripod.com/~apgupta/index.html
=============================================