wsdl usage experience with xml schema 1.0 jonathan marsh chair, ws description wg
TRANSCRIPT
WSDL Usage Experience WSDL Usage Experience with XML Schema 1.0with XML Schema 1.0
Jonathan MarshJonathan Marsh
Chair, WS Description WGChair, WS Description WG
<wsdl:description>
<soap:envelope><soap:envelope>
WSDL OverviewWSDL Overview
<checkAvailability> <checkIn>2005-06-19</checkIn> <checkOut>2005-06-21</checkOut> <roomType>single</roomType></checkAvailability>
<xs:schema> <xs:element name="checkAvailability"> …
<checkAvailabilityResponse> <rate>149.00</rate></checkAvailabilityResponse>
<xs:schema> <xs:element name="checkAvailabilityResponse"> …
<wsdl:interface name="reservationService"> … <wsdl:operation name="opCheckAvailability"> …
<wsdl:binding type="http://www.w3.org/2005/05/wsdl/soap" > …
WSDL OverviewWSDL Overview
WSDL depends on XML SchemaWSDL depends on XML Schema Many similarities:Many similarities:
Component modelComponent model
Import/IncludeImport/Include
QName references/symbol spacesQName references/symbol spaces
Component designatorsComponent designators Some blurred lines of responsibilitySome blurred lines of responsibility
WSDL-defined schema extensionsWSDL-defined schema extensions
VersioningVersioning
Describing base64BinaryDescribing base64Binary
<xs:schema xmlns:xmime="http://www.w3.org/2005/05/xmlmime">
<xs:complexType name="JPEGPictureType" xmime:expectedContentTypes="image/jpeg"> <xs:simpleContent> <xs:extension base="xs:base64Binary" /> </xs:simpleContent> </xs:complexType>
<xs:element name="JPEGPicture" type="tns:JPEGPictureType" />
</xs:schema>
see http://www.w3.org/TR/xml-media-types/
Describing ReferencesDescribing References
<wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/03/addressing" xmlns:wsaw="http://www.w3.org/2005/05/addressing/wsdl" xmlns:fabrikam="http://example.com/fabrikam"> <wsa:Address>http://example.com/fabrikam/acct</wsa:Address> <wsa:Metadata> <wsaw:InterfaceName>fabrikam:Inventory</wsaw:InterfaceName> </wsa:Metadata> </wsa:EndpointReference>
Describing ReferencesDescribing References
<xs:schema xmlns:wsa="http://www.w3.org/2005/03/addressing" xmlns:fabrikam="http://example.com/fabrikam" xmlns:wsdlx="http://www.w3.org/@@@@/@@/wsdl-extensions">
<xs:import namespace="http://www.w3.org/2005/03/addressing"/>
<xs:complexType name="InventoryReference" wsdlx:interface="fabrikam:Inventory"> <xs:complexContent> <xs:restriction base="wsa:EndpointReferenceType"/> </xs:complexContent> </xs:complexType>
</xs:schema>
VersioningVersioning
LC124 only remaining open issueLC124 only remaining open issue Versioning of message structure is a common Versioning of message structure is a common
way to version a Web service.way to version a Web service. Known problems with <xs:any> and UPA Known problems with <xs:any> and UPA
make versioning of message structure make versioning of message structure difficult.difficult.
LC124 proposal(s)LC124 proposal(s)
Allow, encourage, or mandate ignoring of Allow, encourage, or mandate ignoring of unknown content in a message.unknown content in a message.
Define, reference, or suggest an algorithm Define, reference, or suggest an algorithm such as Henry’s “validate-twice.”such as Henry’s “validate-twice.”
Provide syntax to engage/suppress this Provide syntax to engage/suppress this behavior.behavior.
Model in WSDL or as schema extension.Model in WSDL or as schema extension.
LC124 questionsLC124 questions
Schema descriptions primarily used for Schema descriptions primarily used for code generation, not by validation.code generation, not by validation.
Does an ignore-unknown rule impact code Does an ignore-unknown rule impact code generation or mapping of XML data to generation or mapping of XML data to programming constructs?programming constructs?
Is this a WSDL problem or an XML Is this a WSDL problem or an XML Schema problem?Schema problem?
the endthe end