<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://postalcodeservices.net" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://postalcodeservices.net" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://postalcodeservices.net">
      <s:element name="GetCanadaPostalCode">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="LogonID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="CalledBy" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Address" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="City" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ProvAbbrev" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetCanadaPostalCodeResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetCanadaPostalCodeResult" type="tns:ArrayOfCAN_PostalCode" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfCAN_PostalCode">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="CAN_PostalCode" nillable="true" type="tns:CAN_PostalCode" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="CAN_PostalCode">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="ResultCode" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="ResultText" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="LargeVolumeReceiverName" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetCanadaPostalCodeAddress">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="logonID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="CalledBy" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="StreetNo" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetCanadaPostalCodeAddressResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetCanadaPostalCodeAddressResult" type="tns:ArrayOfCAN_Address" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfCAN_Address">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="CAN_Address" nillable="true" type="tns:CAN_Address" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="CAN_Address">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="ResultCode" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="ResultText" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Province" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Municipality" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="UnitType" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="UnitTypeAbbrev" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="UnitNumber" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="StreetNumber" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="NumberSequence" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="StreetDirection" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="StreetDirectionAbbrev" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="StreetName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="StreetType" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="StreetTypeAbbrev" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RouteServiceType" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RouteServiceNumber" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RouteServiceBoxMarker" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RouteServiceBox" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="DeliveryInstallationType" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="DeliveryInstallationAreaName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="DeliveryInstallationQualifier" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="LockBoxMarker" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="LockBoxBagNumber" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="LockBoxBagFromTo" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="LargeVolumeReceiverName" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetCanadaPostalCodeAndConstituents">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="logonID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="CalledBy" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Address" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="city" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ProvAbbrev" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetCanadaPostalCodeAndConstituentsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetCanadaPostalCodeAndConstituentsResult" type="tns:ArrayOfCAN_Address" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetCanadaPostalCodeDetails">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="logonID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="CalledBy" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetCanadaPostalCodeDetailsResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetCanadaPostalCodeDetailsResult" type="tns:ArrayOfCAN_PostalCodeDetails" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfCAN_PostalCodeDetails">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="CAN_PostalCodeDetails" nillable="true" type="tns:CAN_PostalCodeDetails" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="CAN_PostalCodeDetails">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="ResultCode" type="s:int" />
          <s:element minOccurs="0" maxOccurs="1" name="ResultText" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="PostalCode" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Province" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Municipality" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="StreetDirection" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="StreetDirectionAbbrev" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RouteServiceType" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RouteServiceNumber" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="LargeVolumeReceiverName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="StreetAddressToNumber" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="StreetAddressFromNumber" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="SuiteToNumber" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="SuiteFromNumber" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RouteServiceBoxToNumber" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="RouteServiceBoxFromNumber" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="LockBoxBagToNumber" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="LockBoxBagFromNumber" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="LargeVolumeReceiver" type="s:string" />
        </s:sequence>
      </s:complexType>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="GetCanadaPostalCodeSoapIn">
    <wsdl:part name="parameters" element="tns:GetCanadaPostalCode" />
  </wsdl:message>
  <wsdl:message name="GetCanadaPostalCodeSoapOut">
    <wsdl:part name="parameters" element="tns:GetCanadaPostalCodeResponse" />
  </wsdl:message>
  <wsdl:message name="GetCanadaPostalCodeAddressSoapIn">
    <wsdl:part name="parameters" element="tns:GetCanadaPostalCodeAddress" />
  </wsdl:message>
  <wsdl:message name="GetCanadaPostalCodeAddressSoapOut">
    <wsdl:part name="parameters" element="tns:GetCanadaPostalCodeAddressResponse" />
  </wsdl:message>
  <wsdl:message name="GetCanadaPostalCodeAndConstituentsSoapIn">
    <wsdl:part name="parameters" element="tns:GetCanadaPostalCodeAndConstituents" />
  </wsdl:message>
  <wsdl:message name="GetCanadaPostalCodeAndConstituentsSoapOut">
    <wsdl:part name="parameters" element="tns:GetCanadaPostalCodeAndConstituentsResponse" />
  </wsdl:message>
  <wsdl:message name="GetCanadaPostalCodeDetailsSoapIn">
    <wsdl:part name="parameters" element="tns:GetCanadaPostalCodeDetails" />
  </wsdl:message>
  <wsdl:message name="GetCanadaPostalCodeDetailsSoapOut">
    <wsdl:part name="parameters" element="tns:GetCanadaPostalCodeDetailsResponse" />
  </wsdl:message>
  <wsdl:portType name="PostalCodeServicesSoap">
    <wsdl:operation name="GetCanadaPostalCode">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Given address parts, returns a list of possible postal codes, ordered by probability.</wsdl:documentation>
      <wsdl:input message="tns:GetCanadaPostalCodeSoapIn" />
      <wsdl:output message="tns:GetCanadaPostalCodeSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetCanadaPostalCodeAddress">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Given a Postal Code, returns valid address range elements for the postal, ordered by probability.</wsdl:documentation>
      <wsdl:input message="tns:GetCanadaPostalCodeAddressSoapIn" />
      <wsdl:output message="tns:GetCanadaPostalCodeAddressSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetCanadaPostalCodeAndConstituents">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Given address parts, returns a list of postal codes and the well-formed parts of address, ordered by probability.</wsdl:documentation>
      <wsdl:input message="tns:GetCanadaPostalCodeAndConstituentsSoapIn" />
      <wsdl:output message="tns:GetCanadaPostalCodeAndConstituentsSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetCanadaPostalCodeDetails">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Given a Postal Code, this returns valid address range elements for the postal code ranked by most probable.</wsdl:documentation>
      <wsdl:input message="tns:GetCanadaPostalCodeDetailsSoapIn" />
      <wsdl:output message="tns:GetCanadaPostalCodeDetailsSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="PostalCodeServicesSoap" type="tns:PostalCodeServicesSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetCanadaPostalCode">
      <soap:operation soapAction="http://postalcodeservices.net/GetCanadaPostalCode" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetCanadaPostalCodeAddress">
      <soap:operation soapAction="http://postalcodeservices.net/GetCanadaPostalCodeAddress" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetCanadaPostalCodeAndConstituents">
      <soap:operation soapAction="http://postalcodeservices.net/GetCanadaPostalCodeAndConstituents" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetCanadaPostalCodeDetails">
      <soap:operation soapAction="http://postalcodeservices.net/GetCanadaPostalCodeDetails" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="PostalCodeServicesSoap12" type="tns:PostalCodeServicesSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="GetCanadaPostalCode">
      <soap12:operation soapAction="http://postalcodeservices.net/GetCanadaPostalCode" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetCanadaPostalCodeAddress">
      <soap12:operation soapAction="http://postalcodeservices.net/GetCanadaPostalCodeAddress" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetCanadaPostalCodeAndConstituents">
      <soap12:operation soapAction="http://postalcodeservices.net/GetCanadaPostalCodeAndConstituents" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetCanadaPostalCodeDetails">
      <soap12:operation soapAction="http://postalcodeservices.net/GetCanadaPostalCodeDetails" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="PostalCodeServices">
    <wsdl:port name="PostalCodeServicesSoap" binding="tns:PostalCodeServicesSoap">
      <soap:address location="http://ws.postalcodeservices.net/ws/postalcodeservices.asmx" />
    </wsdl:port>
    <wsdl:port name="PostalCodeServicesSoap12" binding="tns:PostalCodeServicesSoap12">
      <soap12:address location="http://ws.postalcodeservices.net/ws/postalcodeservices.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>