| <?xml version="1.0" encoding="UTF-8"?> | 
 | <wsdl:definitions targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:intf="http://tempuri.org/" xmlns:impl="http://tempuri.org/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns="http://schemas.xmlsoap.org/wsdl/"> | 
 |   <wsdl:types> | 
 |     <schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:intf="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> | 
 |    <element name="findAddress"> | 
 |     <complexType> | 
 |      <sequence> | 
 |       <element name="name" nillable="true" type="xsd:string"/> | 
 |      </sequence> | 
 |     </complexType> | 
 |    </element> | 
 |    <complexType name="Address"> | 
 |     <sequence> | 
 |      <element name="province" nillable="true" type="xsd:string"/> | 
 |      <element name="city" nillable="true" type="xsd:string"/> | 
 |      <element name="street" nillable="true" type="xsd:string"/> | 
 |      <element name="postalCode" nillable="true" type="xsd:string"/> | 
 |      <element name="phoneNumber" nillable="true" type="impl:PhoneNumber"/> | 
 |     </sequence> | 
 |    </complexType> | 
 |    <complexType name="PhoneNumber"> | 
 |     <sequence> | 
 |      <element name="area" type="xsd:int"/> | 
 |      <element name="prefix" type="xsd:int"/> | 
 |      <element name="number" type="xsd:int"/> | 
 |     </sequence> | 
 |    </complexType> | 
 |    <element name="findAddressResponse"> | 
 |     <complexType> | 
 |      <sequence> | 
 |       <element name="findAddressReturn" nillable="true" type="impl:Address"/> | 
 |      </sequence> | 
 |     </complexType> | 
 |    </element> | 
 |    <complexType name="saveAddress"> | 
 |      <sequence> | 
 |       <element name="name" nillable="true" type="xsd:string"/> | 
 |       <element name="address" nillable="true" type="impl:Address"/> | 
 |      </sequence> | 
 |    </complexType> | 
 |    <complexType name="saveAddressResponse"> | 
 |      <sequence/> | 
 |    </complexType> | 
 |    <complexType name="AddressHeaderType"> | 
 | 	<all> | 
 | 	 <element name="a" type="int"/> | 
 | 	 <element name="b" type="boolean"/> | 
 | 	 <element name="s" nillable="true" type="string"/> | 
 | 	</all> | 
 |    </complexType> | 
 |    <element name="AddressHeader" nillable="true" type="impl:AddressHeaderType"/> | 
 |   </schema> | 
 |   </wsdl:types> | 
 |   <wsdl:message name="saveAddressRequest"> | 
 |     <wsdl:part name="parameters" type="intf:saveAddress"/> | 
 |   </wsdl:message> | 
 |   <wsdl:message name="findAddressRequest"> | 
 |     <wsdl:part name="parameters" element="intf:findAddress"/> | 
 |     <wsdl:part name="AddressHeader" element="intf:AddressHeader"/> | 
 |   </wsdl:message> | 
 |   <wsdl:message name="findAddressResponse"> | 
 |     <wsdl:part name="parameters" element="intf:findAddressResponse"/> | 
 |   </wsdl:message> | 
 |   <wsdl:message name="saveAddressResponse"> | 
 |     <wsdl:part name="parameters" type="intf:saveAddressResponse"/> | 
 |   </wsdl:message> | 
 |   <wsdl:portType name="AddressBook"> | 
 |     <wsdl:operation name="findAddress"> | 
 |       <wsdl:input name="findAddressRequest" message="intf:findAddressRequest"/> | 
 |       <wsdl:output name="findAddressResponse" message="intf:findAddressResponse"/> | 
 |     </wsdl:operation> | 
 |   </wsdl:portType> | 
 |   <wsdl:portType name="AddressBook2"> | 
 |      <wsdl:operation name="saveAddress"> | 
 |       <wsdl:input name="saveAddressRequest" message="intf:saveAddressRequest"/> | 
 |        <wsdl:output name="saveAddressResponse" message="intf:saveAddressResponse"/> | 
 |     </wsdl:operation> | 
 |   </wsdl:portType> | 
 |   <wsdl:binding name="AddressBookSoapBinding" type="intf:AddressBook"> | 
 |     <wsdlsoap:binding transport="http://schemas.xmlsoap.org/soap/http"/> | 
 |     <wsdl:operation name="findAddress"> | 
 |       <wsdlsoap:operation style="document" soapAction=""/> | 
 |       <wsdl:input name="findAddressRequest"> | 
 |         <wsdlsoap:header message="intf:findAddressRequest" part="AddressHeader" use="literal"> | 
 |         </wsdlsoap:header> | 
 |         <wsdlsoap:body parts="parameters" use="literal"/> | 
 |       </wsdl:input> | 
 |       <wsdl:output name="findAddressResponse"> | 
 |         <wsdlsoap:body use="literal"/> | 
 |       </wsdl:output> | 
 |     </wsdl:operation> | 
 |   </wsdl:binding> | 
 |   <wsdl:binding name="AddressBookSoapBinding2" type="intf:AddressBook2"> | 
 |     <wsdlsoap:binding transport="http://schemas.xmlsoap.org/soap/http"/> | 
 |     <wsdl:operation name="saveAddress"> | 
 |       <wsdlsoap:operation style="rpc" soapAction=""/> | 
 |       <wsdl:input name="saveAddressRequest"> | 
 |         <wsdlsoap:body use="literal"/> | 
 |       </wsdl:input> | 
 |       <wsdl:output name="saveAddressResponse"> | 
 |         <wsdlsoap:body use="literal"/> | 
 |       </wsdl:output> | 
 |     </wsdl:operation> | 
 |   </wsdl:binding> | 
 |   <wsdl:service name="AddressBookService"> | 
 |     <wsdl:port name="AddressBook" binding="intf:AddressBookSoapBinding"> | 
 |       <wsdlsoap:address location="http://tempuri.org/AddressBook"/> | 
 |     </wsdl:port> | 
 |   </wsdl:service> | 
 | </wsdl:definitions> |