1 <?xml version = '1.0' encoding = 'UTF-8'?>
  2 <definitions
  3     xmlns="http://schemas.xmlsoap.org/wsdl/"
  4     xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
  5     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
  6     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  7     xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
  8     xmlns:tns="http://topdown.service/"
  9     name="bank"
 10     targetNamespace="http://topdown.service/">
 11     <types>
 12         <schema
 13             xmlns="http://www.w3.org/2001/XMLSchema"
 14             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
 15             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 16             xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
 17             elementFormDefault="qualified"
 18             targetNamespace="http://topdown.service/">
 19             <complexType name="createAccount">
 20                 <sequence>
 21                     <element name="acctName" nillable="true" type="string"/>
 22                     <element name="initBalance" type="float"/>
 23                 </sequence>
 24             </complexType>
 25             <complexType name="createAccountResponse">
 26                 <sequence>
 27                     <element name="result" nillable="true" type="string"/>
 28                 </sequence>
 29             </complexType>
 30             <complexType name="AccountException">
 31                 <sequence>
 32                     <element name="message" nillable="true" type="string"/>
 33                 </sequence>
 34             </complexType>
 35             <complexType name="deposit">
 36                 <sequence>
 37                     <element name="acctID" nillable="true" type="string"/>
 38                     <element name="amount" type="float"/>
 39                 </sequence>
 40             </complexType>
 41             <complexType name="depositResponse">
 42                 <sequence/>
 43             </complexType>
 44             <complexType name="getAccountID">
 45                 <sequence>
 46                     <element name="acctName" nillable="true" type="string"/>
 47                 </sequence>
 48             </complexType>
 49             <complexType name="getAccountIDResponse">
 50                 <sequence>
 51                     <element name="result" nillable="true" type="string"/>
 52                 </sequence>
 53             </complexType>
 54             <complexType name="getBalance">
 55                 <sequence>
 56                     <element name="acctID" nillable="true" type="string"/>
 57                     <element name="acctName" nillable="true" type="string"/>
 58                 </sequence>
 59             </complexType>
 60             <complexType name="getBalanceResponse">
 61                 <sequence>
 62                     <element name="result" type="float"/>
 63                 </sequence>
 64             </complexType>
 65             <complexType name="withdraw">
 66                 <sequence>
 67                     <element name="acctID" nillable="true" type="string"/>
 68                     <element name="amount" type="float"/>
 69                 </sequence>
 70             </complexType>
 71             <complexType name="withdrawResponse">
 72                 <sequence/>
 73             </complexType>
 74             <element name="createAccountElement" type="tns:createAccount"/>
 75             <element name="createAccountResponseElement" type="tns:createAccountResponse"/>
 76             <element name="AccountExceptionElement" type="tns:AccountException"/>
 77             <element name="depositElement" type="tns:deposit"/>
 78             <element name="depositResponseElement" type="tns:depositResponse"/>
 79             <element name="getAccountIDElement" type="tns:getAccountID"/>
 80             <element name="getAccountIDResponseElement" type="tns:getAccountIDResponse"/>
 81             <element name="getBalanceElement" type="tns:getBalance"/>
 82             <element name="getBalanceResponseElement" type="tns:getBalanceResponse"/>
 83             <element name="withdrawElement" type="tns:withdraw"/>
 84             <element name="withdrawResponseElement" type="tns:withdrawResponse"/>
 85         </schema>
 86     </types>
 87     <message name="BankService_depositResponse">
 88         <part name="parameters" element="tns:depositResponseElement"/>
 89     </message>
 90     <message name="BankService_deposit">
 91         <part name="parameters" element="tns:depositElement"/>
 92     </message>
 93     <message name="AccountException">
 94         <part name="AccountExceptionElement" element="tns:AccountExceptionElement"/>
 95     </message>
 96     <message name="BankService_createAccount">
 97         <part name="parameters" element="tns:createAccountElement"/>
 98     </message>
 99     <message name="BankService_withdrawResponse">
