Re: Fw: Requirements for the WSDL documents

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>

Received on Thursday, 13 July 2006 07:42:53 UTC