Examples for ws reference presentation WSD WG f2f Sept 2003
Example 1A
Fully static type information. Neither the interface nor binding of the Manager and Engineer services are sent in the
message. Both the interface and binding service type information is described in the Department WSDL using derived types
of xs:anyUri.
<soap:Envelope>
<soap:Body>
<hr:Department deptNo="123" xmlns:hr="http://hr.example.com">
<hr:Manager>http://hr.example.com/employee/smith/judy</hr:Manager>
<hr:Engineer>http://hr.example.com/employee/jones/tom</hr:Engineer>
<hr:Engineer>http://hr.example.com/employee/lee/jin</hr:Engineer>
</hr:Department>
</soap:Body>
</soap:Envelope>
<wsdl:definitions targetnamespace="http://hr.example.com"
xmlns:hr="http://hr.example.com">
<wsdl:types>
<xs:schema targetnamespace="http://hr.example.com">
<xs:simpleType name="ManagerReference">
<xs:restriction base="xs:anyUri"/>
</xs:simpleType>
<xs:simpleType name="EngineerReference">
<xs:restriction base="xs:anyUri"/>
</xs:simpleType>
<xs:element name="DepartmentNumber" type="xs:string"/>
<xs:element name="Department">
<xs:complexType>
<xs:sequence>
<xs:element name="Manager" type="hr:ManagerReference"/>
<xs:element name="Engineer" type="hr:EngineerReference"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="deptno" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:schema>
</wsdl:types>
<wsdl:interface name="Manager">...</wsdl:interface>
<wsdl:interface name="Engineer">...</wsdl:interface>
<wsdl:interface name="Department">
<wsdl:operation name="getDepartment">
<wsdl:
name="Example_2A">Example 2A
Partially dynamic type information. Both the interface and binding of the Manager and Engineer services are sent in the
message using derived types of wsdl:Service. Only the interface service type information is described in the Department WSDL.
<soap:Envelope>
<soap:Body>
<hr:Department deptNo="123" xmlns:hr="http://hr.example.com"
wsdl:descriptionLocation="http://hr.example.com http://hr.example.com/department.wsdl">
<hr:Manager interface="hr:Manager">
<wsdl:endpoint binding="hr:ManagerSOAP">
<soap:address location="http://hr.example.com/employee/smith/judy">
</wsdl:endpoint>
</hr:Manager>
<hr:Engineer interface="hr:Engineer">
<wsdl:enpoint binding="hr:EngineerSOAP">
<soap:address location="http://hr.example.com/employee/jones/tom"/>
</wsdl:endpoint>
</hr:Engineer>
<hr:Engineer interface="hr:Engineer">
<wsdl:enpoint binding="hr:EngineerSOAP">
<soap:address location="http://hr.example.com/employee/lee/jin"/>
</wsdl:endpoint>
</hr:Engineer>
</hr:Department>
</soap:Body>
</soap:Envelope>
<wsdl:definitions targetnamespace="http://hr.example.com"
xmlns:hr="http://hr.example.com">
<wsdl:types>
<xs:schema targetnamespace="http://hr.example.com">
<xs:complexType name="ManagerReference">
<xs:complexContent>
<xs:extension base="wsdl:Service"/>
<xs:complexContent>
</xs:complexType>
<xs:complexType name="EngineerReference">
<xs:complexContent>
<xs:extension base="wsdl:Service"/>
<xs:complexContent>
</xs:complexType>
<xs:element name="DepartmentNumber" type="xs:string"/>
<xs:element name="Department">
<xs:complexType>
Example 3A
Fully dynamic type information. Both the interface and binding of the Manager and Engineer services are sent in the
message using wsdl:Service. No service type information is described in the Department WSDL.
<soap:Envelope>
<soap:Body>
<hr:Department deptNo="123" xmlns:hr="http://hr.example.com"
wsdl:descriptionLocation="http://hr.example.com http://hr.example.com/department.wsdl">
<hr:Manager interface="hr:Manager">
<wsdl:endpoint binding="hr:ManagerSOAP">
<soap:address location="http://hr.example.com/employee/smith/judy">
</wsdl:endpoint>
</hr:Manager>
<hr:Engineer interface="hr:Engineer">
<wsdl:enpoint binding="hr:EngineerSOAP">
<soap:address location="http://hr.example.com/employee/jones/tom"/>
</wsdl:endpoint>
</hr:Engineer>
<hr:Engineer interface="hr:Engineer">
<wsdl:enpoint binding="hr:EngineerSOAP">
<soap:address location="http://hr.example.com/employee/lee/jin"/>
</wsdl:endpoint>
</hr:Engineer>
</hr:Department>
</soap:Body>
</soap:Envelope>
<wsdl:definitions targetnamespace="http://hr.example.com"
xmlns:hr="http://hr.example.com">
<wsdl:types>
<xs:schema targetnamespace="http://hr.example.com">
<xs:element name="DepartmentNumber" type="xs:string"/>
<xs:element name="Department">
<xs:complexType>
<xs:sequence>
<xs:element name="Manager" type="wsdl:Service"/>
<xs:element name="Engineer" type="wsdl:Service"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="deptno" type="xs:string"/>
<xs:attribute ref="wsdl:descriptionLocation"/>
</xs:complexType>
</xs:element>
</xs:schema>
<