Example 4. Remote References Schema for SOAP Encoded
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://idoox.com/interface"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://idoox.com/interface"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<complexType name="serviceReference">
<sequence>
<element name="service" type="QName"/>
<element name="wsdl" type="anyURI"/>
<element minOccurs="0" name="instanceID" type="string"/>
<element minOccurs="0" name="portTypeMappings"
type="tns:ArrayOfInterfaceMapping"/>
</sequence>
</complexType>
<complexType name="ArrayOfInterfaceMapping">
<complexContent>
<restriction base="soapenc:Array">
<sequence>
<element maxOccurs="unbounded" minOccurs="0"
name="item" type="tns:interfaceMapping"/>
</sequence>
<attribute ref="soapenc:arrayType"
wsdl:arrayType="tns:interfaceMapping[]"/>
</restriction>
</complexContent>
</complexType>
<complexType name="interfaceMapping">
<sequence>
<element name="portType" type="QName"/>
<element name="className" type="string"/>
</sequence>
</complexType>
<element name="instance">
<annotation>
<documentation> this is the SOAP header schema this SOAP header
SHOULD have soap-env:mustUnderstand set to "1" this header MUST
be present at most once in any message </documentation>
</annotation>
<complexType>
<choice>
<element name="id" type="string"/>
<element name="setId" type="string"/>
<element name="notFound" type="string"/>
</choice>
</complexType>
</element>
</schema>