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	xmlns:ns3="http://soapinterop.org/types/part"
9	xmlns:ns4="http://soapinterop.org/types/requestresponse"
10	targetNamespace="http://soapinterop.org/wsdl">
11	<types>
12		<schema elementFormDefault="qualified"
13			xmlns="http://www.w3.org/2001/XMLSchema"
14			xmlns:tns="http://soapinterop.org/types"
15			targetNamespace="http://soapinterop.org/types">
16
17			<complexType name="ArrayOfString">
18				<sequence>
19					<element name="value" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
20				</sequence>
21			</complexType>
22
23			<complexType name="ArrayOfInt">
24				<sequence>
25					<element name="value" minOccurs="0" maxOccurs="unbounded" type="xsd:int"/>
26				</sequence>
27			</complexType>
28
29			<complexType name="ArrayOfFloat">
30				<sequence>
31					<element name="value" minOccurs="0" maxOccurs="unbounded" type="xsd:float"/>
32				</sequence>
33			</complexType>
34
35			<simpleType name="Enum">
36				<restriction base="xsd:int">
37					<enumeration value="1"/>
38					<enumeration value="2"/>
39				</restriction>
40			</simpleType>
41
42		</schema>
43
44		<schema elementFormDefault="qualified"
45			xmlns="http://www.w3.org/2001/XMLSchema"
46			xmlns:tns="http://soapinterop.org/types/part"
47			targetNamespace="http://soapinterop.org/types/part">
48
49			<element name="EmptyPart">
50				<complexType/>
51			</element>
52
53			<element name="StringPart" type="xsd:string"/>
54			<element name="IntPart" type="xsd:int"/>
55			<element name="FloatPart" type="xsd:float"/>
56			<element name="ArrayOfStringPart" type="ns2:ArrayOfString"/>
57			<element name="ArrayOfIntPart" type="ns2:ArrayOfInt"/>
58			<element name="ArrayOfFloatPart" type="ns2:ArrayOfFloat"/>
59			<element name="String2Part" type="xsd:string"/>
60			<element name="EnumPart" type="ns2:Enum"/>
61
62		</schema>
63
64		<schema elementFormDefault="qualified"
65			xmlns="http://www.w3.org/2001/XMLSchema"
66			xmlns:tns="http://soapinterop.org/types/requestresponse"
67			targetNamespace="http://soapinterop.org/types/requestresponse">
68
69			<element name="echoEmptyFaultRequest">
70				<complexType/>
71			</element>
72			<element name="echoEmptyFaultResponse">
73				<complexType/>
74			</element>
75
76			<element name="echoStringFaultRequest" type="xsd:string"/>
77			<element name="echoStringFaultResponse">
78				<complexType/>
79			</element>
80
81			<element name="echoIntArrayFaultRequest" type="ns2:ArrayOfInt"/>
82			<element name="echoIntArrayFaultResponse">
83				<complexType/>
84			</element>
85
86			<element name="echoMultipleFaults1Request">
87				<complexType>
88					<sequence>
89						<element name="whichFault" type="xsd:int"/>
90						<element name="param1" type="xsd:string"/>
91						<element name="param2" type="ns2:ArrayOfFloat"/>
92					</sequence>
93				</complexType>
94			</element>
95			<element name="echoMultipleFaults1Response">
96				<complexType/>
97			</element>
98
99			<element name="echoMultipleFaults2Request">
100				<complexType>
101					<sequence>
102						<element name="whichFault" type="xsd:int"/>
103						<element name="param1" type="xsd:string"/>
104						<element name="param2" type="xsd:float"/>
105						<element name="param3" type="ns2:ArrayOfString"/>
106					</sequence>
107				</complexType>
108			</element>
109			<element name="echoMultipleFaults2Response">
110				<complexType/>
111			</element>
112
113			<element name="echoMultipleFaults3Request">
114				<complexType>
115					<sequence>
116						<element name="whichFault" type="xsd:int"/>
117						<element name="param1" type="xsd:string"/>
118						<element name="param2" type="xsd:string"/>
119					</sequence>
120				</complexType>
121			</element>
122			<element name="echoMultipleFaults3Response">
123				<complexType/>
124			</element>
125
126			<element name="echoMultipleFaults4Request">
127				<complexType>
128					<sequence>
129						<element name="whichFault" type="xsd:int"/>
130						<element name="param1" type="xsd:int"/>
131						<element name="param2" type="ns2:Enum"/>
132					</sequence>
133				</complexType>
134			</element>
135			<element name="echoMultipleFaults4Response">
136				<complexType/>
137			</element>
138
139		</schema>
140	</types>
141
142	<message name="echoEmptyFaultRequest">
143		<part name="param" element="ns4:echoEmptyFaultRequest"/>
144	</message>
145	<message name="echoEmptyFaultResponse">
146		<part name="param" element="ns4:echoEmptyFaultResponse"/>
147	</message>
148
149	<message name="echoStringFaultRequest">
150		<part name="param" element="ns4:echoStringFaultRequest"/>
151	</message>
152	<message name="echoStringFaultResponse">
153		<part name="param" element="ns4:echoStringFaultResponse"/>
154	</message>
155
156	<message name="echoIntArrayFaultRequest">
157		<part name="param" element="ns4:echoIntArrayFaultRequest"/>
158	</message>
159	<message name="echoIntArrayFaultResponse">
160		<part name="param" element="ns4:echoIntArrayFaultResponse"/>
161	</message>
162
163	<message name="echoMultipleFaults1Request">
164		<part name="param" element="ns4:echoMultipleFaults1Request"/>
165	</message>
166	<message name="echoMultipleFaults1Response">
167		<part name="param" element="ns4:echoMultipleFaults1Response"/>
168	</message>
169
170	<message name="echoMultipleFaults2Request">
171		<part name="param" element="ns4:echoMultipleFaults2Request"/>
172	</message>
173	<message name="echoMultipleFaults2Response">
174		<part name="param" element="ns4:echoMultipleFaults2Response"/>
175	</message>
176
177	<message name="echoMultipleFaults3Request">
178		<part name="param" element="ns4:echoMultipleFaults3Request"/>
179	</message>
180	<message name="echoMultipleFaults3Response">
181		<part name="param" element="ns4:echoMultipleFaults3Response"/>
182	</message>
183
184	<message name="echoMultipleFaults4Request">
185		<part name="param" element="ns4:echoMultipleFaults4Request"/>
186	</message>
187	<message name="echoMultipleFaults4Response">
188		<part name="param" element="ns4:echoMultipleFaults4Response"/>
189	</message>
190
191	<!-- Fault messages -->
192	<message name="EmptyFault">
193		<part name="part1" element="ns3:EmptyPart"/>
194	</message>
195	<message name="StringFault">
196		<part name="part2" element="ns3:StringPart"/>
197	</message>
198	<message name="IntFault">
199		<part name="part3" element="ns3:IntPart"/>
200	</message>
201	<message name="FloatFault">
202		<part name="part4" element="ns3:FloatPart"/>
203	</message>
204	<message name="StringArrayFault">
205		<part name="part5" element="ns3:ArrayOfStringPart"/>
206	</message>
207	<message name="IntArrayFault">
208		<part name="part6" element="ns3:ArrayOfIntPart"/>
209	</message>
210	<message name="FloatArrayFault">
211		<part name="part7" element="ns3:ArrayOfFloatPart"/>
212	</message>
213	<!--
214		Part name same as in Fault2 message
215	-->
216	<message name="String2Fault">
217		<part name="part2" element="ns3:String2Part"/>
218	</message>
219	<message name="EnumFault">
220		<part name="part9" element="ns3:EnumPart"/>
221	</message>
222
223	<portType name="SimpleDocLitPortType">
224		<!--
225			Throws an empty fault
226		-->
227		<operation name="echoEmptyFault" parameterOrder="">
228			<input message="tns:echoEmptyFaultRequest"/>
229			<output message="tns:echoEmptyFaultResponse"/>
230			<fault name="SimpleFault" message="tns:EmptyFault"/>
231		</operation>
232
233		<!--
234			Throws fault with xsd:string parameter
235		-->
236		<operation name="echoStringFault" parameterOrder="param">
237			<input message="tns:echoStringFaultRequest"/>
238			<output message="tns:echoStringFaultResponse"/>
239			<fault name="SimpleFault" message="tns:StringFault"/>
240		</operation>
241
242		<!--
243			Throws fault with xsd:int[] parameter
244		-->
245		<operation name="echoIntArrayFault" parameterOrder="param">
246			<input message="tns:echoIntArrayFaultRequest"/>
247			<output message="tns:echoIntArrayFaultResponse"/>
248			<fault name="SimpleFault" message="tns:IntArrayFault"/>
249		</operation>
250
251		<!--
252			Throws empty fault, fault with a xsd:string
253			parameter and fault with xsd:float[] parameter
254		-->
255		<operation name="echoMultipleFaults1" parameterOrder="param">
256			<input message="tns:echoMultipleFaults1Request"/>
257			<output message="tns:echoMultipleFaults1Response"/>
258			<fault name="SimpleFault1" message="tns:EmptyFault"/>
259			<fault name="SimpleFault2" message="tns:StringFault"/>
260			<fault name="SimpleFault3" message="tns:FloatArrayFault"/>
261		</operation>
262
263		<!--
264			Throws fault with xsd:string parameter, fault with
265			xsd:float parameter and fault with xsd:string[]
266			parameters
267		-->
268		<operation name="echoMultipleFaults2" parameterOrder="param">
269			<input message="tns:echoMultipleFaults2Request"/>
270			<output message="tns:echoMultipleFaults2Response"/>
271			<fault name="SimpleFault1" message="tns:StringFault"/>
272			<fault name="SimpleFault2" message="tns:FloatFault"/>
273			<fault name="SimpleFault3" message="tns:StringArrayFault"/>
274		</operation>
275
276		<!--
277			Throws two faults, each with xsd:string parameters
278			and same part names
279		-->
280		<operation name="echoMultipleFaults3" parameterOrder="param">
281			<input message="tns:echoMultipleFaults3Request"/>
282			<output message="tns:echoMultipleFaults3Response"/>
283			<fault name="SimpleFault1" message="tns:StringFault"/>
284			<fault name="SimpleFault2" message="tns:String2Fault"/>
285		</operation>
286
287		<!--
288			Throws fault with xsd:int parameter and fault with an
289			int enumeration parameter
290		-->
291		<operation name="echoMultipleFaults4" parameterOrder="param">
292			<input message="tns:echoMultipleFaults4Request"/>
293			<output message="tns:echoMultipleFaults4Response"/>
294			<fault name="SimpleFault1" message="tns:IntFault"/>
295			<fault name="SimpleFault2" message="tns:EnumFault"/>
296		</operation>
297	</portType>
298
299	<binding name="SimpleDocLitBinding" type="tns:SimpleDocLitPortType">
300		<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
301
302		<operation name="echoEmptyFault">
303			<input>
304				<soap:body use="literal"/>
305			</input>
306			<output>
307				<soap:body use="literal"/>
308			</output>
309			<soap:fault use="literal"/>
310			<soap:operation soapAction="http://soapinterop.org/r4/groupg/"/>
311		</operation>
312
313		<operation name="echoStringFault">
314			<input>
315				<soap:body use="literal"/>
316			</input>
317			<output>
318				<soap:body use="literal"/>
319			</output>
320			<fault name="SimpleFault">
321				<soap:fault use="literal"/>
322			</fault>
323			<soap:operation soapAction="http://soapinterop.org/r4/groupg/"/>
324		</operation>
325
326		<operation name="echoIntArrayFault">
327			<input>
328				<soap:body use="literal"/>
329			</input>
330			<output>
331				<soap:body use="literal"/>
332			</output>
333			<fault name="SimpleFault">
334				<soap:fault use="literal"/>
335			</fault>
336			<soap:operation soapAction="http://soapinterop.org/r4/groupg/"/>
337		</operation>
338
339		<operation name="echoMultipleFaults1">
340			<input>
341				<soap:body use="literal"/>
342			</input>
343			<output>
344				<soap:body use="literal"/>
345			</output>
346			<fault name="SimpleFault1">
347				<soap:fault use="literal"/>
348			</fault>
349			<fault name="SimpleFault2">
350				<soap:fault use="literal"/>
351			</fault>
352			<fault name="SimpleFault3">
353				<soap:fault use="literal"/>
354			</fault>
355			<soap:operation soapAction="http://soapinterop.org/r4/groupg/"/>
356		</operation>
357
358		<operation name="echoMultipleFaults2">
359			<input>
360				<soap:body use="literal"/>
361			</input>
362			<output>
363				<soap:body use="literal"/>
364			</output>
365			<fault name="SimpleFault1">
366				<soap:fault use="literal"/>
367			</fault>
368			<fault name="SimpleFault2">
369				<soap:fault use="literal"/>
370			</fault>
371			<fault name="SimpleFault3">
372				<soap:fault use="literal"/>
373			</fault>
374			<soap:operation soapAction="http://soapinterop.org/r4/groupg/"/>
375		</operation>
376
377		<operation name="echoMultipleFaults3">
378			<input>
379				<soap:body use="literal"/>
380			</input>
381			<output>
382				<soap:body use="literal"/>
383			</output>
384			<fault name="SimpleFault1">
385				<soap:fault use="literal"/>
386			</fault>
387			<fault name="SimpleFault2">
388				<soap:fault use="literal"/>
389			</fault>
390			<soap:operation soapAction="http://soapinterop.org/r4/groupg/"/>
391		</operation>
392
393		<operation name="echoMultipleFaults4">
394			<input>
395				<soap:body use="literal"/>
396			</input>
397			<output>
398				<soap:body use="literal"/>
399			</output>
400			<fault name="SimpleFault1">
401				<soap:fault use="literal"/>
402			</fault>
403			<fault name="SimpleFault2">
404				<soap:fault use="literal"/>
405			</fault>
406			<soap:operation soapAction="http://soapinterop.org/r4/groupg/"/>
407		</operation>
408
409	</binding>
410
411	<service name="SimpleDocLitService">
412		<port name="SimpleDocLitPort" binding="tns:SimpleDocLitBinding">
413			<soap:address
414				location="http://"/>
415		</port>
416	</service>
417</definitions>
418
419