100         <part name="parameters" element="tns:withdrawResponseElement"/>
101     </message>
102     <message name="BankService_createAccountResponse">
103         <part name="parameters" element="tns:createAccountResponseElement"/>
104     </message>
105     <message name="BankService_getBalance">
106         <part name="parameters" element="tns:getBalanceElement"/>
107     </message>
108     <message name="BankService_getAccountIDResponse">
109         <part name="parameters" element="tns:getAccountIDResponseElement"/>
110     </message>
111     <message name="BankService_withdraw">
112         <part name="parameters" element="tns:withdrawElement"/>
113     </message>
114     <message name="BankService_getAccountID">
115         <part name="parameters" element="tns:getAccountIDElement"/>
116     </message>
117     <message name="BankService_getBalanceResponse">
118         <part name="parameters" element="tns:getBalanceResponseElement"/>
119     </message>
120     <portType name="BankService">
121         <documentation>A service that provides banking operations for client applications.</documentation>
122         <operation name="createAccount">
123             <documentation>Creates a banking account.</documentation>
124             <input message="tns:BankService_createAccount"/>
125             <output message="tns:BankService_createAccountResponse"/>
126             <fault name="AccountException" message="tns:AccountException"/>
127         </operation>
128         <operation name="deposit">
129             <documentation>Performs a bank deposit.</documentation>
130             <input message="tns:BankService_deposit"/>
131             <output message="tns:BankService_depositResponse"/>
132             <fault name="AccountException" message="tns:AccountException"/>
133         </operation>
134         <operation name="getAccountID">
135             <documentation>Retrieves an account ID.</documentation>
136             <input message="tns:BankService_getAccountID"/>
137             <output message="tns:BankService_getAccountIDResponse"/>
138             <fault name="AccountException" message="tns:AccountException"/>
139         </operation>
140         <operation name="getBalance">
141             <documentation>Retrieves an account balance.</documentation>
142             <input message="tns:BankService_getBalance"/>
143             <output message="tns:BankService_getBalanceResponse"/>
144             <fault name="AccountException" message="tns:AccountException"/>
145         </operation>
146         <operation name="withdraw">
147             <documentation>Withdraws funds from a bank account.</documentation>
148             <input message="tns:BankService_withdraw"/>
149             <output message="tns:BankService_withdrawResponse"/>
150             <fault name="AccountException" message="tns:AccountException"/>
151         </operation>
152     </portType>
153     <binding name="BankServicePortBinding" type="tns:BankService">
154         <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
155         <operation name="createAccount">
156             <soap:operation soapAction="http://topdown.service/:createAccount"/>
157             <input>
158                 <soap:body use="literal" parts="parameters"/>
159             </input>
160             <output>
161                 <soap:body use="literal" parts="parameters"/>
162             </output>
163             <fault name="AccountException">
164                 <soap:fault name="AccountException" use="literal" encodingStyle=""/>
165             </fault>
166         </operation>
167         <operation name="deposit">
168             <soap:operation soapAction="http://topdown.service/:deposit"/>
169             <input>
170                 <soap:body use="literal" parts="parameters"/>
171             </input>
172             <output>
173                 <soap:body use="literal" parts="parameters"/>
174             </output>
175             <fault name="AccountException">
176                 <soap:fault name="AccountException" use="literal" encodingStyle=""/>
177             </fault>
178         </operation>
179         <operation name="getAccountID">
180             <soap:operation soapAction="http://topdown.service/:getAccountID"/>
181             <input>
182                 <soap:body use="literal" parts="parameters"/>
183             </input>
184             <output>
185                 <soap:body use="literal" parts="parameters"/>
186             </output>
187             <fault name="AccountException">
188                 <soap:fault name="AccountException" use="literal" encodingStyle=""/>
189             </fault>
190         </operation>
191         <operation name="getBalance">
192             <soap:operation soapAction="http://topdown.service/:getBalance"/>
193             <input>
194                 <soap:body use="literal" parts="parameters"/>
195             </input>
196             <output>
197                 <soap:body use="literal" parts="parameters"/>
198             </output>
199             <fault name="AccountException">
200                 <soap:fault name="AccountException" use="literal" encodingStyle=""/>
201             </fault>
202         </operation>
203         <operation name="withdraw">
204             <soap:operation soapAction="http://topdown.service/:withdraw"/>
205             <input>
206                 <soap:body use="literal" parts="parameters"/>
207             </input>
208             <output>
209                 <soap:body use="literal" parts="parameters"/>
210             </output>
211             <fault name="AccountException">
212                 <soap:fault name="AccountException" use="literal" encodingStyle=""/>
213             </fault>
214         </operation>
215     </binding>
216     <service name="bank">
217         <port name="BankServicePort" binding="tns:BankServicePortBinding">
218             <soap:address location="http://localhost:8888/bank/bank"/>
219         </port>
220     </service>
221 </definitions>