W3C home > Mailing lists > Public > public-ws-addressing-tests@w3.org > July 2006

Re: Fw: Requirements for the WSDL documents

From: Arun Gupta <Arun.Gupta@Sun.COM>
Date: Thu, 13 Jul 2006 18:22:08 -0700
To: David Illsley <david.illsley@uk.ibm.com>
Cc: public-ws-addressing-tests@w3.org
Message-id: <44B6F1C0.6060800@sun.com>

Further looking at the WSDL tells me that it does not define sufficient 
port/binding combinations to test for wsdl:required values (true | 
false) on binding and port.

I modified the WSDL after adding the required bindings/ports and also 
rearranged them to align with the testcase numbers. The latest WSDL is 
now available at:

http://www.w3.org/2002/ws/addr/testsuitewsdl/documents/wsdl11/wsaTestService2.wsdl

Thanks,
-Arun

David Illsley wrote:
> Arun.Gupta@Sun.COM wrote on 07/13/2006 03:45:07 AM:
> 
>> I looked at the WSDL and here are some comments:
>>
>> 1). For a document-literal WSDL, message part is refering to a type and 
>> instead should refer to a schema element declaration. This is what was 
>> done in Core/SOAP testing as well.
> 
> Bah, I know you shouldn't blame your tools but here I feel justified... I 
> told it to generate doc/lit.
> 
>> 1). The targetNamespace of the <types> section should be changed from 
>> "http://example.org/wsaTestService" to 
>> "http://example.org/wsaTestService2". It will actually have schema 
>> elements referred by the message parts.
> 
> Yes, the rename was a last minute change, sorry I didn't pick that up.
> 
>> 2). Remove wsdl:port "wsaTestPortTypePortWithName" as agreed upon in the 
> 
>> call.
>>
> 
> Yes, was going to do this today
> 
>> 3). In all the bindings where wsaw:Anonymous is specified, it's missing 
>> from the notify operation. Is that intentional ?
> 
> It's intentional because I didn't know the answer to 4 :-)
> 
>> 4). How do we intend to test wsaw:Anonymous semantics for one-way 
> message ?
> 
> Still don't know the answer to this.... seems like an important behaviour 
> to get defined though. Lets discuss on Monday.
> 
>> 5). There are no faults in the WSDL. This leaves a gap in our testing of 
> 
>> implicit/explicit Action on fault messages.
> 
> Oops, Sorry
> 
>> 6). tns namespace prefix needs to be bound to 
>> "http://example.org/wsaTestService2" instead of 
>> "http://example.org/wsaTestService".
> 
> As above, sorry about the incomplete rename
> 
>> I'm attaching a WSDL with comments # 1-3, 5-6 incorporated.
> 
> I can't see an attachment. Maybe the w3c list manager software strips it?
> Thanks,
> David
> 
>> -Arun
>>
>> David Illsley wrote:
>>> It turns out I was perhaps too comprehensive... Anonymous can't be 
> placed 
>>> on the port so the last 2 ports can go.
>>>
>>> 1st pass at the 2nd wsdl at 
>>> http://www.w3.
>> org/2002/ws/addr/testsuitewsdl/documents/wsdl11/wsaTestService2.wsdl
>>> David
>>>
>>> David Illsley
>>> Web Services Development
>>> MP127, IBM Hursley Park, SO21 2JN
>>> +44 (0)1962 815049 (Int. 245049)
>>> david.illsley@uk.ibm.com
>>> ----- Forwarded by David Illsley/UK/IBM on 07/06/2006 08:22 PM -----
>>>
>>> David Illsley/UK/IBM 
>>> 06/26/2006 09:26 PM
>>>
>>> To
>>> public-ws-addressing-tests@w3.org
>>> cc
>>>
>>> Subject
>>> Requirements for the WSDL documents
>>>
>>>
>>>
>>>
>>>
>>> I've been thinking about what we need in the WSDL files and what I've 
> come 
>>> up with so far... I really hope this is comprehensive ;-)
>>> Probably isn't though. Thoughts?
>>> David
>>>
>>> Requirements (WSDL doc)
>>> WSDL - targetnamespace = urn:example.org:wsaTestService 
>>>         portType = wsaTestPortType 
>>>         operation: echo - 2-way no wsaw:Action or soapAction specified
>>>
>>> WSDL - targetnamespace = http://example.org/wsaTestService
>>>         portType = wsaTestPortType
>>>         operation: notify- 1-way no wsaw:Action or name on input 
> element 
>>> specified
>>>         operation: echo - 2-way no wsaw:Action or name on input/output 
> 
>>> elements specified
>>>
>>>         portType = wsaTestPortTypeWithName
>>>         operation: notify- 1-way no wsaw:Action specified but with 
> name on 
>>> input element=notify
>>>         operation: echo - 2-way no wsaw:Action specified but with name 
> on 
>>> input/output elements=echoIn/echoOut
>>>
>>>         portType = wsaTestPortTypeExplicitAction
>>>         operation: notify- 1-way w/wsaw:Action="
>>> http://example.org/action/notify"
>>>         operation echo - 2-way w/wsaw:Action="
>>> http://example.org/action/echoIn " on Input w/wsaw:Action="
>>> http://example.org/action/echoOut" on Output
>>>
>>>         binding = wsaTestPortTypeBinding - portType=wsaTestPortType - 
> no 
>>> soapAction
>>>         binding = wsaTestPortTypeBindingSoapAction - 
>>> portType=wsaTestPortType - soapAction specified for operations
>>>         binding = wsaTestPortTypeBindingWithName - 
>>> portType=wsaTestPortTypeWithName - no soapAction
>>>         binding = wsaTestPortTypeBindingExplicitAction - 
>>> portType=wsaTestPortTypeExplicitAction - no soapAction
>>>         binding = wsaTestPortTypeBindingAddressingRequired - 
>>> portType=wsaTestPortType - no soapAction - wsaw:UsingAddressing 
>>> required=true
>>>         binding = wsaTestPortTypeBindingAnonymousRequired - 
>>> portType=wsaTestPortType - no soapAction - wsaw:UsingAddressing - 
>>> wsaw:Anonymous = required
>>>         binding = wsaTestPortTypeBindingAnonymousProhibited - 
>>> portType=wsaTestPortType - no soapAction - wsaw:UsingAddressing - 
>>> wsaw:Anonymous = prohibited
>>>         binding = wsaTestPortTypeBindingAnonymousOptional - 
>>> portType=wsaTestPortType - no soapAction - wsaw:UsingAddressing - 
>>> wsaw:Anonymous = optional
>>>
>>>         port = wsaTestPortTypePort - binding = wsaTestPortTypeBinding 
>>>         port = wsaTestPortTypePortSoapAction -  binding = 
>>> wsaTestPortTypeBindingSoapAction 
>>>         port = wsaTestPortTypePortWithName -  binding = 
>>> wsaTestPortTypeBindingWithName 
>>>         port = wsaTestPortTypePortExplicitAction - binding = 
>>> wsaTestPortTypeBindingExplicitAction 
>>>         port = wsaTestPortTypePortAddressingRequired -  binding = 
>>> wsaTestPortTypeBindingAddressingRequired 
>>>         port = wsaTestPortTypePortAnonymousRequired -  binding = 
>>> wsaTestPortTypeBindingAnonymousRequired 
>>>         port = wsaTestPortTypePortAnonymousProhibited -  binding = 
>>> wsaTestPortTypeBindingAnonymousProhibited 
>>>         port = wsaTestPortTypePortAnonymousOptional -  binding = 
>>> wsaTestPortTypeBindingAnonymousOptional 
>>>         port = wsaTestPortTypePortAddressingRequiredOnPort - binding = 
> 
>>> wsaTestPortTypeBinding wsaw:UsingAddressing required=true
>>>         port = wsaTestPortTypePortAnonymousRequiredOnPort -  binding = 
> 
>>> wsaTestPortTypeBinding wsaw:UsingAddressing - wsaw:Anonymous = 
> required
>>>         port = wsaTestPortTypePortAnonymousProhibitedOnPort -  binding 
> = 
>>> wsaTestPortTypeBinding wsaw:UsingAddressing - wsaw:Anonymous = 
> prohibited
>> -- 
>> got Web Services ?
>> Download and Contribute Web Services Interoperability Technology (WSIT)
>> http://java.sun.com/webservices/interop
>> <?xml version="1.0" encoding="UTF-8"?>
>> <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>>                   xmlns:tns="http://example.org/wsaTestService2"
>>                   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>>                   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>>                   xmlns:s0="http://example.org/notify"
>>                   xmlns:s1="http://example.org/echo"
>>                   xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
>>                   name="wsaTestService2"
>>                   targetNamespace="http://example.org/wsaTestService2">
>>     <wsdl:types>
>>         <xsd:schema targetNamespace="http://example.org/notify"
>>                     elementFormDefault="qualified" 
>> attributeFormDefault="unqualified">
>>             <xsd:element name='notify' type='xsd:string'/>
>>         </xsd:schema>
>>
>>         <xsd:schema targetNamespace="http://example.org/echo"
>>                     elementFormDefault="qualified" 
>> attributeFormDefault="unqualified">
>>             <xsd:element name='echoIn' type='xsd:string'/>
>>             <xsd:element name='echoOut' type='xsd:string'/>
>>             <xsd:element name='echoFault' type='xsd:string'/>
>>         </xsd:schema>
>>     </wsdl:types>
>>     <wsdl:message name="notifyRequest">
>>         <wsdl:part name="notifyRequest" element="s0:notify"></wsdl:part>
>>     </wsdl:message>
>>     <wsdl:message name="echoRequest">
>>         <wsdl:part name="echoRequest" element="s1:echoIn"></wsdl:part>
>>     </wsdl:message>
>>     <wsdl:message name="echoResponse">
>>         <wsdl:part name="echoResponse" element="s1:echoOut"></wsdl:part>
>>     </wsdl:message>
>>     <wsdl:message name="echoFault">
>>         <wsdl:part name="echoFault" element="s1:echoFault"></wsdl:part>
>>     </wsdl:message>
>>     <wsdl:portType name="wsaTestPortType">
>>         <wsdl:operation name="echo">
>>             <wsdl:input message="tns:echoRequest"></wsdl:input>
>>             <wsdl:output message="tns:echoResponse"></wsdl:output>
>>             <wsdl:fault name="echoFaultName" message="tns:
>> echoFault"></wsdl:fault>
>>         </wsdl:operation>
>>         <wsdl:operation name="notify">
>>             <wsdl:input message="tns:notifyRequest"></wsdl:input>
>>         </wsdl:operation>
>>     </wsdl:portType>
>>     <wsdl:portType name="wsaTestPortTypeExplicitAction">
>>         <wsdl:operation name="echo">
>>             <wsdl:input message="tns:echoRequest" wsaw:Action="http:
>> //example.org/action/echoIn"/>
>>             <wsdl:output message="tns:echoResponse" wsaw:Action="
>> http://example.org/action/echoOut"/>
>>             <wsdl:fault name="echoFaultName" message="tns:echoFault"
>> wsaw:Action="http://example.org/action/echoFault"/>
>>         </wsdl:operation>
>>         <wsdl:operation name="notify">
>>             <wsdl:input message="tns:notifyRequest" wsaw:Action="
>> http://example.org/action/notify"></wsdl:input>
>>         </wsdl:operation>
>>     </wsdl:portType>
>>     <wsdl:binding name="wsaTestPortTypeBinding"
>>                   type="tns:wsaTestPortType">
>>         <soap:binding style="document"
>>                       transport="http://schemas.xmlsoap.org/soap/http"/>
>>         <wsdl:operation name="echo">
>>             <soap:operation soapAction=""/>
>>             <wsdl:input>
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>             <wsdl:output>
>>                 <soap:body use="literal"/>
>>             </wsdl:output>
>>             <wsdl:fault name="echoFaultName">
>>                 <soap:fault name="echoFaultName" use="literal"/>
>>             </wsdl:fault>
>>         </wsdl:operation>
>>         <wsdl:operation name="notify">
>>             <soap:operation soapAction=""/>
>>             <wsdl:input>
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>         </wsdl:operation>
>>     </wsdl:binding>
>>     <wsdl:binding name="wsaTestPortTypeBindingSoapAction"
>>                   type="tns:wsaTestPortType">
>>         <soap:binding style="document"
>>                       transport="http://schemas.xmlsoap.org/soap/http"/>
>>         <wsdl:operation name="echo">
>>             <soap:operation 
> soapAction="http://example.org/wsaTestService/echo
>> "/>
>>             <wsdl:input>
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>             <wsdl:output>
>>                 <soap:body use="literal"/>
>>             </wsdl:output>
>>             <wsdl:fault name="echoFaultName">
>>                 <soap:fault name="echoFaultName" use="literal"/>
>>             </wsdl:fault>
>>         </wsdl:operation>
>>         <wsdl:operation name="notify">
>>             <soap:operation soapAction="http://example.
>> org/wsaTestService/notify"/>
>>             <wsdl:input>
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>         </wsdl:operation>
>>     </wsdl:binding>
>>     <wsdl:binding name="wsaTestPortTypeBindingExplicitAction"
>>                   type="tns:wsaTestPortTypeExplicitAction">
>>         <soap:binding style="document"
>>                       transport="http://schemas.xmlsoap.org/soap/http"/>
>>         <wsdl:operation name="echo">
>>             <soap:operation soapAction=""/>
>>             <wsdl:input>
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>             <wsdl:output>
>>                 <soap:body use="literal"/>
>>             </wsdl:output>
>>             <wsdl:fault name="echoFaultName">
>>                 <soap:fault name="echoFaultName" use="literal"/>
>>             </wsdl:fault>
>>         </wsdl:operation>
>>         <wsdl:operation name="notify">
>>             <soap:operation soapAction=""/>
>>             <wsdl:input>
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>         </wsdl:operation>
>>     </wsdl:binding>
>>     <wsdl:binding name="wsaTestPortTypeBindingAddressingRequired"
>>                   type="tns:wsaTestPortType">
>>         <wsaw:UsingAddressing wsdl:required="true"/>
>>         <soap:binding style="document"
>>                       transport="http://schemas.xmlsoap.org/soap/http"/>
>>         <wsdl:operation name="echo">
>>             <soap:operation soapAction=""/>
>>             <wsdl:input>
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>             <wsdl:output>
>>                 <soap:body use="literal"/>
>>             </wsdl:output>
>>             <wsdl:fault name="echoFaultName">
>>                 <soap:fault name="echoFaultName" use="literal"/>
>>             </wsdl:fault>
>>         </wsdl:operation>
>>         <wsdl:operation name="notify">
>>             <soap:operation soapAction=""/>
>>             <wsdl:input>
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>         </wsdl:operation>
>>     </wsdl:binding>
>>     <wsdl:binding name="wsaTestPortTypeBindingAnonymousRequired"
>>                   type="tns:wsaTestPortType">
>>         <wsaw:UsingAddressing/>
>>         <soap:binding style="document"
>>                       transport="http://schemas.xmlsoap.org/soap/http"/>
>>         <wsdl:operation name="echo">
>>             <soap:operation soapAction=""/>
>>             <wsaw:Anonymous>required</wsaw:Anonymous>
>>             <wsdl:input>
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>             <wsdl:output>
>>                 <soap:body use="literal"/>
>>             </wsdl:output>
>>             <wsdl:fault name="echoFaultName">
>>                 <soap:fault name="echoFaultName" use="literal"/>
>>             </wsdl:fault>
>>         </wsdl:operation>
>>         <wsdl:operation name="notify">
>>             <soap:operation soapAction=""/>
>>             <wsaw:Anonymous>required</wsaw:Anonymous>
>>             <wsdl:input>
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>         </wsdl:operation>
>>     </wsdl:binding>
>>     <wsdl:binding name="wsaTestPortTypeBindingAnonymousProhibited"
>>                   type="tns:wsaTestPortType">
>>         <wsaw:UsingAddressing/>
>>         <soap:binding style="document"
>>                       transport="http://schemas.xmlsoap.org/soap/http"/>
>>         <wsdl:operation name="echo">
>>             <soap:operation soapAction=""/>
>>             <wsaw:Anonymous>prohibited</wsaw:Anonymous>
>>             <wsdl:input>
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>             <wsdl:output>
>>                 <soap:body use="literal"/>
>>             </wsdl:output>
>>             <wsdl:fault name="echoFaultName">
>>                 <soap:fault name="echoFaultName" use="literal"/>
>>             </wsdl:fault>
>>         </wsdl:operation>
>>         <wsdl:operation name="notify">
>>             <soap:operation soapAction=""/>
>>             <wsaw:Anonymous>prohibited</wsaw:Anonymous>
>>             <wsdl:input>
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>         </wsdl:operation>
>>     </wsdl:binding>
>>     <wsdl:binding name="wsaTestPortTypeBindingAnonymousOptional"
>>                   type="tns:wsaTestPortType">
>>         <wsaw:UsingAddressing/>
>>         <soap:binding style="document"
>>                       transport="http://schemas.xmlsoap.org/soap/http"/>
>>         <wsdl:operation name="echo">
>>             <soap:operation soapAction=""/>
>>             <wsaw:Anonymous>optional</wsaw:Anonymous>
>>             <wsdl:input>
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>             <wsdl:output>
>>                 <soap:body use="literal"/>
>>             </wsdl:output>
>>             <wsdl:fault name="echoFaultName">
>>                 <soap:fault name="echoFaultName" use="literal"/>
>>             </wsdl:fault>
>>         </wsdl:operation>
>>         <wsdl:operation name="notify">
>>             <soap:operation soapAction=""/>
>>             <wsaw:Anonymous>optional</wsaw:Anonymous>
>>             <wsdl:input>
>>                 <soap:body use="literal"/>
>>             </wsdl:input>
>>         </wsdl:operation>
>>     </wsdl:binding>
>>     <wsdl:service name="wsaTestService2">
>>         <wsdl:port name="wsaTestPortTypePort"
>>                    binding="tns:wsaTestPortTypeBinding">
>>             <soap:address 
> location="http://example.com/wsaTestPortTypePort"/>
>>         </wsdl:port>
>>         <wsdl:port name="wsaTestPortTypePortSoapAction"
>>                    binding="tns:wsaTestPortTypeBindingSoapAction">
>>             <soap:address location="http://example.
>> com/wsaTestPortTypePortSoapAction"/>
>>         </wsdl:port>
>>         <wsdl:port name="wsaTestPortTypePortExplicitAction"
>>                    binding="tns:wsaTestPortTypeBindingExplicitAction">
>>             <soap:address location="http://example.
>> com/wsaTestPortTypePortExplicitAction"/>
>>         </wsdl:port>
>>         <wsdl:port name="wsaTestPortTypePortAddressingRequired"
>> binding="tns:wsaTestPortTypeBindingAddressingRequired">
>>             <soap:address location="http://example.
>> com/wsaTestPortTypePortAddressingRequired"/>
>>         </wsdl:port>
>>         <wsdl:port name="wsaTestPortTypePortAnonymousRequired"
>> binding="tns:wsaTestPortTypeBindingAnonymousRequired">
>>             <soap:address location="http://example.
>> com/wsaTestPortTypePortAnonymousRequired"/>
>>         </wsdl:port>
>>         <wsdl:port name="wsaTestPortTypePortAnonymousProhibited"
>> binding="tns:wsaTestPortTypeBindingAnonymousProhibited">
>>             <soap:address location="http://example.
>> com/wsaTestPortTypePortAnonymousProhibited"/>
>>         </wsdl:port>
>>         <wsdl:port name="wsaTestPortTypePortAnonymousOptional"
>> binding="tns:wsaTestPortTypeBindingAnonymousOptional">
>>             <soap:address location="http://example.
>> com/wsaTestPortTypePortAnonymousOptional"/>
>>         </wsdl:port>
>>         <wsdl:port name="wsaTestPortTypePortAddressingRequiredOnPort"
>>                    binding="tns:wsaTestPortTypeBinding">
>>             <wsaw:UsingAddressing wsdl:required="true"/>
>>             <soap:address location="http://example.
>> com/wsaTestPortTypePortAddressingRequiredOnPort"/>
>>         </wsdl:port>
>>     </wsdl:service>
>> </wsdl:definitions>
> 

-- 
got Web Services ?
Download and Contribute Web Services Interoperability Technology (WSIT)
http://java.sun.com/webservices/interop
Received on Friday, 14 July 2006 01:22:18 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:19:45 GMT