wsdl usage experience with xml schema 1.0 jonathan marsh chair, ws description wg

10
WSDL Usage WSDL Usage Experience with XML Experience with XML Schema 1.0 Schema 1.0 Jonathan Marsh Jonathan Marsh Chair, WS Description WG Chair, WS Description WG

Upload: samuel-nelson

Post on 28-Dec-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: WSDL Usage Experience with XML Schema 1.0 Jonathan Marsh Chair, WS Description WG

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

Page 2: WSDL Usage Experience with XML Schema 1.0 Jonathan Marsh Chair, 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" > …

Page 3: WSDL Usage Experience with XML Schema 1.0 Jonathan Marsh Chair, WS Description WG

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

Page 4: WSDL Usage Experience with XML Schema 1.0 Jonathan Marsh Chair, WS Description WG

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/

Page 5: WSDL Usage Experience with XML Schema 1.0 Jonathan Marsh Chair, WS Description WG

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>

Page 6: WSDL Usage Experience with XML Schema 1.0 Jonathan Marsh Chair, WS Description WG

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>

Page 7: WSDL Usage Experience with XML Schema 1.0 Jonathan Marsh Chair, WS Description WG

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.

Page 8: WSDL Usage Experience with XML Schema 1.0 Jonathan Marsh Chair, WS Description WG

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.

Page 9: WSDL Usage Experience with XML Schema 1.0 Jonathan Marsh Chair, WS Description WG

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?

Page 10: WSDL Usage Experience with XML Schema 1.0 Jonathan Marsh Chair, WS Description WG

the endthe end