<?xml version="1.0" encoding="UTF-8" ?>
<definitions targetNamespace="http://www.nuwave-tech.com/FedEpayDirectoryService/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:n0="http://www.nuwave-tech.com/FedEpayDirectoryService/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
  <types>
    <xsd:schema elementFormDefault="qualified" targetNamespace="http://www.nuwave-tech.com/FedEpayDirectoryService/">
      <xsd:element name="GetFedACHCities">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="state" type="xsd:string" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetFedACHCitiesResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="return" type="xsd:int" nillable="true" />
            <xsd:element minOccurs="1" maxOccurs="1" name="cities" type="n0:ArrayOfstring_1_500" nillable="true" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="ArrayOfstring_1_500">
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="500" name="item" type="xsd:string" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:element name="GetFedACHStates">
        <xsd:complexType />
      </xsd:element>
      <xsd:element name="GetFedACHStatesResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="return" type="xsd:int" nillable="true" />
            <xsd:element minOccurs="1" maxOccurs="1" name="states" type="n0:ArrayOfstring_1_100" nillable="true" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="ArrayOfstring_1_100">
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="100" name="item" type="xsd:string" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:element name="GetFedwireCities">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="state" type="xsd:string" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetFedwireCitiesResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="return" type="xsd:int" nillable="true" />
            <xsd:element minOccurs="1" maxOccurs="1" name="cities" type="n0:ArrayOfstring_1_500" nillable="true" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="GetFedwireStates">
        <xsd:complexType />
      </xsd:element>
      <xsd:element name="GetFedwireStatesResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="return" type="xsd:int" nillable="true" />
            <xsd:element minOccurs="1" maxOccurs="1" name="states" type="n0:ArrayOfstring_1_100" nillable="true" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="LookupFedACHParticipant">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="name" type="xsd:string" />
            <xsd:element minOccurs="1" maxOccurs="1" name="city" type="xsd:string" />
            <xsd:element minOccurs="1" maxOccurs="1" name="state" type="xsd:string" />
            <xsd:element minOccurs="1" maxOccurs="1" name="routingNumber" type="xsd:string" />
            <xsd:element minOccurs="1" maxOccurs="1" name="count" type="xsd:int" nillable="true" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="LookupFedACHParticipantResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="return" type="xsd:int" nillable="true" />
            <xsd:element minOccurs="1" maxOccurs="1" name="count" type="xsd:int" nillable="true" />
            <xsd:element minOccurs="1" maxOccurs="1" name="participantInfo" type="n0:ArrayOffedACHParticipantInfo_1_150" nillable="true" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="ArrayOffedACHParticipantInfo_1_150">
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="150" name="item" type="n0:fedACHParticipantInfo" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="fedACHParticipantInfo">
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="1" name="routingNumber" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="officeCode" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="servicingFRBNumber" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="recordType" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="changeDate" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="newRoutingNumber" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="customerName" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="address" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="state" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="city" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="zip" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="zipExtension" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="telephoneAreaCode" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="telephonePrefix" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="telephoneSuffix" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="institutionStatus" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="dataViewCode" type="xsd:string" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:element name="LookupFedwireParticipant">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="name" type="xsd:string" />
            <xsd:element minOccurs="1" maxOccurs="1" name="city" type="xsd:string" />
            <xsd:element minOccurs="1" maxOccurs="1" name="state" type="xsd:string" />
            <xsd:element minOccurs="1" maxOccurs="1" name="routingNumber" type="xsd:string" />
            <xsd:element minOccurs="1" maxOccurs="1" name="count" type="xsd:int" nillable="true" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="LookupFedwireParticipantResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element minOccurs="1" maxOccurs="1" name="return" type="xsd:int" nillable="true" />
            <xsd:element minOccurs="1" maxOccurs="1" name="count" type="xsd:int" nillable="true" />
            <xsd:element minOccurs="1" maxOccurs="1" name="participantInfo" type="n0:ArrayOffedwireParticipantInfo_1_150" nillable="true" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:complexType name="ArrayOffedwireParticipantInfo_1_150">
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="150" name="item" type="n0:fedwireParticipantInfo" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="fedwireParticipantInfo">
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="1" name="routingNumber" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="telegraphicName" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="customerName" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="state" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="city" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="fundsTransferStatus" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="fundsSettlementOnlyStatus" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="bookEntrySecuritiesTransferStatus" type="xsd:string" />
          <xsd:element minOccurs="1" maxOccurs="1" name="changeDate" type="xsd:string" />
        </xsd:sequence>
      </xsd:complexType>
    </xsd:schema>
  </types>
  <message name="GetFedACHCitiesSoapIn">
    <part name="parameters" element="n0:GetFedACHCities" />
  </message>
  <message name="GetFedACHCitiesSoapOut">
    <part name="parameters" element="n0:GetFedACHCitiesResponse" />
  </message>
  <message name="GetFedACHStatesSoapIn">
    <part name="parameters" element="n0:GetFedACHStates" />
  </message>
  <message name="GetFedACHStatesSoapOut">
    <part name="parameters" element="n0:GetFedACHStatesResponse" />
  </message>
  <message name="GetFedwireCitiesSoapIn">
    <part name="parameters" element="n0:GetFedwireCities" />
  </message>
  <message name="GetFedwireCitiesSoapOut">
    <part name="parameters" element="n0:GetFedwireCitiesResponse" />
  </message>
  <message name="GetFedwireStatesSoapIn">
    <part name="parameters" element="n0:GetFedwireStates" />
  </message>
  <message name="GetFedwireStatesSoapOut">
    <part name="parameters" element="n0:GetFedwireStatesResponse" />
  </message>
  <message name="LookupFedACHParticipantSoapIn">
    <part name="parameters" element="n0:LookupFedACHParticipant" />
  </message>
  <message name="LookupFedACHParticipantSoapOut">
    <part name="parameters" element="n0:LookupFedACHParticipantResponse" />
  </message>
  <message name="LookupFedwireParticipantSoapIn">
    <part name="parameters" element="n0:LookupFedwireParticipant" />
  </message>
  <message name="LookupFedwireParticipantSoapOut">
    <part name="parameters" element="n0:LookupFedwireParticipantResponse" />
  </message>
  <portType name="FedRoutingDirectoryServiceSoap">
    <operation name="GetFedACHCities">
      <documentation>Returns a list of ACH participant cities for a given state.</documentation>
      <input message="n0:GetFedACHCitiesSoapIn" />
      <output message="n0:GetFedACHCitiesSoapOut" />
    </operation>
    <operation name="GetFedACHStates">
      <documentation>Returns a list of states in the ACH participant database.</documentation>
      <input message="n0:GetFedACHStatesSoapIn" />
      <output message="n0:GetFedACHStatesSoapOut" />
    </operation>
    <operation name="GetFedwireCities">
      <documentation>Returns a list of Fedwire participant cities for a given state.</documentation>
      <input message="n0:GetFedwireCitiesSoapIn" />
      <output message="n0:GetFedwireCitiesSoapOut" />
    </operation>
    <operation name="GetFedwireStates">
      <documentation>Returns a list of states in the Fedwire participant database.</documentation>
      <input message="n0:GetFedwireStatesSoapIn" />
      <output message="n0:GetFedwireStatesSoapOut" />
    </operation>
    <operation name="LookupFedACHParticipant">
      <documentation>Returns a list of ACH participants matching the search criteria. A maximum of 150 participants may be returned.</documentation>
      <input message="n0:LookupFedACHParticipantSoapIn" />
      <output message="n0:LookupFedACHParticipantSoapOut" />
    </operation>
    <operation name="LookupFedwireParticipant">
      <documentation>Returns a list of Fedwire participants matching the search criteria. A maximum of 150 participants may be returned.</documentation>
      <input message="n0:LookupFedwireParticipantSoapIn" />
      <output message="n0:LookupFedwireParticipantSoapOut" />
    </operation>
  </portType>
  <binding name="FedRoutingDirectoryServiceSoap" type="n0:FedRoutingDirectoryServiceSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    <operation name="GetFedACHCities">
      <soap:operation soapAction="http://www.nuwave-tech.com/FedEpayDirectoryService/GetFedACHCities" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetFedACHStates">
      <soap:operation soapAction="http://www.nuwave-tech.com/FedEpayDirectoryService/GetFedACHStates" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetFedwireCities">
      <soap:operation soapAction="http://www.nuwave-tech.com/FedEpayDirectoryService/GetFedwireCities" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="GetFedwireStates">
      <soap:operation soapAction="http://www.nuwave-tech.com/FedEpayDirectoryService/GetFedwireStates" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="LookupFedACHParticipant">
      <soap:operation soapAction="http://www.nuwave-tech.com/FedEpayDirectoryService/LookupFedACHParticipant" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
    <operation name="LookupFedwireParticipant">
      <soap:operation soapAction="http://www.nuwave-tech.com/FedEpayDirectoryService/LookupFedwireParticipant" style="document" />
      <input>
        <soap:body use="literal" />
      </input>
      <output>
        <soap:body use="literal" />
      </output>
    </operation>
  </binding>
  <service name="FedRoutingDirectoryService">
    <documentation>This service provides a search interface for the Federal Reserve E-Payments Routing Directory. The search is done on a copy of the FRB directory. The actual directory can be found at http://www.fedwiredirectory.frb.org. NOTE: This service is for demonstration purposes only and should not be used for production use.</documentation>
    <port name="FedRoutingDirectoryServiceSoap" binding="n0:FedRoutingDirectoryServiceSoap">
      <soap:address location="http://soapam.nuwave-tech.com/services/fedepaydirectory/fedepaydirectoryservice" />
    </port>
  </service>
</definitions>
