Web Service Description Language, Nirvana Edition
Keith Ballinger
Microsoft
Datatypes are schema
Schema is the type language
<Types>
<xsd:schema targetNamespace="http://tempuri.org/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="foo"
type="xsd:string" />
</xsd:schema>
</Types>
It's all about the PortType
The port is everything else
Port = PortType + Policy Assertions + LogicalName
<Port
type="QName"
name="anyURI">
<PolicyAssertiontype="anyURI" />
<PolicyAssertiontype="anyURI" />
</Port>
Policy Assertions
- The sum of policy assertions = a binding
- Example: SOAP/HTTP + Sessions + Auditing
- List of URIs, complementary
- These URIs refer to aspects that defined elsewhere.
- Can also be queried for at runtime
- Runtime query not defined by WSDL
Recommendations
- WSDL 1.2 first
- Nirvana second
Appendix
Schema Example
<Description
targetNamespace="http://keithba.com"
xmlns="http://schemas.xmlsoap.org/ws/2002/04/wsdl/nirvana"
xmlns:tns="http://keithba.com">
<Types>
<xsd:schema
targetNamespace="http://keithba.com"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element
name="FooRequest"
type="xsd:string" />
<xsd:element
name="FooResponse"
type="xsd:int" />
</xsd:schema>
</Types>
Example (cont.)
Example (cont.)
<Port type="tns:FooPortType" name="http://keithba.com/MyPort">
<PolicyAssertion
type="http://schemas.xmlsoap.org/soap/http" />
<PolicyAssertiontype="http://schemas.xmlsoap.org/ws/2002/01/secext"/>
</Port>
</Description>