1<?xml version="1.0" encoding="UTF-8"?>
2<definitions
3	xmlns="http://schemas.xmlsoap.org/wsdl/"
4	xmlns:tns="http://soapinterop.org/wsdl"
5	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
6	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
7	xmlns:ns2="http://soapinterop.org/types"
8	targetNamespace="http://soapinterop.org/wsdl">
9
10	<types>
11		<schema elementFormDefault="qualified"
12			xmlns="http://www.w3.org/2001/XMLSchema"
13			xmlns:tns="http://soapinterop.org/types"
14			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
15			xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/"
16			xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
17			targetNamespace="http://soapinterop.org/types">
18
19			<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
20
21			<complexType name="SOAPStruct">
22				<sequence>
23					<element name="varString" type="xsd:string"/>
24					<element name="varInt" type="xsd:int"/>
25					<element name="varFloat" type="xsd:float"/>
26				</sequence>
27			</complexType>
28
29			<complexType name="SOAPStructFault">
30				<sequence>
31					<element name="soapStruct" type="tns:SOAPStruct"/>
32				</sequence>
33			</complexType>
34
35			<complexType name="BaseStruct">
36				<sequence>
37					<element name="floatMessage" type="xsd:float"/>
38					<element name="shortMessage" type="xsd:short"/>
39				</sequence>
40			</complexType>
41
42			<complexType name="ExtendedStruct">
43				<complexContent>
44					<extension base="tns:BaseStruct">
45						<sequence>
46							<element name="stringMessage" type="xsd:string"/>
47							<element name="intMessage" type="xsd:int"/>
48							<element name="anotherIntMessage" type="xsd:int"/>
49						</sequence>
50					</extension>
51				</complexContent>
52			</complexType>
53
54			<complexType name="MoreExtendedStruct">
55				<complexContent>
56					<extension base="tns:ExtendedStruct">
57						<sequence>
58							<element name="booleanMessage" type="xsd:boolean"/>
59						</sequence>
60					</extension>
61				</complexContent>
62			</complexType>
63
64		</schema>
65	</types>
66
67	<message name="echoFaultResponse"/>
68	<message name="echoSOAPStructFaultRequest">
69		<part name="param" type="ns2:SOAPStructFault"/>
70	</message>
71	<message name="echoBaseStructFaultRequest">
72		<part name="param" type="ns2:BaseStruct"/>
73	</message>
74	<message name="echoExtendedStructFaultRequest">
75		<part name="param" type="ns2:ExtendedStruct"/>
76	</message>
77	<message name="echoMultipleFaults1Request">
78		<part name="whichFault" type="xsd:int"/>
79		<part name="param1" type="ns2:SOAPStruct"/>
80		<part name="param2" type="ns2:BaseStruct"/>
81	</message>
82	<message name="echoMultipleFaults2Request">
83		<part name="whichFault" type="xsd:int"/>
84		<part name="param1" type="ns2:BaseStruct"/>
85		<part name="param2" type="ns2:ExtendedStruct"/>
86		<part name="param3" type="ns2:MoreExtendedStruct"/>
87	</message>
88
89	<!-- Fault messages -->
90	<message name="SOAPStructFault">
91		<part name="part1" type="ns2:SOAPStructFault"/>
92	</message>
93	<message name="BaseStructFault">
94		<part name="part2" type="ns2:BaseStruct"/>
95	</message>
96	<message name="ExtendedStructFault">
97		<part name="part3" type="ns2:ExtendedStruct"/>
98	</message>
99	<message name="MoreExtendedStructFault">
100		<part name="part4" type="ns2:MoreExtendedStruct"/>
101	</message>
102
103	<portType name="ComplexRpcEncPortType">
104		<!--
105			Throws a fault with an embedded SOAPStruct
106		-->
107		<operation name="echoSOAPStructFault" parameterOrder="param">
108			<input message="tns:echoSOAPStructFaultRequest"/>
109			<output message="tns:echoFaultResponse"/>
110			<fault name="ComplexFault" message="tns:SOAPStructFault"/>
111		</operation>
112
113		<!--
114			Throws a fault with a base complex struct
115		-->
116		<operation name="echoBaseStructFault" parameterOrder="param">
117			<input message="tns:echoBaseStructFaultRequest"/>
118			<output message="tns:echoFaultResponse"/>
119			<fault name="ComplexFault" message="tns:BaseStructFault"/>
120		</operation>
121
122		<!--
123			Throws a fault with an en extended complex type
124		-->
125		<operation name="echoExtendedStructFault" parameterOrder="param">
126			<input message="tns:echoExtendedStructFaultRequest"/>
127			<output message="tns:echoFaultResponse"/>
128			<fault name="ComplexFault" message="tns:ExtendedStructFault"/>
129		</operation>
130
131		<!--
132			Throws a fault with embedded complex type and fault with
133			another complex type
134		-->
135		<operation name="echoMultipleFaults1" parameterOrder="whichFault param1 param2">
136			<input message="tns:echoMultipleFaults1Request"/>
137			<output message="tns:echoFaultResponse"/>
138			<fault name="ComplexFault1" message="tns:SOAPStructFault"/>
139			<fault name="ComplexFault2" message="tns:BaseStructFault"/>
140		</operation>
141
142		<!--
143			Throws a fault with base complex type, fault with an extended
144			complex type and a fault with doubly extended complex type
145		-->
146		<operation name="echoMultipleFaults2" parameterOrder="whichFault param1 param2 param3">
147			<input message="tns:echoMultipleFaults2Request"/>
148			<output message="tns:echoFaultResponse"/>
149			<fault name="ComplexFault1" message="tns:BaseStructFault"/>
150			<fault name="ComplexFault2" message="tns:ExtendedStructFault"/>
151			<fault name="ComplexFault3" message="tns:MoreExtendedStructFault"/>
152		</operation>
153	</portType>
154
155	<binding name="ComplexRpcEncBinding" type="tns:ComplexRpcEncPortType">
156		<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
157		<operation name="echoSOAPStructFault">
158			<input>
159				<soap:body
160					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
161					use="encoded"
162					namespace="http://soapinterop.org/wsdl"/>
163			</input>
164			<output>
165				<soap:body
166					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
167					use="encoded"
168					namespace="http://soapinterop.org/wsdl"/>
169			</output>
170			<fault name="ComplexFault">
171				<soap:fault
172					name="ComplexFault"
173					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
174					use="encoded"
175					namespace="http://soapinterop.org/wsdl"/>
176			</fault>
177			<soap:operation soapAction=""/>
178		</operation>
179
180		<operation name="echoBaseStructFault">
181			<input>
182				<soap:body
183					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
184					use="encoded"
185					namespace="http://soapinterop.org/wsdl"/>
186			</input>
187			<output>
188				<soap:body
189					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
190					use="encoded"
191					namespace="http://soapinterop.org/wsdl"/>
192			</output>
193			<fault name="ComplexFault">
194				<soap:fault
195					name="ComplexFault"
196					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
197					use="encoded"
198					namespace="http://soapinterop.org/wsdl"/>
199			</fault>
200			<soap:operation soapAction=""/>
201		</operation>
202
203		<operation name="echoExtendedStructFault">
204			<input>
205				<soap:body
206					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
207					use="encoded"
208					namespace="http://soapinterop.org/wsdl"/>
209			</input>
210			<output>
211				<soap:body
212					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
213					use="encoded"
214					namespace="http://soapinterop.org/wsdl"/>
215			</output>
216			<fault name="ComplexFault">
217				<soap:fault
218					name="ComplexFault"
219					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
220					use="encoded"
221					namespace="http://soapinterop.org/wsdl"/>
222			</fault>
223			<soap:operation soapAction=""/>
224		</operation>
225
226		<operation name="echoMultipleFaults1">
227			<input>
228				<soap:body
229					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
230					use="encoded"
231					namespace="http://soapinterop.org/wsdl"/>
232			</input>
233			<output>
234				<soap:body
235					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
236					use="encoded"
237					namespace="http://soapinterop.org/wsdl"/>
238			</output>
239			<fault name="ComplexFault1">
240				<soap:fault
241					name="ComplexFault1"
242					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
243					use="encoded"
244					namespace="http://soapinterop.org/wsdl"/>
245			</fault>
246			<fault name="ComplexFault2">
247				<soap:fault
248					name="ComplexFault2"
249					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
250					use="encoded"
251					namespace="http://soapinterop.org/wsdl"/>
252			</fault>
253			<soap:operation soapAction=""/>
254		</operation>
255
256		<operation name="echoMultipleFaults2">
257			<input>
258				<soap:body
259					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
260					use="encoded"
261					namespace="http://soapinterop.org/wsdl"/>
262			</input>
263			<output>
264				<soap:body
265					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
266					use="encoded"
267					namespace="http://soapinterop.org/wsdl"/>
268			</output>
269			<fault name="ComplexFault1">
270				<soap:fault
271					name="ComplexFault1"
272					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
273					use="encoded"
274					namespace="http://soapinterop.org/wsdl"/>
275			</fault>
276			<fault name="ComplexFault2">
277				<soap:fault
278					name="ComplexFault2"
279					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
280					use="encoded"
281					namespace="http://soapinterop.org/wsdl"/>
282			</fault>
283			<fault name="ComplexFault3">
284				<soap:fault
285					name="ComplexFault3"
286					encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
287					use="encoded"
288					namespace="http://soapinterop.org/wsdl"/>
289			</fault>
290			<soap:operation soapAction=""/>
291		</operation>
292	</binding>
293
294	<service name="ComplexRpcEncService">
295		<port name="ComplexRpcEncPort" binding="tns:ComplexRpcEncBinding">
296			<soap:address
297				location="test://"/>
298		</port>
299	</service>
300</definitions>
301
302