1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
<?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>
|