<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:HitPoServiceControllerwsdl" 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="HitPoServiceController" targetNamespace="urn:HitPoServiceControllerwsdl">
  <wsdl:types>
    <xsd:schema targetNamespace="urn:HitPoServiceControllerwsdl">
      <xsd:complexType name="GetVendorsResponse">
        <xsd:all>
          <xsd:element name="vendors" type="tns:VendorArray"/>
          <xsd:element name="errors" type="tns:ErrorMessageArray"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="VendorArray">
        <xsd:complexContent>
          <xsd:restriction base="soap-enc:Array">
            <xsd:attribute ref="soap-enc:arrayType" wsdl:arrayType="tns:Vendor[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="Vendor">
        <xsd:all>
          <xsd:element name="vendorName" type="xsd:string"/>
          <xsd:element name="vendorNumber" type="xsd:string"/>
          <xsd:element name="address2" type="xsd:string"/>
          <xsd:element name="address3" type="xsd:string"/>
          <xsd:element name="city" type="xsd:string"/>
          <xsd:element name="state" type="xsd:string"/>
          <xsd:element name="zip" type="xsd:string"/>
          <xsd:element name="country" type="xsd:string"/>
          <xsd:element name="vendorNote3" type="xsd:string"/>
          <xsd:element name="vendorNote1" type="xsd:string"/>
          <xsd:element name="vendorPaymentTerms" type="xsd:string"/>
          <xsd:element name="vendorShipVia" type="xsd:string"/>
          <xsd:element name="vendorEmail" type="xsd:string"/>
          <xsd:element name="vendorCompanyNumber" type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="ErrorMessageArray">
        <xsd:complexContent>
          <xsd:restriction base="soap-enc:Array">
            <xsd:attribute ref="soap-enc:arrayType" wsdl:arrayType="tns:ErrorMessage[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="ErrorMessage">
        <xsd:all>
          <xsd:element name="code" type="xsd:integer"/>
          <xsd:element name="description" type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="GetPoResponse">
        <xsd:all>
          <xsd:element name="purchaseOrders" type="tns:PurchaseOrderArray"/>
          <xsd:element name="errors" type="tns:ErrorMessageArray"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="PurchaseOrderArray">
        <xsd:complexContent>
          <xsd:restriction base="soap-enc:Array">
            <xsd:attribute ref="soap-enc:arrayType" wsdl:arrayType="tns:PurchaseOrder[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="PurchaseOrder">
        <xsd:all>
          <xsd:element name="sellerInformation" type="tns:SellerInformation"/>
          <xsd:element name="buyerInformation" type="tns:BuyerInformation"/>
          <xsd:element name="poLines" type="tns:PoLineArray"/>
          <xsd:element name="contact" type="tns:Contact"/>
          <xsd:element name="createDate" type="xsd:string"/>
          <xsd:element name="confirmedShipDate" type="xsd:string"/>
          <xsd:element name="isShipDateConfirmed" type="xsd:string"/>
          <xsd:element name="purchaseOrderNumber" type="xsd:string"/>
          <xsd:element name="currency" type="xsd:string"/>
          <xsd:element name="lastUpdatedBy" type="xsd:string"/>
          <xsd:element name="lastUpdateTime" type="xsd:string"/>
          <xsd:element name="receivingWarehouse" type="xsd:string"/>
          <xsd:element name="isFtz" type="xsd:boolean"/>
          <xsd:element name="notes" type="tns:stringArray"/>
          <xsd:element name="commission" type="xsd:string"/>
          <xsd:element name="fob" type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="SellerInformation">
        <xsd:all>
          <xsd:element name="address1" type="xsd:string"/>
          <xsd:element name="address2" type="xsd:string"/>
          <xsd:element name="city" type="xsd:string"/>
          <xsd:element name="companyName" type="xsd:string"/>
          <xsd:element name="country" type="xsd:string"/>
          <xsd:element name="factoryName" type="xsd:string"/>
          <xsd:element name="paymentTerm" type="xsd:string"/>
          <xsd:element name="postalCode" type="xsd:string"/>
          <xsd:element name="state" type="xsd:string"/>
          <xsd:element name="vendorNumber" type="xsd:string"/>
          <xsd:element name="vendorEmail" type="xsd:string"/>
          <xsd:element name="vendorCompanyNumber" type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="BuyerInformation">
        <xsd:all>
          <xsd:element name="buyerName" type="xsd:string"/>
          <xsd:element name="userId" type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="PoLineArray">
        <xsd:complexContent>
          <xsd:restriction base="soap-enc:Array">
            <xsd:attribute ref="soap-enc:arrayType" wsdl:arrayType="tns:PoLine[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="PoLine">
        <xsd:all>
          <xsd:element name="inHandsDate" type="xsd:string"/>
          <xsd:element name="itemNumber" type="xsd:string"/>
          <xsd:element name="productDescription" type="xsd:string"/>
          <xsd:element name="lineNumber" type="xsd:string"/>
          <xsd:element name="lineStatus" type="xsd:string"/>
          <xsd:element name="quantity" type="xsd:integer"/>
          <xsd:element name="shipDate" type="xsd:string"/>
          <xsd:element name="shipVia" type="xsd:string"/>
          <xsd:element name="unitOfMeasure" type="xsd:string"/>
          <xsd:element name="unitPrice" type="xsd:string"/>
          <xsd:element name="receivedQuantity" type="xsd:string"/>
          <xsd:element name="notes" type="tns:stringArray"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="stringArray">
        <xsd:complexContent>
          <xsd:restriction base="soap-enc:Array">
            <xsd:attribute ref="soap-enc:arrayType" wsdl:arrayType="xsd:string[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="Contact">
        <xsd:all>
          <xsd:element name="email" type="xsd:string"/>
          <xsd:element name="name" type="xsd:string"/>
          <xsd:element name="phone" type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="PoChangeRequest">
        <xsd:all>
          <xsd:element name="price" type="xsd:float"/>
          <xsd:element name="requiredDate" type="xsd:string"/>
          <xsd:element name="shipDate" type="xsd:string"/>
          <xsd:element name="poNumber" type="xsd:string"/>
          <xsd:element name="lineNumber" type="xsd:integer"/>
          <xsd:element name="quantity" type="xsd:integer"/>
        </xsd:all>
      </xsd:complexType>
      <xsd:complexType name="UpdatePoLineResponse">
        <xsd:all>
          <xsd:element name="errors" type="tns:ErrorMessageArray"/>
          <xsd:element name="success" type="xsd:boolean"/>
        </xsd:all>
      </xsd:complexType>
    </xsd:schema>
  </wsdl:types>
  <wsdl:message name="getVendorsRequest">
    <wsdl:part name="credential" type="xsd:string"/>
  </wsdl:message>
  <wsdl:message name="getVendorsResponse">
    <wsdl:part name="return" type="tns:GetVendorsResponse"/>
  </wsdl:message>
  <wsdl:message name="getPoRequest">
    <wsdl:part name="credential" type="xsd:string"/>
    <wsdl:part name="poNumber" type="xsd:string"/>
  </wsdl:message>
  <wsdl:message name="getPoResponse">
    <wsdl:part name="return" type="tns:GetPoResponse"/>
  </wsdl:message>
  <wsdl:message name="getOpenPosRequest">
    <wsdl:part name="credential" type="xsd:string"/>
    <wsdl:part name="page" type="xsd:integer"/>
  </wsdl:message>
  <wsdl:message name="getOpenPosResponse">
    <wsdl:part name="return" type="tns:GetPoResponse"/>
  </wsdl:message>
  <wsdl:message name="getPoChangesRequest">
    <wsdl:part name="credential" type="xsd:string"/>
    <wsdl:part name="dateTime" type="xsd:string"/>
    <wsdl:part name="page" type="xsd:integer"/>
  </wsdl:message>
  <wsdl:message name="getPoChangesResponse">
    <wsdl:part name="return" type="tns:GetPoResponse"/>
  </wsdl:message>
  <wsdl:message name="updatePoLineRequest">
    <wsdl:part name="credential" type="xsd:string"/>
    <wsdl:part name="poChangeRequest" type="tns:PoChangeRequest"/>
  </wsdl:message>
  <wsdl:message name="updatePoLineResponse">
    <wsdl:part name="return" type="tns:UpdatePoLineResponse"/>
  </wsdl:message>
  <wsdl:portType name="HitPoServiceControllerPortType">
    <wsdl:operation name="getVendors">
      <wsdl:documentation></wsdl:documentation>
      <wsdl:input message="tns:getVendorsRequest"/>
      <wsdl:output message="tns:getVendorsResponse"/>
    </wsdl:operation>
    <wsdl:operation name="getPo">
      <wsdl:documentation></wsdl:documentation>
      <wsdl:input message="tns:getPoRequest"/>
      <wsdl:output message="tns:getPoResponse"/>
    </wsdl:operation>
    <wsdl:operation name="getOpenPos">
      <wsdl:documentation></wsdl:documentation>
      <wsdl:input message="tns:getOpenPosRequest"/>
      <wsdl:output message="tns:getOpenPosResponse"/>
    </wsdl:operation>
    <wsdl:operation name="getPoChanges">
      <wsdl:documentation>Get PO changes from $dateTime</wsdl:documentation>
      <wsdl:input message="tns:getPoChangesRequest"/>
      <wsdl:output message="tns:getPoChangesResponse"/>
    </wsdl:operation>
    <wsdl:operation name="updatePoLine">
      <wsdl:documentation></wsdl:documentation>
      <wsdl:input message="tns:updatePoLineRequest"/>
      <wsdl:output message="tns:updatePoLineResponse"/>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="HitPoServiceControllerBinding" type="tns:HitPoServiceControllerPortType">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="getVendors">
      <soap:operation soapAction="urn:HitPoServiceControllerwsdl#getVendors" style="rpc"/>
      <wsdl:input>
        <soap:body use="encoded" namespace="urn:HitPoServiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="encoded" namespace="urn:HitPoServiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getPo">
      <soap:operation soapAction="urn:HitPoServiceControllerwsdl#getPo" style="rpc"/>
      <wsdl:input>
        <soap:body use="encoded" namespace="urn:HitPoServiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="encoded" namespace="urn:HitPoServiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getOpenPos">
      <soap:operation soapAction="urn:HitPoServiceControllerwsdl#getOpenPos" style="rpc"/>
      <wsdl:input>
        <soap:body use="encoded" namespace="urn:HitPoServiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="encoded" namespace="urn:HitPoServiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="getPoChanges">
      <soap:operation soapAction="urn:HitPoServiceControllerwsdl#getPoChanges" style="rpc"/>
      <wsdl:input>
        <soap:body use="encoded" namespace="urn:HitPoServiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="encoded" namespace="urn:HitPoServiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="updatePoLine">
      <soap:operation soapAction="urn:HitPoServiceControllerwsdl#updatePoLine" style="rpc"/>
      <wsdl:input>
        <soap:body use="encoded" namespace="urn:HitPoServiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="encoded" namespace="urn:HitPoServiceControllerwsdl" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="HitPoServiceControllerService">
    <wsdl:port name="HitPoServiceControllerPort" binding="tns:HitPoServiceControllerBinding">
      <soap:address location="https://ppds.hitpromo.net/hitPoService/hitposervice?ws=1"/>
    </wsdl:port>
  </wsdl:service>
</definitions>
