[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: HTTPAPI and a secure webservice



Maybe I am wrong, but I assume that the namespace of the <body> elements is missing.

soapUI adds namespace "http://avatax.avalara.com/services"; to all "GetTax" elements as well as to all "Profile" elements.

You added the correct default namespace to the "Profile" element, but you did not do that for the "GetTax" element.

soapUI:

<soapenv:Envelope
   xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
   xmlns:ser="http://avatax.avalara.com/services";>
  <soapenv:Header>
    <ser:Profile>
      <ser:Name>?</ser:Name>
      <ser:Client>?</ser:Client>
      <ser:Adapter>?</ser:Adapter>
    </ser:Profile>
  </soapenv:Header>
  <soapenv:Body>
    <ser:GetTax>
      <ser:GetTaxRequest>

Your XML request:

<soapenv:Envelope
   xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
   xmlns:ser="http://avatax.avalara.com/services";>
  <soapenv:Header>
    <Profile
       xmlns="http://avatax.avalara.com/services";
       soapenv:actor="http://schemas.xmlsoap.org/soap/actor/nect";
       soapenv:mustUnderstand="0">
      <Name>GFP,1.0</Name>
      <Client>Avatax,1.4.0.0</Client>
      <Adapter>AvataxSalesTax</Adapter>
    </Profile>
  </soapenv:Header>
  <soapenv:Body>
    <GetTax> <!-- no namespace here -->
      <GetTaxRequest>

Thomas.

Am 09.10.2012 17:09, schrieb Sonin,Nikolai:
    Below is the error returned from the Avalara Avatax webservice and the
    wsdl and xml I am sending.  What am I doing wrong?


    ERROR:

    HTTP/1.1 500 Internal Server Error

    Content-Length: 347

    Content-Type: text/xml; charset=utf-8

    X-Powered-By: ASP.NET

    Date: Tue, 09 Oct 2012 14:57:16 GMT

    Set-Cookie:
    TS1e8a8a=3a86422123126c31513e16ff0fcdb5d6bb24edb60790855650743b4c;
    Path=/

    Set-Cookie:
    TS1e8a8a_28=1956d9a192238707774bcb414bb4ea21bb24edb60790855600000000000
    000000050743b4bd613c39ee4b9deb2; Path=/



    SetError() #13: HTTP/1.1 500 Internal Server Error

    recvresp(): end with 500

    recvdoc parms: identity 347

    header_load_cookies() entered

    cookie_parse() entered

    cookie =
    TS1e8a8a=3a86422123126c31513e16ff0fcdb5d6bb24edb60790855650743b4c;
    Path=/

    cookie attr
    TS1e8a8a=3a86422123126c31513e16ff0fcdb5d6bb24edb60790855650743b4c

    cookie attr Path=/

    cookie_parse() entered

    cookie =
    TS1e8a8a_28=1956d9a192238707774bcb414bb4ea21bb24edb60790855600000000000
    000000050743b4bd613c39ee4b9deb2; Path=/

    cookie attr
    TS1e8a8a_28=1956d9a192238707774bcb414bb4ea21bb24edb60790855600000000000
    000000050743b4bd613c39ee4b9deb2

    cookie attr Path=/

    recvdoc(): entered

    SetError() #0:

    <s:Envelope
    xmlns:s="http://schemas.xmlsoap.org/soap/envelope/";><s:Body><s:Fault><f
    aultcode
    xmlns:a="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecu
    rity-secext-1.0.xsd">a:InvalidSecurity</faultcode><faultstring
    xml:lang="en-US">An error occurred when verifying security for the
    message.</faultstring></s:Fault></s:Body></s:Envelope>

    SetError() #13: HTTP/1.1 500 Internal Server Error

    http_close(): entered


    XML:
    rotocol Used: TLS Version 1

    http_persist_post(): entered

    http_persist_req(POST) entered.

    http_long_ParseURL(): entered

    do_oper(POST): entered

    There are 0 cookies in the cache

    POST /tax/taxsvc.asmx HTTP/1.1

    Host: avatax.avalara.net

    User-Agent: http-api/1.24

    Content-Type: text/xml

    SOAPAction: https://avatax.avalara.net/tax/taxsvc.asmx

    Content-Length: 1465



    senddoc(): entered

    <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
    xmlns:ser="http://avatax.avalara.com/services";><soapenv:Header><Profile
    xmlns="http://avatax.avalara.com/services";
    soapenv:actor="http://schemas.xmlsoap.org/soap/actor/nect";
    soapenv:mustUnderstand="0"><Name>GFP,1.0</Name><Client>Avatax,1.4.0.0</
    Client><Adapter>AvataxSalesTax</Adapter></Profile></soapenv:Header><soa
    penv:Body><GetTax><GetTaxRequest><CompanyCode>GFPT</CompanyCode><DocTyp
    e>SalesInvoice</DocType><DocCode>GI0000094</DocCode><DocDate>2012-10-09
    </DocDate><OriginCode>O</OriginCode><DestinationCode>D</DestinationCode
    ><Addresses><BaseAddress><AddressCode>O</AddressCode><Line1>3321 E.
    PRINCESS ANNE
    RD.</Line1><City>NORFOLK</City><Region>VA</Region><PostalCode>23502-159
    4</PostalCode><Country>US</Country></BaseAddress><BaseAddress><AddressC
    ode>D</AddressCode><Line1>10929
    MRYTLE</Line1><City>DOWNEY</City><Region>CA</Region><PostalCode>90241</
    PostalCode><Country>US</Country></BaseAddress></Addresses><Lines><Line>
    <No>1</No><OriginCode>O</OriginCode><DestinationCode>D</DestinationCode
    ><ItemCode>P0000000</ItemCode><Qty>1</Qty><Amount>
    10000</Amount><TaxIncluded>false</TaxIncluded></Line><Line><No>2</No><O
    riginCode>O</OriginCode><DestinationCode>D</DestinationCode><ItemCode>F
    R020100</ItemCode><Qty>1</Qty><Amount>000</Amount><TaxIncluded>false</T
    axIncluded></Line></Lines></GetTaxRequest></GetTax></soapenv:Body></soa
    penv:Envelope>


    WSDL: @URL: [1]https://avatax.avalara.net/Tax/taxsvc.wsdl


    <?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://avatax.avalara.com/services";
    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://avatax.avalara.com/services";
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>

      <wsdl:types>

        <s:schema elementFormDefault="qualified"
    targetNamespace="http://avatax.avalara.com/services";>

          <s:element name="GetTax">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1" name="GetTaxRequest"
    type="tns:GetTaxRequest" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="GetTaxRequest">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="1" name="CompanyCode"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="DocType"
    type="tns:DocumentType" />

              <s:element minOccurs="0" maxOccurs="1" name="DocCode"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="DocDate"
    type="s:date" />

              <s:element minOccurs="0" maxOccurs="1" name="SalespersonCode"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="CustomerCode"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1"
    name="CustomerUsageType" type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="Discount"
    type="s:decimal" />

              <s:element minOccurs="0" maxOccurs="1" name="PurchaseOrderNo"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="ExemptionNo"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="OriginCode"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="DestinationCode"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="Addresses"
    type="tns:ArrayOfBaseAddress" />

              <s:element minOccurs="0" maxOccurs="1" name="Lines"
    type="tns:ArrayOfLine" />

              <s:element minOccurs="1" maxOccurs="1" name="DetailLevel"
    type="tns:DetailLevel" />

              <s:element minOccurs="0" maxOccurs="1" name="ReferenceCode"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="HashCode"
    type="s:int" />

              <s:element minOccurs="0" maxOccurs="1" name="LocationCode"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="Commit"
    type="s:boolean" />

              <s:element minOccurs="0" maxOccurs="1" name="BatchCode"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="TaxOverride"
    type="tns:TaxOverride" />

              <s:element minOccurs="0" maxOccurs="1" name="CurrencyCode"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="ServiceMode"
    type="tns:ServiceMode" />

              <s:element minOccurs="1" maxOccurs="1" name="PaymentDate"
    type="s:date" />

              <s:element minOccurs="1" maxOccurs="1" name="ExchangeRate"
    type="s:decimal" />

              <s:element minOccurs="1" maxOccurs="1"
    name="ExchangeRateEffDate" type="s:date" />

              <s:element minOccurs="0" maxOccurs="1" name="PosLaneCode"
    type="s:string" />

            </s:sequence>

          </s:complexType>

          <s:simpleType name="DocumentType">

            <s:restriction base="s:string">

              <s:enumeration value="SalesOrder" />

              <s:enumeration value="SalesInvoice" />

              <s:enumeration value="PurchaseOrder" />

              <s:enumeration value="PurchaseInvoice" />

              <s:enumeration value="ReturnOrder" />

              <s:enumeration value="ReturnInvoice" />

            </s:restriction>

          </s:simpleType>

          <s:complexType name="ArrayOfBaseAddress">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="unbounded"
    name="BaseAddress" nillable="true" type="tns:BaseAddress" />

            </s:sequence>

          </s:complexType>

          <s:complexType name="BaseAddress">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="1" name="AddressCode"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="Line1"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="Line2"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="Line3"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="City"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="Region"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="PostalCode"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="Country"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="TaxRegionId"
    type="s:int" />

              <s:element minOccurs="0" maxOccurs="1" name="Latitude"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="Longitude"
    type="s:string" />

            </s:sequence>

          </s:complexType>

          <s:complexType name="ArrayOfLine">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="unbounded" name="Line"
    nillable="true" type="tns:Line" />

            </s:sequence>

          </s:complexType>

          <s:complexType name="Line">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="1" name="No"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="OriginCode"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="DestinationCode"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="ItemCode"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="TaxCode"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="Qty"
    type="s:decimal" />

              <s:element minOccurs="1" maxOccurs="1" name="Amount"
    type="s:decimal" />

              <s:element minOccurs="1" maxOccurs="1" name="Discounted"
    type="s:boolean" />

              <s:element minOccurs="0" maxOccurs="1" name="RevAcct"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="Ref1"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="Ref2"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="ExemptionNo"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1"
    name="CustomerUsageType" type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="Description"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="TaxOverride"
    type="tns:TaxOverride" />

                                      <s:element minOccurs="0"
    maxOccurs="1" name="TaxIncluded" type="s:boolean" default="false" />

            </s:sequence>

          </s:complexType>

          <s:complexType name="TaxOverride">

            <s:sequence>

              <s:element minOccurs="1" maxOccurs="1" name="TaxOverrideType"
    type="tns:TaxOverrideType" />

              <s:element minOccurs="1" maxOccurs="1" name="TaxAmount"
    type="s:decimal" />

              <s:element minOccurs="1" maxOccurs="1" name="TaxDate"
    type="s:date" />

              <s:element minOccurs="0" maxOccurs="1" name="Reason"
    type="s:string" />

            </s:sequence>

          </s:complexType>

          <s:simpleType name="TaxOverrideType">

            <s:restriction base="s:string">

              <s:enumeration value="None" />

              <s:enumeration value="TaxAmount" />

              <s:enumeration value="Exemption" />

              <s:enumeration value="TaxDate" />

            </s:restriction>

          </s:simpleType>

          <s:simpleType name="DetailLevel">

            <s:restriction base="s:string">

              <s:enumeration value="Document" />

              <s:enumeration value="Summary" />

              <s:enumeration value="Line" />

              <s:enumeration value="Tax" />

              <s:enumeration value="Diagnostic" />

            </s:restriction>

          </s:simpleType>

          <s:simpleType name="ServiceMode">

            <s:restriction base="s:string">

              <s:enumeration value="Automatic" />

              <s:enumeration value="Local" />

              <s:enumeration value="Remote" />

            </s:restriction>

          </s:simpleType>

          <s:element name="GetTaxResponse">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1" name="GetTaxResult"
    type="tns:GetTaxResult" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="GetTaxResult">

            <s:complexContent mixed="false">

              <s:extension base="tns:BaseResult">

                <s:sequence>

                  <s:element minOccurs="0" maxOccurs="1" name="DocId"
    type="s:string" />

                  <s:element minOccurs="1" maxOccurs="1" name="DocType"
    type="tns:DocumentType" />

                  <s:element minOccurs="0" maxOccurs="1" name="DocCode"
    type="s:string" />

                  <s:element minOccurs="1" maxOccurs="1" name="DocDate"
    type="s:date" />

                  <s:element minOccurs="1" maxOccurs="1" name="DocStatus"
    type="tns:DocStatus" />

                  <s:element minOccurs="1" maxOccurs="1" name="Reconciled"
    type="s:boolean" />

                  <s:element minOccurs="1" maxOccurs="1" name="Timestamp"
    type="s:dateTime" />

                  <s:element minOccurs="1" maxOccurs="1" name="TotalAmount"
    type="s:decimal" />

                  <s:element minOccurs="1" maxOccurs="1"
    name="TotalDiscount" type="s:decimal" />

                  <s:element minOccurs="1" maxOccurs="1"
    name="TotalExemption" type="s:decimal" />

                  <s:element minOccurs="1" maxOccurs="1"
    name="TotalTaxable" type="s:decimal" />

                  <s:element minOccurs="1" maxOccurs="1" name="TotalTax"
    type="s:decimal" />

                  <s:element minOccurs="1" maxOccurs="1"
    name="TotalTaxCalculated" type="s:decimal" />

                  <s:element minOccurs="1" maxOccurs="1" name="HashCode"
    type="s:int" />

                  <s:element minOccurs="0" maxOccurs="1" name="TaxLines"
    type="tns:ArrayOfTaxLine" />

                  <s:element minOccurs="0" maxOccurs="1"
    name="TaxAddresses" type="tns:ArrayOfTaxAddress" />

                  <s:element minOccurs="1" maxOccurs="1" name="Locked"
    type="s:boolean" />

                  <s:element minOccurs="1" maxOccurs="1"
    name="AdjustmentReason" type="s:int" />

                  <s:element minOccurs="0" maxOccurs="1"
    name="AdjustmentDescription" type="s:string" />

                  <s:element minOccurs="1" maxOccurs="1" name="Version"
    type="s:int" />

                  <s:element minOccurs="1" maxOccurs="1" name="TaxDate"
    type="s:date" />

                  <s:element minOccurs="0" maxOccurs="1" name="TaxSummary"
    type="tns:ArrayOfTaxDetail" />

                                                            <s:element
    minOccurs="0" maxOccurs="1" name="VolatileTaxRates" type="s:boolean" />

                </s:sequence>

              </s:extension>

            </s:complexContent>

          </s:complexType>

          <s:complexType name="BaseResult">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="1" name="TransactionId"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="ResultCode"
    type="tns:SeverityLevel" />

              <s:element minOccurs="0" maxOccurs="1" name="Messages"
    type="tns:ArrayOfMessage" />

            </s:sequence>

          </s:complexType>

          <s:simpleType name="SeverityLevel">

            <s:restriction base="s:string">

              <s:enumeration value="Success" />

              <s:enumeration value="Warning" />

              <s:enumeration value="Error" />

              <s:enumeration value="Exception" />

            </s:restriction>

          </s:simpleType>

          <s:complexType name="ArrayOfMessage">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="unbounded" name="Message"
    nillable="true" type="tns:Message" />

            </s:sequence>

          </s:complexType>

          <s:complexType name="Message">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="1" name="Summary"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="Details"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="HelpLink"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="RefersTo"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="Severity"
    type="tns:SeverityLevel" />

              <s:element minOccurs="0" maxOccurs="1" name="Source"
    type="s:string" />

            </s:sequence>

            <s:attribute name="Name" type="s:string" />

          </s:complexType>

          <s:simpleType name="DocStatus">

            <s:restriction base="s:string">

              <s:enumeration value="Temporary" />

              <s:enumeration value="Saved" />

              <s:enumeration value="Posted" />

              <s:enumeration value="Committed" />

              <s:enumeration value="Cancelled" />

              <s:enumeration value="Adjusted" />

              <s:enumeration value="Any" />

            </s:restriction>

          </s:simpleType>

          <s:complexType name="ArrayOfTaxLine">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="unbounded" name="TaxLine"
    nillable="true" type="tns:TaxLine" />

            </s:sequence>

          </s:complexType>

          <s:complexType name="TaxLine">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="1" name="No"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="TaxCode"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="Taxability"
    type="s:boolean" />

              <s:element minOccurs="1" maxOccurs="1" name="BoundaryLevel"
    type="tns:BoundaryLevel" />

              <s:element minOccurs="1" maxOccurs="1" name="Exemption"
    type="s:decimal" />

              <s:element minOccurs="1" maxOccurs="1" name="Discount"
    type="s:decimal" />

              <s:element minOccurs="1" maxOccurs="1" name="Taxable"
    type="s:decimal" />

              <s:element minOccurs="1" maxOccurs="1" name="Rate"
    type="s:decimal" />

              <s:element minOccurs="1" maxOccurs="1" name="Tax"
    type="s:decimal" />

              <s:element minOccurs="1" maxOccurs="1" name="TaxCalculated"
    type="s:decimal" />

              <s:element minOccurs="0" maxOccurs="1" name="TaxDetails"
    type="tns:ArrayOfTaxDetail" />

              <s:element minOccurs="1" maxOccurs="1" name="ExemptCertId"
    type="s:int" />

              <s:element minOccurs="1" maxOccurs="1" name="TaxDate"
    type="s:date" />

              <s:element minOccurs="1" maxOccurs="1" name="ReportingDate"
    type="s:date" />

              <s:element minOccurs="1" maxOccurs="1"
    name="AccountingMethod" type="tns:AccountingMethod" />

              <s:element minOccurs="0" maxOccurs="1" name="TaxIncluded"
    type="s:boolean" default="false" />

            </s:sequence>

          </s:complexType>

          <s:simpleType name="BoundaryLevel">

            <s:restriction base="s:string">

              <s:enumeration value="Address" />

              <s:enumeration value="Zip9" />

              <s:enumeration value="Zip5" />

            </s:restriction>

          </s:simpleType>

          <s:complexType name="ArrayOfTaxDetail">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="unbounded"
    name="TaxDetail" nillable="true" type="tns:TaxDetail" />

            </s:sequence>

          </s:complexType>

          <s:complexType name="TaxDetail">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="1" name="Country"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="Region"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="JurisType"
    type="tns:JurisdictionType" />

              <s:element minOccurs="0" maxOccurs="1" name="JurisCode"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="TaxType"
    type="tns:TaxType" />

              <s:element minOccurs="1" maxOccurs="1" name="Base"
    type="s:decimal" />

              <s:element minOccurs="1" maxOccurs="1" name="Taxable"
    type="s:decimal" />

              <s:element minOccurs="1" maxOccurs="1" name="Rate"
    type="s:decimal" />

              <s:element minOccurs="1" maxOccurs="1" name="Tax"
    type="s:decimal" />

              <s:element minOccurs="1" maxOccurs="1" name="TaxCalculated"
    type="s:decimal" />

              <s:element minOccurs="1" maxOccurs="1" name="NonTaxable"
    type="s:decimal" />

              <s:element minOccurs="1" maxOccurs="1" name="Exemption"
    type="s:decimal" />

              <s:element minOccurs="0" maxOccurs="1" name="JurisName"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="TaxName"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1"
    name="TaxAuthorityType" type="s:int" />

              <s:element minOccurs="0" maxOccurs="1" name="TaxGroup"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="RateType"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="StateAssignedNo"
    type="s:string" />

            </s:sequence>

          </s:complexType>

          <s:simpleType name="JurisdictionType">

            <s:restriction base="s:string">

              <s:enumeration value="Country" />

              <s:enumeration value="Composite" />

              <s:enumeration value="State" />

              <s:enumeration value="County" />

              <s:enumeration value="City" />

              <s:enumeration value="Special" />

            </s:restriction>

          </s:simpleType>

          <s:simpleType name="TaxType">

            <s:restriction base="s:string">

              <s:enumeration value="Sales" />

              <s:enumeration value="Use" />

              <s:enumeration value="ConsumerUse" />

              <s:enumeration value="Output" />

              <s:enumeration value="Input" />

              <s:enumeration value="Nonrecoverable" />

              <s:enumeration value="Fee" />

              <s:enumeration value="Rental" />

            </s:restriction>

          </s:simpleType>

          <s:simpleType name="AccountingMethod">

            <s:restriction base="s:string">

              <s:enumeration value="Accrual" />

              <s:enumeration value="Cash" />

            </s:restriction>

          </s:simpleType>

          <s:complexType name="ArrayOfTaxAddress">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="unbounded"
    name="TaxAddress" nillable="true" type="tns:TaxAddress" />

            </s:sequence>

          </s:complexType>

          <s:complexType name="TaxAddress">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="1" name="Address"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="AddressCode"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="BoundaryLevel"
    type="s:int" />

              <s:element minOccurs="0" maxOccurs="1" name="City"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="Country"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="PostalCode"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="Region"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="TaxRegionId"
    type="s:int" />

              <s:element minOccurs="0" maxOccurs="1" name="JurisCode"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="Latitude"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="Longitude"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="ValidateStatus"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="GeocodeType"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1"
    name="DistanceToBoundary" type="s:int" />

            </s:sequence>

          </s:complexType>

          <s:element name="Profile" type="tns:Profile" />

          <s:complexType name="Profile">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="1" name="Name"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="Client"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="Adapter"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="Machine"
    type="s:string" />

            </s:sequence>

            <s:anyAttribute />

          </s:complexType>

          <s:element name="GetTaxHistory">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1"
    name="GetTaxHistoryRequest" type="tns:GetTaxHistoryRequest" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="GetTaxHistoryRequest">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="1" name="DocId"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="CompanyCode"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="DocType"
    type="tns:DocumentType" />

              <s:element minOccurs="0" maxOccurs="1" name="DocCode"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="DetailLevel"
    type="tns:DetailLevel" />

            </s:sequence>

          </s:complexType>

          <s:element name="GetTaxHistoryResponse">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1"
    name="GetTaxHistoryResult" type="tns:GetTaxHistoryResult" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="GetTaxHistoryResult">

            <s:complexContent mixed="false">

              <s:extension base="tns:BaseResult">

                <s:sequence>

                  <s:element minOccurs="0" maxOccurs="1"
    name="GetTaxRequest" type="tns:GetTaxRequest" />

                  <s:element minOccurs="0" maxOccurs="1"
    name="GetTaxResult" type="tns:GetTaxResult" />

                </s:sequence>

              </s:extension>

            </s:complexContent>

          </s:complexType>

          <s:element name="PostTax">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1"
    name="PostTaxRequest" type="tns:PostTaxRequest" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="PostTaxRequest">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="1" name="DocId"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="CompanyCode"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="DocType"
    type="tns:DocumentType" />

              <s:element minOccurs="0" maxOccurs="1" name="DocCode"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="DocDate"
    type="s:date" />

              <s:element minOccurs="1" maxOccurs="1" name="TotalAmount"
    type="s:decimal" />

              <s:element minOccurs="1" maxOccurs="1" name="TotalTax"
    type="s:decimal" />

              <s:element minOccurs="1" maxOccurs="1" name="HashCode"
    type="s:int" />

              <s:element minOccurs="1" maxOccurs="1" name="Commit"
    type="s:boolean" />

                                      <s:element minOccurs="0"
    maxOccurs="1" name="NewDocCode" type="s:string" />

            </s:sequence>

          </s:complexType>

          <s:element name="PostTaxResponse">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1" name="PostTaxResult"
    type="tns:PostTaxResult" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="PostTaxResult">

            <s:complexContent mixed="false">

              <s:extension base="tns:BaseResult">

                <s:sequence>

                  <s:element minOccurs="0" maxOccurs="1" name="DocId"
    type="s:string" />

                </s:sequence>

              </s:extension>

            </s:complexContent>

          </s:complexType>

          <s:element name="CommitTax">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1"
    name="CommitTaxRequest" type="tns:CommitTaxRequest" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="CommitTaxRequest">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="1" name="DocId"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="CompanyCode"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="DocType"
    type="tns:DocumentType" />

              <s:element minOccurs="0" maxOccurs="1" name="DocCode"
    type="s:string" />

                                      <s:element minOccurs="0"
    maxOccurs="1" name="NewDocCode" type="s:string" />

            </s:sequence>

          </s:complexType>

          <s:element name="CommitTaxResponse">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1"
    name="CommitTaxResult" type="tns:CommitTaxResult" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="CommitTaxResult">

            <s:complexContent mixed="false">

              <s:extension base="tns:BaseResult">

                <s:sequence>

                  <s:element minOccurs="0" maxOccurs="1" name="DocId"
    type="s:string" />

                </s:sequence>

              </s:extension>

            </s:complexContent>

          </s:complexType>

          <s:element name="AuditMessage" type="tns:AuditMessage" />

          <s:complexType name="AuditMessage">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="1" name="Message"
    type="s:string" />

            </s:sequence>

            <s:anyAttribute />

          </s:complexType>

          <s:element name="CancelTax">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1"
    name="CancelTaxRequest" type="tns:CancelTaxRequest" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="CancelTaxRequest">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="1" name="DocId"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="CompanyCode"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="DocType"
    type="tns:DocumentType" />

              <s:element minOccurs="0" maxOccurs="1" name="DocCode"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="CancelCode"
    type="tns:CancelCode" />

            </s:sequence>

          </s:complexType>

          <s:simpleType name="CancelCode">

            <s:restriction base="s:string">

              <s:enumeration value="Unspecified" />

              <s:enumeration value="PostFailed" />

              <s:enumeration value="DocDeleted" />

             <s:enumeration value="DocVoided" />

              <s:enumeration value="AdjustmentCancelled" />

            </s:restriction>

          </s:simpleType>

          <s:element name="CancelTaxResponse">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1"
    name="CancelTaxResult" type="tns:CancelTaxResult" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="CancelTaxResult">

            <s:complexContent mixed="false">

              <s:extension base="tns:BaseResult">

                <s:sequence>

                  <s:element minOccurs="0" maxOccurs="1" name="DocId"
    type="s:string" />

                </s:sequence>

              </s:extension>

            </s:complexContent>

          </s:complexType>

          <s:element name="ReconcileTaxHistory">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1"
    name="ReconcileTaxHistoryRequest" type="tns:ReconcileTaxHistoryRequest"
    />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="ReconcileTaxHistoryRequest">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="1" name="CompanyCode"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="LastDocId"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="Reconciled"
    type="s:boolean" />

              <s:element minOccurs="1" maxOccurs="1" name="StartDate"
    type="s:date" />

              <s:element minOccurs="1" maxOccurs="1" name="EndDate"
    type="s:date" />

              <s:element minOccurs="1" maxOccurs="1" name="DocStatus"
    type="tns:DocStatus" />

              <s:element minOccurs="1" maxOccurs="1" name="DocType"
    type="tns:DocumentType"/>

              <s:element minOccurs="1" maxOccurs="1" name="LastDocCode"
    type="s:string"/>

              <s:element minOccurs="1" maxOccurs="1" name="PageSize"
    type="s:int"/>

            </s:sequence>

          </s:complexType>

          <s:element name="ReconcileTaxHistoryResponse">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1"
    name="ReconcileTaxHistoryResult" type="tns:ReconcileTaxHistoryResult"
    />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="ReconcileTaxHistoryResult">

            <s:complexContent mixed="false">

              <s:extension base="tns:SearchTaxHistoryResult">

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1" name="RecordCount"
    type="s:int"></s:element>

              </s:sequence>

              </s:extension>

            </s:complexContent>

          </s:complexType>

          <s:complexType name="SearchTaxHistoryResult">

            <s:complexContent mixed="false">

              <s:extension base="tns:BaseResult">

                <s:sequence>

                  <s:element minOccurs="0" maxOccurs="1"
    name="GetTaxResults" type="tns:ArrayOfGetTaxResult" />

                  <s:element minOccurs="0" maxOccurs="1" name="LastDocId"
    type="s:string" />

                  <s:element minOccurs="0" maxOccurs="1" name="LastDocCode"
    type="s:string" />

                </s:sequence>

              </s:extension>

            </s:complexContent>

          </s:complexType>

          <s:complexType name="ArrayOfGetTaxResult">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="unbounded"
    name="GetTaxResult" nillable="true" type="tns:GetTaxResult" />

            </s:sequence>

          </s:complexType>

          <s:element name="AdjustTax">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1"
    name="AdjustTaxRequest" type="tns:AdjustTaxRequest" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="AdjustTaxRequest">

            <s:sequence>

              <s:element minOccurs="1" maxOccurs="1"
    name="AdjustmentReason" type="s:int" />

              <s:element minOccurs="0" maxOccurs="1"
    name="AdjustmentDescription" type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="GetTaxRequest"
    type="tns:GetTaxRequest" />

            </s:sequence>

          </s:complexType>

          <s:element name="AdjustTaxResponse">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1"
    name="AdjustTaxResult" type="tns:AdjustTaxResult" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="AdjustTaxResult">

            <s:complexContent mixed="false">

              <s:extension base="tns:GetTaxResult" />

            </s:complexContent>

          </s:complexType>

          <s:element name="ApplyPayment">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1"
    name="ApplyPaymentRequest" type="tns:ApplyPaymentRequest" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="ApplyPaymentRequest">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="1" name="DocId"
    type="s:string" />

              <s:element minOccurs="0" maxOccurs="1" name="CompanyCode"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="DocType"
    type="tns:DocumentType" />

              <s:element minOccurs="0" maxOccurs="1" name="DocCode"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="PaymentDate"
    type="s:date" />

            </s:sequence>

          </s:complexType>

          <s:element name="ApplyPaymentResponse">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1"
    name="ApplyPaymentResult" type="tns:ApplyPaymentResult" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="ApplyPaymentResult">

            <s:complexContent mixed="false">

              <s:extension base="tns:BaseResult">

                <s:sequence>

                  <s:element minOccurs="0" maxOccurs="1" name="DocId"
    type="s:string" />

                </s:sequence>

              </s:extension>

            </s:complexContent>

          </s:complexType>

          <s:element name="Ping">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1" name="Message"
    type="s:string" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:element name="PingResponse">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1" name="PingResult"
    type="tns:PingResult" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="PingResult">

            <s:complexContent mixed="false">

              <s:extension base="tns:BaseResult">

                <s:sequence>

                  <s:element minOccurs="0" maxOccurs="1" name="Version"
    type="s:string" />

                </s:sequence>

              </s:extension>

            </s:complexContent>

          </s:complexType>

          <s:element name="IsAuthorized">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1" name="Operations"
    type="s:string" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:element name="IsAuthorizedResponse">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1"
    name="IsAuthorizedResult" type="tns:IsAuthorizedResult" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="IsAuthorizedResult">

            <s:complexContent mixed="false">

              <s:extension base="tns:BaseResult">

                <s:sequence>

                  <s:element minOccurs="0" maxOccurs="1" name="Operations"
    type="s:string" />

                  <s:element minOccurs="1" maxOccurs="1" name="Expires"
    type="s:dateTime" />

                </s:sequence>

              </s:extension>

            </s:complexContent>

          </s:complexType>


          <s:element name="TaxSummaryFetch">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1"
    name="TaxSummaryFetchRequest" type="tns:TaxSummaryFetchRequest" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="TaxSummaryFetchRequest">

            <s:sequence>

              <s:element minOccurs="0" maxOccurs="1" name="MerchantCode"
    type="s:string" />

              <s:element minOccurs="1" maxOccurs="1" name="StartDate"
    type="s:date" />

              <s:element minOccurs="1" maxOccurs="1" name="EndDate"
    type="s:date" />

            </s:sequence>

          </s:complexType>

          <s:element name="TaxSummaryFetchResponse">

            <s:complexType>

              <s:sequence>

                <s:element minOccurs="0" maxOccurs="1"
    name="TaxSummaryFetchResult" type="tns:TaxSummaryFetchResult" />

              </s:sequence>

            </s:complexType>

          </s:element>

          <s:complexType name="TaxSummaryFetchResult">

            <s:complexContent mixed="false">

              <s:extension base="tns:BaseResult">

                <s:sequence>

                  <s:element minOccurs="0" maxOccurs="1"
    name="TaxSummaryReport">

                    <s:complexType>

                      <s:sequence>

                        <s:any />

                      </s:sequence>

                    </s:complexType>

                  </s:element>

                </s:sequence>

              </s:extension>

            </s:complexContent>

          </s:complexType>

        </s:schema>

      </wsdl:types>

      <wsdl:message name="GetTaxSoapIn">

        <wsdl:part name="parameters" element="tns:GetTax" />

     </wsdl:message>

      <wsdl:message name="GetTaxSoapOut">

        <wsdl:part name="parameters" element="tns:GetTaxResponse" />

      </wsdl:message>

      <wsdl:message name="GetTaxProfile">

        <wsdl:part name="Profile" element="tns:Profile" />

      </wsdl:message>

      <wsdl:message name="GetTaxHistorySoapIn">

        <wsdl:part name="parameters" element="tns:GetTaxHistory" />

      </wsdl:message>

      <wsdl:message name="GetTaxHistorySoapOut">

        <wsdl:part name="parameters" element="tns:GetTaxHistoryResponse" />

      </wsdl:message>

      <wsdl:message name="GetTaxHistoryProfile">

        <wsdl:part name="Profile" element="tns:Profile" />

      </wsdl:message>

      <wsdl:message name="PostTaxSoapIn">

        <wsdl:part name="parameters" element="tns:PostTax" />

      </wsdl:message>

      <wsdl:message name="PostTaxSoapOut">

        <wsdl:part name="parameters" element="tns:PostTaxResponse" />

      </wsdl:message>

      <wsdl:message name="PostTaxProfile">

        <wsdl:part name="Profile" element="tns:Profile" />

      </wsdl:message>

      <wsdl:message name="CommitTaxSoapIn">

        <wsdl:part name="parameters" element="tns:CommitTax" />

      </wsdl:message>

      <wsdl:message name="CommitTaxSoapOut">

        <wsdl:part name="parameters" element="tns:CommitTaxResponse" />

      </wsdl:message>

      <wsdl:message name="CommitTaxAuditMessage">

        <wsdl:part name="AuditMessage" element="tns:AuditMessage" />

      </wsdl:message>

      <wsdl:message name="CommitTaxProfile">

        <wsdl:part name="Profile" element="tns:Profile" />

      </wsdl:message>

      <wsdl:message name="CancelTaxSoapIn">

        <wsdl:part name="parameters" element="tns:CancelTax" />

      </wsdl:message>

      <wsdl:message name="CancelTaxSoapOut">

        <wsdl:part name="parameters" element="tns:CancelTaxResponse" />

      </wsdl:message>

      <wsdl:message name="CancelTaxAuditMessage">

        <wsdl:part name="AuditMessage" element="tns:AuditMessage" />

      </wsdl:message>

      <wsdl:message name="CancelTaxProfile">

        <wsdl:part name="Profile" element="tns:Profile" />

      </wsdl:message>

      <wsdl:message name="ReconcileTaxHistorySoapIn">

        <wsdl:part name="parameters" element="tns:ReconcileTaxHistory" />

      </wsdl:message>

      <wsdl:message name="ReconcileTaxHistorySoapOut">

        <wsdl:part name="parameters"
    element="tns:ReconcileTaxHistoryResponse" />

      </wsdl:message>

      <wsdl:message name="ReconcileTaxHistoryProfile">

        <wsdl:part name="Profile" element="tns:Profile" />

      </wsdl:message>

      <wsdl:message name="AdjustTaxSoapIn">

        <wsdl:part name="parameters" element="tns:AdjustTax" />

      </wsdl:message>

      <wsdl:message name="AdjustTaxSoapOut">

        <wsdl:part name="parameters" element="tns:AdjustTaxResponse" />

      </wsdl:message>

      <wsdl:message name="AdjustTaxProfile">

        <wsdl:part name="Profile" element="tns:Profile" />

      </wsdl:message>

      <wsdl:message name="ApplyPaymentSoapIn">

        <wsdl:part name="parameters" element="tns:ApplyPayment" />

      </wsdl:message>

      <wsdl:message name="ApplyPaymentSoapOut">

        <wsdl:part name="parameters" element="tns:ApplyPaymentResponse" />

      </wsdl:message>

      <wsdl:message name="ApplyPaymentAuditMessage">

        <wsdl:part name="AuditMessage" element="tns:AuditMessage" />

      </wsdl:message>

      <wsdl:message name="ApplyPaymentProfile">

        <wsdl:part name="Profile" element="tns:Profile" />

      </wsdl:message>

      <wsdl:message name="PingSoapIn">

        <wsdl:part name="parameters" element="tns:Ping" />

      </wsdl:message>

      <wsdl:message name="PingSoapOut">

        <wsdl:part name="parameters" element="tns:PingResponse" />

      </wsdl:message>

      <wsdl:message name="PingProfile">

        <wsdl:part name="Profile" element="tns:Profile" />

      </wsdl:message>

      <wsdl:message name="IsAuthorizedSoapIn">

        <wsdl:part name="parameters" element="tns:IsAuthorized" />

      </wsdl:message>

      <wsdl:message name="IsAuthorizedSoapOut">

        <wsdl:part name="parameters" element="tns:IsAuthorizedResponse" />

      </wsdl:message>

      <wsdl:message name="IsAuthorizedProfile">

        <wsdl:part name="Profile" element="tns:Profile" />

      </wsdl:message>

      <wsdl:message name="TaxSummaryFetchSoapIn">

        <wsdl:part name="parameters" element="tns:TaxSummaryFetch" />

      </wsdl:message>

      <wsdl:message name="TaxSummaryFetchSoapOut">

        <wsdl:part name="parameters" element="tns:TaxSummaryFetchResponse"
    />

      </wsdl:message>

      <wsdl:message name="TaxSummaryFetchProfile">

        <wsdl:part name="Profile" element="tns:Profile" />

      </wsdl:message>

      <wsdl:portType name="TaxSvcSoap">

        <wsdl:operation name="GetTax">

          <wsdl:documentation
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>Calculates taxes on a
    document</wsdl:documentation>

          <wsdl:input message="tns:GetTaxSoapIn" />

          <wsdl:output message="tns:GetTaxSoapOut" />

        </wsdl:operation>

        <wsdl:operation name="GetTaxHistory">

          <wsdl:documentation
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>Retrieves a previously
    calculated tax document</wsdl:documentation>

          <wsdl:input message="tns:GetTaxHistorySoapIn" />

          <wsdl:output message="tns:GetTaxHistorySoapOut" />

        </wsdl:operation>

        <wsdl:operation name="PostTax">

          <wsdl:documentation
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>Posts a previously
    calculated tax</wsdl:documentation>

          <wsdl:input message="tns:PostTaxSoapIn" />

          <wsdl:output message="tns:PostTaxSoapOut" />

        </wsdl:operation>

        <wsdl:operation name="CommitTax">

          <wsdl:documentation
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>Commits a previously
    posted tax</wsdl:documentation>

          <wsdl:input message="tns:CommitTaxSoapIn" />

          <wsdl:output message="tns:CommitTaxSoapOut" />

        </wsdl:operation>

        <wsdl:operation name="CancelTax">

          <wsdl:documentation
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>Cancels a previously
    calculated tax.  This is for use as a compensating action when posting
    on the client fails to complete.</wsdl:documentation>

          <wsdl:input message="tns:CancelTaxSoapIn" />

          <wsdl:output message="tns:CancelTaxSoapOut" />

        </wsdl:operation>

        <wsdl:operation name="ReconcileTaxHistory">

          <wsdl:documentation
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>Reconciles tax history to
    ensure the client data matches the AvaTax history.</wsdl:documentation>

          <wsdl:input message="tns:ReconcileTaxHistorySoapIn" />

          <wsdl:output message="tns:ReconcileTaxHistorySoapOut" />

        </wsdl:operation>

        <wsdl:operation name="AdjustTax">

          <wsdl:documentation
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>Adjusts taxes on an
    existing invoice</wsdl:documentation>

          <wsdl:input message="tns:AdjustTaxSoapIn" />

          <wsdl:output message="tns:AdjustTaxSoapOut" />

        </wsdl:operation>

        <wsdl:operation name="ApplyPayment">

          <wsdl:documentation
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>Applies a payment date to
    an existing invoice</wsdl:documentation>

          <wsdl:input message="tns:ApplyPaymentSoapIn" />

          <wsdl:output message="tns:ApplyPaymentSoapOut" />

        </wsdl:operation>

        <wsdl:operation name="Ping">

          <wsdl:documentation
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>Tests connectivity and
    version of the service</wsdl:documentation>

          <wsdl:input message="tns:PingSoapIn" />

          <wsdl:output message="tns:PingSoapOut" />

        </wsdl:operation>

        <wsdl:operation name="IsAuthorized">

          <wsdl:documentation
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>Checks authentication and
    authorization to one or more operations on the
    service.</wsdl:documentation>

          <wsdl:input message="tns:IsAuthorizedSoapIn" />

          <wsdl:output message="tns:IsAuthorizedSoapOut" />

        </wsdl:operation>

        <wsdl:operation name="TaxSummaryFetch">

          <wsdl:documentation
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";>Fetches TaxSummary
    Data.</wsdl:documentation>

          <wsdl:input message="tns:TaxSummaryFetchSoapIn" />

          <wsdl:output message="tns:TaxSummaryFetchSoapOut" />

        </wsdl:operation>

      </wsdl:portType>

      <wsdl:binding name="TaxSvcSoap" type="tns:TaxSvcSoap">

        <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; />

        <wsdl:operation name="GetTax">

          <soap:operation
    soapAction="http://avatax.avalara.com/services/GetTax"; style="document"
    />

          <wsdl:input>

            <soap:body use="literal" />

            <soap:header message="tns:GetTaxProfile" part="Profile"
    use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="GetTaxHistory">

          <soap:operation
    soapAction="http://avatax.avalara.com/services/GetTaxHistory";
    style="document" />

          <wsdl:input>

            <soap:body use="literal" />

            <soap:header message="tns:GetTaxHistoryProfile" part="Profile"
    use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="PostTax">

          <soap:operation
    soapAction="http://avatax.avalara.com/services/PostTax";
    style="document" />

          <wsdl:input>

            <soap:body use="literal" />

            <soap:header message="tns:PostTaxProfile" part="Profile"
    use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="CommitTax">

          <soap:operation
    soapAction="http://avatax.avalara.com/services/CommitTax";
    style="document" />

          <wsdl:input>

            <soap:body use="literal" />

            <soap:header message="tns:CommitTaxAuditMessage"
    part="AuditMessage" use="literal" />

            <soap:header message="tns:CommitTaxProfile" part="Profile"
    use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="CancelTax">

          <soap:operation
    soapAction="http://avatax.avalara.com/services/CancelTax";
    style="document" />

          <wsdl:input>

            <soap:body use="literal" />

            <soap:header message="tns:CancelTaxAuditMessage"
    part="AuditMessage" use="literal" />

            <soap:header message="tns:CancelTaxProfile" part="Profile"
    use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="ReconcileTaxHistory">

          <soap:operation
    soapAction="http://avatax.avalara.com/services/ReconcileTaxHistory";
    style="document" />

          <wsdl:input>

            <soap:body use="literal" />

            <soap:header message="tns:ReconcileTaxHistoryProfile"
    part="Profile" use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="AdjustTax">

          <soap:operation
    soapAction="http://avatax.avalara.com/services/AdjustTax";
    style="document" />

          <wsdl:input>

            <soap:body use="literal" />

            <soap:header message="tns:AdjustTaxProfile" part="Profile"
    use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="ApplyPayment">

          <soap:operation
    soapAction="http://avatax.avalara.com/services/ApplyPayment";
    style="document" />

          <wsdl:input>

            <soap:body use="literal" />

            <soap:header message="tns:ApplyPaymentAuditMessage"
    part="AuditMessage" use="literal" />

            <soap:header message="tns:ApplyPaymentProfile" part="Profile"
    use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="Ping">

          <soap:operation
    soapAction="http://avatax.avalara.com/services/Ping"; style="document"
    />

          <wsdl:input>

            <soap:body use="literal" />

            <soap:header message="tns:PingProfile" part="Profile"
    use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="IsAuthorized">

          <soap:operation
    soapAction="http://avatax.avalara.com/services/IsAuthorized";
    style="document" />

          <wsdl:input>

            <soap:body use="literal" />

            <soap:header message="tns:IsAuthorizedProfile" part="Profile"
    use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="TaxSummaryFetch">

          <soap:operation
    soapAction="http://avatax.avalara.com/services/TaxSummaryFetch";
    style="document" />

          <wsdl:input>

            <soap:body use="literal" />

            <soap:header message="tns:TaxSummaryFetchProfile"
    part="Profile" use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

      </wsdl:binding>

      <wsdl:binding name="TaxSvcSoap12" type="tns:TaxSvcSoap">

        <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"; />

        <wsdl:operation name="GetTax">

          <soap12:operation
    soapAction="http://avatax.avalara.com/services/GetTax"; style="document"
    />

          <wsdl:input>

            <soap12:body use="literal" />

            <soap12:header message="tns:GetTaxProfile" part="Profile"
    use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap12:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="GetTaxHistory">

          <soap12:operation
    soapAction="http://avatax.avalara.com/services/GetTaxHistory";
    style="document" />

          <wsdl:input>

            <soap12:body use="literal" />

            <soap12:header message="tns:GetTaxHistoryProfile"
    part="Profile" use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap12:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="PostTax">

          <soap12:operation
    soapAction="http://avatax.avalara.com/services/PostTax";
    style="document" />

          <wsdl:input>

            <soap12:body use="literal" />

            <soap12:header message="tns:PostTaxProfile" part="Profile"
    use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap12:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="CommitTax">

          <soap12:operation
    soapAction="http://avatax.avalara.com/services/CommitTax";
    style="document" />

          <wsdl:input>

            <soap12:body use="literal" />

            <soap12:header message="tns:CommitTaxAuditMessage"
    part="AuditMessage" use="literal" />

            <soap12:header message="tns:CommitTaxProfile" part="Profile"
    use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap12:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="CancelTax">

          <soap12:operation
    soapAction="http://avatax.avalara.com/services/CancelTax";
    style="document" />

          <wsdl:input>

            <soap12:body use="literal" />

            <soap12:header message="tns:CancelTaxAuditMessage"
    part="AuditMessage" use="literal" />

            <soap12:header message="tns:CancelTaxProfile" part="Profile"
    use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap12:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="ReconcileTaxHistory">

          <soap12:operation
    soapAction="http://avatax.avalara.com/services/ReconcileTaxHistory";
    style="document" />

          <wsdl:input>

            <soap12:body use="literal" />

            <soap12:header message="tns:ReconcileTaxHistoryProfile"
    part="Profile" use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap12:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="AdjustTax">

          <soap12:operation
    soapAction="http://avatax.avalara.com/services/AdjustTax";
    style="document" />

          <wsdl:input>

            <soap12:body use="literal" />

            <soap12:header message="tns:AdjustTaxProfile" part="Profile"
    use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap12:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="ApplyPayment">

          <soap12:operation
    soapAction="http://avatax.avalara.com/services/ApplyPayment";
    style="document" />

          <wsdl:input>

            <soap12:body use="literal" />

            <soap12:header message="tns:ApplyPaymentAuditMessage"
    part="AuditMessage" use="literal" />

            <soap12:header message="tns:ApplyPaymentProfile" part="Profile"
    use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap12:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="Ping">

          <soap12:operation
    soapAction="http://avatax.avalara.com/services/Ping"; style="document"
    />

          <wsdl:input>

            <soap12:body use="literal" />

            <soap12:header message="tns:PingProfile" part="Profile"
    use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap12:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="IsAuthorized">

          <soap12:operation
    soapAction="http://avatax.avalara.com/services/IsAuthorized";
    style="document" />

          <wsdl:input>

            <soap12:body use="literal" />

            <soap12:header message="tns:IsAuthorizedProfile" part="Profile"
    use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap12:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

        <wsdl:operation name="TaxSummaryFetch">

          <soap12:operation
    soapAction="http://avatax.avalara.com/services/TaxSummaryFetch";
    style="document" />

          <wsdl:input>

            <soap12:body use="literal" />

            <soap12:header message="tns:TaxSummaryFetchProfile"
    part="Profile" use="literal" />

          </wsdl:input>

          <wsdl:output>

            <soap12:body use="literal" />

          </wsdl:output>

        </wsdl:operation>

      </wsdl:binding>

      <wsdl:service name="TaxSvc">

        <wsdl:port name="TaxSvcSoap" binding="tns:TaxSvcSoap">

          <soap:address
    location="https://development.avalara.net/Tax/TaxSvc.asmx"; />

        </wsdl:port>

        <wsdl:port name="TaxSvcSoap12" binding="tns:TaxSvcSoap12">

          <soap12:address
    location="https://development.avalara.net/Tax/TaxSvc.asmx"; />

        </wsdl:port>

      </wsdl:service>

    </wsdl:definitions>

References

    1. https://avatax.avalara.net/Tax/taxsvc.wsdl



-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------

-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------