<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:InvoiceControllerwsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" name="InvoiceController" targetNamespace="urn:InvoiceControllerwsdl">
  <wsdl:types>
    <xsd:schema targetNamespace="urn:InvoiceControllerwsdl">
      <xsd:complexType name="InvoiceBasicArray">
        <xsd:complexContent>
          <xsd:restriction base="soap-enc:Array">
            <xsd:attribute ref="soap-enc:arrayType" wsdl:arrayType="tns:InvoiceBasic[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="InvoiceBasic">
        <xsd:all>
          <xsd:element name="number" type="xsd:string"/>
          <xsd:element name="total" type="xsd:string"/>
          <xsd:element name="orderNumber" type="xsd:string"/>
          <xsd:element name="poNumber" type="xsd:string"/>
          <xsd:element name="invoiceDate" type="xsd:string"/>
          <xsd:element name="invoiceType" type="xsd:string"/>
          <xsd:element name="division" type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="InvoiceDivisionArray">
        <xsd:complexContent>
          <xsd:restriction base="soap-enc:Array">
            <xsd:attribute ref="soap-enc:arrayType" wsdl:arrayType="tns:InvoiceDivision[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="InvoiceDivision">
        <xsd:all>
          <xsd:element name="division" type="xsd:string"/>
          <xsd:element name="number" type="xsd:string"/>
          <xsd:element name="orderNumber" type="xsd:string"/>
          <xsd:element name="orderSuffix" type="xsd:string"/>
          <xsd:element name="poNumber" type="xsd:string"/>
          <xsd:element name="customerNumber" type="xsd:string"/>
          <xsd:element name="customerName" type="xsd:string"/>
          <xsd:element name="invoiceDate" type="xsd:string"/>
          <xsd:element name="terms" type="xsd:string"/>
          <xsd:element name="mailToName" type="xsd:string"/>
          <xsd:element name="mailToAddress1" type="xsd:string"/>
          <xsd:element name="mailToAddress2" type="xsd:string"/>
          <xsd:element name="mailToAddress3" type="xsd:string"/>
          <xsd:element name="mailToCity" type="xsd:string"/>
          <xsd:element name="mailToState" type="xsd:string"/>
          <xsd:element name="mailToCountry" type="xsd:string"/>
          <xsd:element name="mailToZip" type="xsd:string"/>
          <xsd:element name="mailToCarrier" type="xsd:string"/>
          <xsd:element name="subtotal" type="xsd:string"/>
          <xsd:element name="appliedAmount" type="xsd:string"/>
          <xsd:element name="freight" type="xsd:string"/>
          <xsd:element name="tax" type="xsd:string"/>
          <xsd:element name="total" type="xsd:string"/>
          <xsd:element name="exchangeRate" type="xsd:float"/>
          <xsd:element name="shipToName" type="xsd:string"/>
          <xsd:element name="shipToAddress1" type="xsd:string"/>
          <xsd:element name="shipToAddress2" type="xsd:string"/>
          <xsd:element name="shipToAddress3" type="xsd:string"/>
          <xsd:element name="shipToCityStateZip" type="xsd:string"/>
          <xsd:element name="status" type="xsd:string"/>
          <xsd:element name="type" type="xsd:string"/>
          <xsd:element name="items" type="tns:InvoiceItemArray"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="InvoiceItemArray">
        <xsd:complexContent>
          <xsd:restriction base="soap-enc:Array">
            <xsd:attribute ref="soap-enc:arrayType" wsdl:arrayType="tns:InvoiceItem[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="InvoiceItem">
        <xsd:all>
          <xsd:element name="shippedQuantity" type="xsd:integer"/>
          <xsd:element name="item" type="xsd:string"/>
          <xsd:element name="description" type="xsd:string"/>
          <xsd:element name="unitPrice" type="xsd:string"/>
          <xsd:element name="extAmount" type="xsd:string"/>
          <xsd:element name="sequenceNumber" type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="InvoiceArray">
        <xsd:complexContent>
          <xsd:restriction base="soap-enc:Array">
            <xsd:attribute ref="soap-enc:arrayType" wsdl:arrayType="tns:Invoice[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="Invoice">
        <xsd:all>
          <xsd:element name="number" type="xsd:string"/>
          <xsd:element name="orderNumber" type="xsd:string"/>
          <xsd:element name="orderSuffix" type="xsd:string"/>
          <xsd:element name="poNumber" type="xsd:string"/>
          <xsd:element name="customerNumber" type="xsd:string"/>
          <xsd:element name="customerName" type="xsd:string"/>
          <xsd:element name="invoiceDate" type="xsd:string"/>
          <xsd:element name="terms" type="xsd:string"/>
          <xsd:element name="mailToName" type="xsd:string"/>
          <xsd:element name="mailToAddress1" type="xsd:string"/>
          <xsd:element name="mailToAddress2" type="xsd:string"/>
          <xsd:element name="mailToAddress3" type="xsd:string"/>
          <xsd:element name="mailToCity" type="xsd:string"/>
          <xsd:element name="mailToState" type="xsd:string"/>
          <xsd:element name="mailToCountry" type="xsd:string"/>
          <xsd:element name="mailToZip" type="xsd:string"/>
          <xsd:element name="mailToCarrier" type="xsd:string"/>
          <xsd:element name="subtotal" type="xsd:string"/>
          <xsd:element name="appliedAmount" type="xsd:string"/>
          <xsd:element name="freight" type="xsd:string"/>
          <xsd:element name="tax" type="xsd:string"/>
          <xsd:element name="total" type="xsd:string"/>
          <xsd:element name="exchangeRate" type="xsd:float"/>
          <xsd:element name="shipToName" type="xsd:string"/>
          <xsd:element name="shipToAddress1" type="xsd:string"/>
          <xsd:element name="shipToAddress2" type="xsd:string"/>
          <xsd:element name="shipToAddress3" type="xsd:string"/>
          <xsd:element name="shipToCityStateZip" type="xsd:string"/>
          <xsd:element name="status" type="xsd:string"/>
          <xsd:element name="type" type="xsd:string"/>
          <xsd:element name="division" type="xsd:string"/>
          <xsd:element name="items" type="tns:InvoiceItemArray"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="InvoiceBasicFullTotal">
        <xsd:all>
          <xsd:element name="invoiceBasicFull" type="tns:InvoiceBasicFullArray"/>
          <xsd:element name="totalNumOfInvoices" type="xsd:integer"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="InvoiceBasicFullArray">
        <xsd:complexContent>
          <xsd:restriction base="soap-enc:Array">
            <xsd:attribute ref="soap-enc:arrayType" wsdl:arrayType="tns:InvoiceBasicFull[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="InvoiceBasicFull">
        <xsd:all>
          <xsd:element name="number" type="xsd:string"/>
          <xsd:element name="total" type="xsd:string"/>
          <xsd:element name="orderNumber" type="xsd:string"/>
          <xsd:element name="poNumber" type="xsd:string"/>
          <xsd:element name="invoiceDate" type="xsd:string"/>
          <xsd:element name="invoiceType" type="xsd:string"/>
          <xsd:element name="division" type="xsd:string"/>
          <xsd:element name="applied" type="xsd:string"/>
          <xsd:element name="status" type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
    </xsd:schema>
  </wsdl:types>
  <wsdl:message name="getCustomerPaymentTermsRequest">
    <wsdl:part name="id" type="xsd:string"/>
    <wsdl:part name="credentials" type="xsd:string"/>
    <wsdl:part name="customerNumber" type="xsd:string"/>
  </wsdl:message>
  <wsdl:message name="getCustomerPaymentTermsResponse">
    <wsdl:part name="return" type="xsd:string"/>
  </wsdl:message>
  <wsdl:message name="getInvoiceBasicRequest">
    <wsdl:part name="customerNumber" type="xsd:string"/>
    <wsdl:part name="userCredential" type="xsd:string"/>
    <wsdl:part name="invoiceNumber" type="xsd:string"/>
  </wsdl:message>
  <wsdl:message name="getInvoiceBasicResponse">
    <wsdl:part name="return" type="tns:InvoiceBasicArray"/>
  </wsdl:message>
  <wsdl:message name="getInvoicesByDivisionRequest">
    <wsdl:part name="customerNumber" type="xsd:string"/>
    <wsdl:part name="userCredential" type="xsd:string"/>
    <wsdl:part name="invoiceNumber" type="xsd:string"/>
    <wsdl:part name="orderNumber" type="xsd:string"/>
    <wsdl:part name="poNumber" type="xsd:string"/>
    <wsdl:part name="division" type="xsd:string"/>
    <wsdl:part name="fromDate" type="xsd:string"/>
    <wsdl:part name="toDate" type="xsd:string"/>
  </wsdl:message>
  <wsdl:message name="getInvoicesByDivisionResponse">
    <wsdl:part name="return" type="tns:InvoiceDivisionArray"/>
  </wsdl:message>
  <wsdl:message name="getInvoicesRequest">
    <wsdl:part name="customerNumber" type="xsd:string"/>
    <wsdl:part name="userCredential" type="xsd:string"/>
    <wsdl:part name="invoiceNumber" type="xsd:string"/>
    <wsdl:part name="orderNumber" type="xsd:string"/>
    <wsdl:part name="poNumber" type="xsd:string"/>
    <wsdl:part name="fromDate" type="xsd:string"/>
    <wsdl:part name="toDate" type="xsd:string"/>
  </wsdl:message>
  <wsdl:message name="getInvoicesResponse">
    <wsdl:part name="return" type="tns:InvoiceArray"/>
  </wsdl:message>
  <wsdl:message name="getInvoicesByInvoiceNumberRequest">
    <wsdl:part name="customerNumber" type="xsd:string"/>
    <wsdl:part name="userCredential" type="xsd:string"/>
    <wsdl:part name="invoiceNumber" type="xsd:string"/>
  </wsdl:message>
  <wsdl:message name="getInvoicesByInvoiceNumberResponse">
    <wsdl:part name="return" type="tns:InvoiceArray"/>
  </wsdl:message>
  <wsdl:message name="getInvoicesByOrderNumberRequest">
    <wsdl:part name="customerNumber" type="xsd:string"/>
    <wsdl:part name="userCredential" type="xsd:string"/>
    <wsdl:part name="orderNumber" type="xsd:string"/>
  </wsdl:message>
  <wsdl:message name="getInvoicesByOrderNumberResponse">
    <wsdl:part name="return" type="tns:InvoiceArray"/>
  </wsdl:message>
  <wsdl:message name="getInvoicesByPoNumberRequest">
    <wsdl:part name="customerNumber" type="xsd:string"/>
    <wsdl:part name="userCredential" type="xsd:string"/>
    <wsdl:part name="poNumber" type="xsd:string"/>
  </wsdl:message>
  <wsdl:message name="getInvoicesByPoNumberResponse">
    <wsdl:part name="return" type="tns:InvoiceArray"/>
  </wsdl:message>
  <wsdl:message name="getInvoicesByDateRequest">
    <wsdl:part name="customerNumber" type="xsd:string"/>
    <wsdl:part name="userCredential" type="xsd:string"/>
    <wsdl:part name="fromDate" type="xsd:string"/>
    <wsdl:part name="toDate" type="xsd:string"/>
  </wsdl:message>
  <wsdl:message name="getInvoicesByDateResponse">
    <wsdl:part name="return" type="tns:InvoiceArray"/>
  </wsdl:message>
  <wsdl:message name="getInvoiceBasicFullRequest">
    <wsdl:part name="customerNumber" type="xsd:string"/>
    <wsdl:part name="userCredential" type="xsd:string"/>
    <wsdl:part name="invoiceNumber" type="xsd:string"/>
    <wsdl:part name="division" type="xsd:string"/>
    <wsdl:part name="offset" type="xsd:int"/>
    <wsdl:part name="limit" type="xsd:int"/>
    <wsdl:part name="field" type="xsd:string"/>
    <wsdl:part name="sortOrder" type="xsd:string"/>
  </wsdl:message>
  <wsdl:message name="getInvoiceBasicFullResponse">
    <wsdl:part name="return" type="tns:InvoiceBasicFullTotal"/>
  </wsdl:message>
  <wsdl:portType name="InvoiceControllerPortType">
    <wsdl:operation name="getCustomerPaymentTerms">
      <wsdl:documentation></wsdl:documentation>
      <wsdl:input message="tns:getCustomerPaymentTermsRequest"/>
      <wsdl:output message="tns:getCustomerPaymentTermsResponse"/>
    </wsdl:operation>
    <wsdl:operation name="getInvoiceBasic">
      <wsdl:documentation>Gets basic invoice information</wsdl:documentation>
      <wsdl:input message="tns:getInvoiceBasicRequest"/>
      <wsdl:output message="tns:getInvoiceBasicResponse"/>
    </wsdl:operation>
    <wsdl:operation name="getInvoicesByDivision">
      <wsdl:documentation>Gets invoices with division filter</wsdl:documentation>
      <wsdl:input message="tns:getInvoicesByDivisionRequest"/>
      <wsdl:output message="tns:getInvoicesByDivisionResponse"/>
    </wsdl:operation>
    <wsdl:operation name="getInvoices">
      <wsdl:documentation>Gets the inventory levels data.</wsdl:documentation>
      <wsdl:input message="tns:getInvoicesRequest"/>
      <wsdl:output message="tns:getInvoicesResponse"/>
    </wsdl:operation>
    <wsdl:operation name="getInvoicesByInvoiceNumber">
      <wsdl:documentation>Gets the inventory levels data given an invoice number.</wsdl:documentation>
      <wsdl:input message="tns:getInvoicesByInvoiceNumberRequest"/>
      <wsdl:output message="tns:getInvoicesByInvoiceNumberResponse"/>
    </wsdl:operation>
    <wsdl:operation name="getInvoicesByOrderNumber">
      <wsdl:documentation>Gets the inventory levels data given an order number.</wsdl:documentation>
      <wsdl:input message="tns:getInvoicesByOrderNumberRequest"/>
      <wsdl:output message="tns:getInvoicesByOrderNumberResponse"/>
    </wsdl:operation>
    <wsdl:operation name="getInvoicesByPoNumber">
      <wsdl:documentation>Gets the inventory levels data given a PO number.</wsdl:documentation>
      <wsdl:input message="tns:getInvoicesByPoNumberRequest"/>
      <wsdl:output message="tns:getInvoicesByPoNumberResponse"/>
    </wsdl:operation>
    <wsdl:operation name="getInvoicesByDate">
      <wsdl:documentation>Gets the inventory levels data given a date or date range.</wsdl:documentation>
      <wsdl:input message="tns:getInvoicesByDateRequest"/>
      <wsdl:output message="tns:getInvoicesByDateResponse"/>
    </wsdl:operation>
    <wsdl:operation name="getInvoiceBasicFull">
      <wsdl:documentation>Gets basic invoice information</wsdl:documentation>
      <wsdl:input message="tns:getInvoiceBasicFullRequest"/>
      <wsdl:output message="tns:getInvoiceBasicFullResponse"/>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="InvoiceControllerBinding" type="tns:InvoiceControllerPortType">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="getCustomerPaymentTerms">
      <soap:operation soapAction="urn:InvoiceControllerwsdl#getCustomerPaymentTerms" style="rpc"/>
      <wsdl:input>
        <soap:body use="encoded" namespace="urn:InvoiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="encoded" namespace="urn:InvoiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getInvoiceBasic">
      <soap:operation soapAction="urn:InvoiceControllerwsdl#getInvoiceBasic" style="rpc"/>
      <wsdl:input>
        <soap:body use="encoded" namespace="urn:InvoiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="encoded" namespace="urn:InvoiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getInvoicesByDivision">
      <soap:operation soapAction="urn:InvoiceControllerwsdl#getInvoicesByDivision" style="rpc"/>
      <wsdl:input>
        <soap:body use="encoded" namespace="urn:InvoiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="encoded" namespace="urn:InvoiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getInvoices">
      <soap:operation soapAction="urn:InvoiceControllerwsdl#getInvoices" style="rpc"/>
      <wsdl:input>
        <soap:body use="encoded" namespace="urn:InvoiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="encoded" namespace="urn:InvoiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getInvoicesByInvoiceNumber">
      <soap:operation soapAction="urn:InvoiceControllerwsdl#getInvoicesByInvoiceNumber" style="rpc"/>
      <wsdl:input>
        <soap:body use="encoded" namespace="urn:InvoiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="encoded" namespace="urn:InvoiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getInvoicesByOrderNumber">
      <soap:operation soapAction="urn:InvoiceControllerwsdl#getInvoicesByOrderNumber" style="rpc"/>
      <wsdl:input>
        <soap:body use="encoded" namespace="urn:InvoiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="encoded" namespace="urn:InvoiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getInvoicesByPoNumber">
      <soap:operation soapAction="urn:InvoiceControllerwsdl#getInvoicesByPoNumber" style="rpc"/>
      <wsdl:input>
        <soap:body use="encoded" namespace="urn:InvoiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="encoded" namespace="urn:InvoiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getInvoicesByDate">
      <soap:operation soapAction="urn:InvoiceControllerwsdl#getInvoicesByDate" style="rpc"/>
      <wsdl:input>
        <soap:body use="encoded" namespace="urn:InvoiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="encoded" namespace="urn:InvoiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getInvoiceBasicFull">
      <soap:operation soapAction="urn:InvoiceControllerwsdl#getInvoiceBasicFull" style="rpc"/>
      <wsdl:input>
        <soap:body use="encoded" namespace="urn:InvoiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="encoded" namespace="urn:InvoiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="InvoiceControllerService">
    <wsdl:port name="InvoiceControllerPort" binding="tns:InvoiceControllerBinding">
      <soap:address location="https://ds.hitpromo.net/invoice/invoice?ws=1"/>
    </wsdl:port>
  </wsdl:service>
</definitions>
