187 lines
8.2 KiB
XML
187 lines
8.2 KiB
XML
<?xml version="1.0" encoding="utf-8" ?>
|
|
<schema targetNamespace="http://schemas.xmlsoap.org/wsdl/"
|
|
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
|
xmlns="http://www.w3.org/1999/XMLSchema"
|
|
elementFormDefault="qualified">
|
|
<element name="documentation" >
|
|
<complexType content="mixed">
|
|
<any minOccurs="0" maxOccurs="unbounded"/>
|
|
<anyAttribute/>
|
|
</complexType>
|
|
</element>
|
|
<complexType name="documented" abstract="true" content="elementOnly">
|
|
<element ref="wsdl:documentation"/>
|
|
</complexType>
|
|
<complexType name="openAtts" abstract="true" content="elementOnly">
|
|
<annotation>
|
|
<documentation>
|
|
This type is extended by component types
|
|
to allow attributes from other namespaces to be added.
|
|
</documentation>
|
|
</annotation>
|
|
<element ref="wsdl:documentation"/>
|
|
<anyAttribute namespace="##other"/>
|
|
</complexType>
|
|
<element name="definitions" type="wsdl:definitionsType">
|
|
<key name="message">
|
|
<selector>message</selector>
|
|
<field>@name</field>
|
|
</key>
|
|
<key name="portType">
|
|
<selector>portType</selector>
|
|
<field>@name</field>
|
|
</key>
|
|
<key name="binding">
|
|
<selector>binding</selector>
|
|
<field>@name</field>
|
|
</key>
|
|
<key name="service">
|
|
<selector>service</selector>
|
|
<field>@name</field>
|
|
</key>
|
|
<key name="import">
|
|
<!-- Is it too restrictive?-->
|
|
<selector>import</selector>
|
|
<field>@namespace</field>
|
|
</key>
|
|
<key name="port">
|
|
<selector>service/port</selector>
|
|
<field>@name</field>
|
|
</key>
|
|
</element>
|
|
<complexType name="definitionsType" base="wsdl:documented" derivedBy="extension">
|
|
<element ref="wsdl:import" minOccurs="0" maxOccurs="unbounded"/>
|
|
<element ref="wsdl:types" minOccurs="0" maxOccurs="1"/>
|
|
<element ref="wsdl:message" minOccurs="0" maxOccurs="unbounded"/>
|
|
<element ref="wsdl:portType" minOccurs="0" maxOccurs="unbounded"/>
|
|
<element ref="wsdl:binding" minOccurs="0" maxOccurs="unbounded"/>
|
|
<element ref="wsdl:service" minOccurs="0" maxOccurs="unbounded"/>
|
|
<any namespace="##other" minOccurs="0" maxOccurs="unbounded">
|
|
<annotation>
|
|
<documentation>to support extensibility elements </documentation>
|
|
</annotation>
|
|
</any>
|
|
<attribute name="targetNamespace" type="uriReference" use="optional"/>
|
|
<attribute name="name" type="NMTOKEN" use="optional"/>
|
|
</complexType>
|
|
<element name="import" type="wsdl:importType" />
|
|
<complexType name="importType" base="wsdl:documented" derivedBy="extension" >
|
|
<attribute name="namespace" type="uriReference" use="required"/>
|
|
<attribute name="location" type="uriReference" use="required"/>
|
|
</complexType>
|
|
<element name="types" type="wsdl:typesType"/>
|
|
<complexType name="typesType" base="wsdl:documented" derivedBy="extension" >
|
|
<any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
|
|
</complexType>
|
|
<element name="message" type="wsdl:messageType">
|
|
<unique name="part">
|
|
<selector>part</selector>
|
|
<field>@name</field>
|
|
</unique>
|
|
</element>
|
|
<complexType name="messageType" base="wsdl:documented" derivedBy="extension">
|
|
<element ref="wsdl:part" minOccurs="0" maxOccurs="unbounded"/>
|
|
<attribute name="name" type="NCName" use="required"/>
|
|
</complexType>
|
|
<element name="part" type="wsdl:partType"/>
|
|
<complexType name="partType" base="wsdl:openAtts" derivedBy="extension">
|
|
<attribute name="name" type="NMTOKEN" use="optional"/>
|
|
<attribute name="type" type="QName" use="optional"/>
|
|
<attribute name="element" type="QName" use="optional"/>
|
|
</complexType>
|
|
<element name="portType" type="wsdl:portTypeType">
|
|
<key name="operation">
|
|
<selector>operation</selector>
|
|
<field>@name</field>
|
|
</key>
|
|
</element>
|
|
<complexType name="portTypeType" base="wsdl:documented" derivedBy="extension" content="elementOnly" >
|
|
<element ref="wsdl:operation" minOccurs="0" maxOccurs="unbounded"/>
|
|
<attribute name="name" type="NCName" use="required"/>
|
|
</complexType>
|
|
<element name="operation" type="wsdl:operationType">
|
|
<unique name="paramName">
|
|
<selector>input| output| fault</selector>
|
|
<field>@name</field>
|
|
</unique>
|
|
</element>
|
|
<complexType name="operationType" base="wsdl:documented" derivedBy="extension" >
|
|
<choice minOccurs="1" maxOccurs="1">
|
|
<group ref="wsdl:one-way-operation"/>
|
|
<group ref="wsdl:request-response-operation"/>
|
|
<group ref="wsdl:solicit-response-operation"/>
|
|
<group ref="wsdl:notification-operation"/>
|
|
</choice>
|
|
<attribute name="name" type="NCName" use="required"/>
|
|
</complexType>
|
|
<group name="one-way-operation">
|
|
<sequence>
|
|
<element ref="wsdl:input" />
|
|
</sequence>
|
|
</group>
|
|
<group name="request-response-operation">
|
|
<sequence>
|
|
<element ref="wsdl:input"/>
|
|
<element ref="wsdl:output"/>
|
|
<element ref="wsdl:fault" minOccurs="0" maxOccurs="unbounded"/>
|
|
</sequence>
|
|
</group>
|
|
<group name="solicit-response-operation">
|
|
<sequence>
|
|
<element ref="wsdl:output"/>
|
|
<element ref="wsdl:input" />
|
|
<element ref="wsdl:fault" minOccurs="0" maxOccurs="unbounded"/>
|
|
</sequence>
|
|
</group>
|
|
<group name="notification-operation">
|
|
<sequence>
|
|
<element ref="wsdl:output"/>
|
|
</sequence>
|
|
</group>
|
|
<element name="input" type="wsdl:paramType"/>
|
|
<element name="output" type="wsdl:paramType"/>
|
|
<element name="fault" type="wsdl:faultType"/>
|
|
<complexType name="paramType" base="wsdl:documented" derivedBy="extension" >
|
|
<attribute name="name" type="NMTOKEN" use="optional"/>
|
|
<attribute name="message" type="QName" use="required"/>
|
|
</complexType>
|
|
<complexType name="faultType" base="wsdl:documented" derivedBy="extension" >
|
|
<attribute name="name" type="NMTOKEN" use="required"/>
|
|
<attribute name="message" type="QName" use="required"/>
|
|
</complexType>
|
|
<complexType name="startWithExtensionsType" base="wsdl:documented" derivedBy="extension"
|
|
content="elementOnly" abstract="true">
|
|
<any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
|
|
</complexType>
|
|
<element name="binding" type="wsdl:bindingType"/>
|
|
<complexType name="bindingType" base="wsdl:startWithExtensionsType" derivedBy="extension"
|
|
content="elementOnly">
|
|
<element name="operation" type="wsdl:binding_operationType" minOccurs="0" maxOccurs="unbounded"/>
|
|
<attribute name="name" type="NCName" use="required"/>
|
|
<attribute name="type" type="QName" use="required"/>
|
|
</complexType>
|
|
<complexType name="binding_operationType" base="wsdl:startWithExtensionsType"
|
|
derivedBy="extension" content="elementOnly">
|
|
<element name="input" type="wsdl:startWithExtensionsType" minOccurs="0" maxOccurs="1"/>
|
|
<element name="output" type="wsdl:startWithExtensionsType" minOccurs="0" maxOccurs="1"/>
|
|
<element name="fault" minOccurs="0" maxOccurs="unbounded">
|
|
<complexType base="wsdl:startWithExtensionsType" derivedBy="extension">
|
|
<attribute name="name" type="NMTOKEN" use="required"/>
|
|
</complexType>
|
|
</element>
|
|
<attribute name="name" type="NCName" use="required"/>
|
|
</complexType>
|
|
<element name="service" type="wsdl:serviceType"/>
|
|
<complexType name="serviceType" base="wsdl:documented" derivedBy="extension" >
|
|
<element ref="wsdl:port" minOccurs="0" maxOccurs="unbounded"/>
|
|
<any namespace="##other" minOccurs="0" maxOccurs="1"/>
|
|
<attribute name="name" type="NCName" use="required"/>
|
|
</complexType>
|
|
<element name="port" type="wsdl:portType"/>
|
|
<complexType name="portType" base="wsdl:documented" derivedBy="extension">
|
|
<any namespace="##other" minOccurs="0" maxOccurs="1"/>
|
|
<attribute name="name" type="NCName" use="required"/>
|
|
<attribute name="binding" type="QName" use="required"/>
|
|
</complexType>
|
|
</schema>
|