1<wsdl:definitions name="sample" targetNamespace="http://www.soapui.org/sample/"
2                  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://www.soapui.org/sample/"
3                  xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
4    <wsdl:types>
5        <xsd:schema targetNamespace="http://www.soapui.org/sample/">
6            <xsd:element name="searchResponseContent">
7                <xsd:complexType>
8                    <xsd:sequence>
9                        <xsd:element name="item" type="tns:ItemType" maxOccurs="unbounded"/>
10                    </xsd:sequence>
11                </xsd:complexType>
12            </xsd:element>
13            <xsd:complexType name="ItemType">
14                <xsd:sequence>
15                    <xsd:element name="id" type="xsd:string"/>
16                    <xsd:element name="description" type="xsd:string"/>
17                    <xsd:element name="price" type="xsd:string"/>
18                </xsd:sequence>
19            </xsd:complexType>
20            <xsd:element name="buyResponseContent">
21                <xsd:complexType>
22                    <xsd:sequence>
23                        <xsd:element name="purchasestatus" type="tns:PurchaseStatusType" maxOccurs="unbounded"/>
24                    </xsd:sequence>
25                </xsd:complexType>
26            </xsd:element>
27            <xsd:complexType name="PurchaseStatusType">
28                <xsd:sequence>
29                    <xsd:element name="id" type="xsd:string"/>
30                    <xsd:element name="stockStatus" type="xsd:string"/>
31                    <xsd:element name="expectedDelivery" type="xsd:string"/>
32                </xsd:sequence>
33            </xsd:complexType>
34        </xsd:schema>
35    </wsdl:types>
36    <wsdl:message name="loginRequest">
37        <wsdl:part name="username" type="xsd:string"/>
38        <wsdl:part name="password" type="xsd:string"/>
39    </wsdl:message>
40    <wsdl:message name="loginResponse">
41        <wsdl:part name="sessionid" type="xsd:string"/>
42    </wsdl:message>
43    <wsdl:message name="logoutResponse">
44        <wsdl:part name="sessioninfo" type="xsd:string"/>
45    </wsdl:message>
46    <wsdl:message name="logoutRequest">
47        <wsdl:part name="sessionid" type="xsd:string"/>
48    </wsdl:message>
49    <wsdl:message name="searchRequest">
50        <wsdl:part name="sessionid" type="xsd:string"/>
51        <wsdl:part name="searchstring" type="xsd:string"/>
52    </wsdl:message>
53    <wsdl:message name="searchResponse">
54        <wsdl:part name="searchresult" element="tns:searchResponseContent"/>
55    </wsdl:message>
56    <wsdl:message name="buyRequest">
57        <wsdl:part name="sessionid" type="xsd:string"/>
58        <wsdl:part name="buystring" type="xsd:string"/>
59    </wsdl:message>
60    <wsdl:message name="buyResponse">
61        <wsdl:part name="buyresult" element="tns:buyResponseContent"/>
62    </wsdl:message>
63    <wsdl:message name="login_faultMsg">
64        <wsdl:part name="loginFault" type="xsd:string"/>
65    </wsdl:message>
66    <wsdl:message name="logout_faultMsg">
67        <wsdl:part name="logoutFault" type="xsd:string"/>
68    </wsdl:message>
69    <wsdl:message name="search_faultMsg">
70        <wsdl:part name="searchFault" type="xsd:string"/>
71    </wsdl:message>
72    <wsdl:message name="buy_faultMsg">
73        <wsdl:part name="buyFault" type="xsd:string"/>
74    </wsdl:message>
75    <wsdl:portType name="ISampleService">
76        <wsdl:operation name="login">
77            <wsdl:input message="tns:loginRequest"/>
78            <wsdl:output message="tns:loginResponse"/>
79            <wsdl:fault name="fault" message="tns:login_faultMsg"/>
80        </wsdl:operation>
81        <wsdl:operation name="logout">
82            <wsdl:input message="tns:logoutRequest"/>
83            <wsdl:output message="tns:logoutResponse"/>
84            <wsdl:fault name="fault" message="tns:logout_faultMsg"/>
85        </wsdl:operation>
86        <wsdl:operation name="search">
87            <wsdl:input message="tns:searchRequest"/>
88            <wsdl:output message="tns:searchResponse"/>
89            <wsdl:fault name="fault" message="tns:search_faultMsg"/>
90        </wsdl:operation>
91        <wsdl:operation name="buy">
92            <wsdl:input message="tns:buyRequest"/>
93            <wsdl:output message="tns:buyResponse"/>
94            <wsdl:fault name="fault" message="tns:buy_faultMsg"/>
95        </wsdl:operation>
96    </wsdl:portType>
97    <wsdl:binding name="SampleServiceSoapBinding" type="tns:ISampleService">
98        <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
99        <wsdl:operation name="login">
100            <soap:operation soapAction="http://www.soapui.org/sample/login"/>
101            <wsdl:input>
102                <soap:body use="literal" namespace="http://www.soapui.org/sample/"/>
103            </wsdl:input>
104            <wsdl:output>
105                <soap:body use="literal" namespace="http://www.soapui.org/sample/"/>
106            </wsdl:output>
107            <wsdl:fault name="fault">
108                <soap:fault use="literal" name="fault"/>
109            </wsdl:fault>
110        </wsdl:operation>
111        <wsdl:operation name="logout">
112            <soap:operation soapAction="http://www.soapui.org/sample/logout"/>
113            <wsdl:input>
114                <soap:body use="literal" namespace="http://www.soapui.org/sample/"/>
115            </wsdl:input>
116            <wsdl:output>
117                <soap:body use="literal" namespace="http://www.soapui.org/sample/"/>
118            </wsdl:output>
119            <wsdl:fault name="fault">
120                <soap:fault use="literal" name="fault"/>
121            </wsdl:fault>
122        </wsdl:operation>
123        <wsdl:operation name="search">
124            <soap:operation soapAction="http://www.soapui.org/sample/search"/>
125            <wsdl:input>
126                <soap:body use="literal" namespace="http://www.soapui.org/sample/"/>
127            </wsdl:input>
128            <wsdl:output>
129                <soap:body use="literal" namespace="http://www.soapui.org/sample/"/>
130            </wsdl:output>
131            <wsdl:fault name="fault">
132                <soap:fault use="literal" name="fault"/>
133            </wsdl:fault>
134        </wsdl:operation>
135        <wsdl:operation name="buy">
136            <soap:operation soapAction="http://www.soapui.org/sample/buy"/>
137            <wsdl:input>
138                <soap:body use="literal" namespace="http://www.soapui.org/sample/"/>
139            </wsdl:input>
140            <wsdl:output>
141                <soap:body use="literal" namespace="http://www.soapui.org/sample/"/>
142            </wsdl:output>
143            <wsdl:fault name="fault">
144                <soap:fault use="literal" name="fault"/>
145            </wsdl:fault>
146        </wsdl:operation>
147    </wsdl:binding>
148    <wsdl:service name="SampleService">
149        <wsdl:port name="SamplePort" binding="tns:SampleServiceSoapBinding">
150            <soap:address location="http://www.soapui.org/sample"/>
151        </wsdl:port>
152    </wsdl:service>
153</wsdl:definitions>