| <?xml version="1.0" encoding="utf-8"?> |
| <definitions |
| xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" |
| xmlns:s="http://www.w3.org/2001/XMLSchema" |
| xmlns:s0="http://xml.apache.org/axis/PolymorphismTest" |
| xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" |
| targetNamespace="http://xml.apache.org/axis/PolymorphismTest" |
| xmlns="http://schemas.xmlsoap.org/wsdl/"> |
| <documentation> |
| This tests the ability to return a polymorphic child type from an |
| operation which has been declared to return a parent type. We'll |
| confirm that we get back the right type (a "B"), and make sure that |
| we do it in an environment where the server would normally NOT send |
| xsi:types at all (i.e. the "sendXsiTypes" option set to "false"), since |
| polymorphic types should always force xsi:type. |
| </documentation> |
| <types> |
| <s:schema elementFormDefault="qualified" |
| targetNamespace="http://xml.apache.org/axis/PolymorphismTest"> |
| <s:element name="GetBAsA"> |
| <s:complexType> |
| <s:sequence> |
| <s:element name="sendC" minOccurs="1" maxOccurs="1" |
| type="s:boolean"/> |
| </s:sequence> |
| </s:complexType> |
| </s:element> |
| <s:element name="GetBAsAResponse"> |
| <s:complexType> |
| <s:sequence> |
| <s:element minOccurs="0" maxOccurs="1" name="GetBAsAResult" |
| type="s0:A" /> |
| </s:sequence> |
| </s:complexType> |
| </s:element> |
| <s:complexType name="A"> |
| <s:sequence> |
| <s:element minOccurs="0" maxOccurs="1" name="a" type="s:string" /> |
| </s:sequence> |
| </s:complexType> |
| <s:complexType name="B"> |
| <s:complexContent mixed="false"> |
| <s:extension base="s0:A"> |
| <s:sequence> |
| <s:element minOccurs="0" maxOccurs="1" name="b" type="s:string" /> |
| </s:sequence> |
| </s:extension> |
| </s:complexContent> |
| </s:complexType> |
| <s:element name="A" nillable="true" type="s0:A" /> |
| </s:schema> |
| </types> |
| <message name="GetBAsASoapIn"> |
| <part name="parameters" element="s0:GetBAsA" /> |
| </message> |
| <message name="GetBAsASoapOut"> |
| <part name="parameters" element="s0:GetBAsAResponse" /> |
| </message> |
| <portType name="PolymorphismTest"> |
| <operation name="GetBAsA"> |
| <input message="s0:GetBAsASoapIn" /> |
| <output message="s0:GetBAsASoapOut" /> |
| </operation> |
| </portType> |
| <binding name="PolymorphismTestSoap" type="s0:PolymorphismTest"> |
| <soap:binding transport="http://schemas.xmlsoap.org/soap/http" |
| style="document" /> |
| <operation name="GetBAsA"> |
| <soap:operation soapAction="" style="document" /> |
| <input> |
| <soap:body use="literal" /> |
| </input> |
| <output> |
| <soap:body use="literal" /> |
| </output> |
| </operation> |
| </binding> |
| <service name="PolymorphismTest"> |
| <port name="PolymorphismTest" binding="s0:PolymorphismTestSoap"> |
| <soap:address location="http://localhost:8080/axis/services/PolymorphismTest" /> |
| </port> |
| </service> |
| </definitions> |