<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions 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://govgate/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 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://govgate/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">&lt;h1&gt;WEB-сервіс обміну документами та квитанціями з приймальним шлюзом&lt;/h1&gt;
&lt;span&gt;
&lt;h3&gt;Сценарій подання звітності&lt;/h3&gt;
1. Відправити документ на шлюз, використовуючи метод &lt;b&gt;Send&lt;/b&gt;&lt;br /&gt;
2. Зачекати певний час (3-5 секунд)&lt;br /&gt;
3. Отримати список кодів повідомлень, використовуючи метод &lt;b&gt;GetMessages&lt;/b&gt; або &lt;b&gt;GetMessagesEx&lt;/b&gt;&lt;br /&gt;
4. Якщо список порожній, зачекати певний час (30-60 секунд) і перейти до п.3&lt;br /&gt;
5. Отримати повідомлення, використовуючи метод &lt;b&gt;Receive&lt;/b&gt;&lt;br /&gt;
6. Вилучити отримане повідомлення, використовуючи метод &lt;b&gt;Delete&lt;/b&gt;&lt;br /&gt;
7. Якщо повідомлення не останнє в списку, перейти до п.5 для наступного повідомлення&lt;br /&gt;
8. Якщо отримано не всі очікувані квитанції, перейти до п.3
&lt;h3&gt;Примітка&lt;/h3&gt;
Рекомендується періодично (1-2 рази на добу) виконувати перевірку наявності повідомлень
для отримання документів, що відправлено за ініціативою шлюзу.
&lt;/span&gt;
&lt;span&gt;
&lt;h3&gt;Коди повернення функцій&lt;/h3&gt;
GATE_OK (0) - Успішно&lt;br /&gt;
GATE_SEND_FAILED (1) - Помилка збереження вхідного повідомлення&lt;br /&gt;
GATE_EMPTY_FILENAME (2) - Не визначено ім'я файлу&lt;br /&gt;
GATE_EMPTY_MESSAGE (3) - Блок документу не визначено&lt;br /&gt;
GATE_FILENAME_TOOLONG (4) - Некоректне ім'я файлу&lt;br /&gt;
GATE_FILENAME_INVALID (5) - Недопустимі символи в імені файлу&lt;br /&gt;
GATE_PARSESIGN_FAILED (6) - Помилка перевірки підпису&lt;br /&gt;
GATE_DB_INTERNAL (7) - Помилка роботи з базою повідомлень&lt;br /&gt;
GATE_MSGID_INVALID (8) - Некоректний код повідомлення&lt;br /&gt;
GATE_MSGID_ABSENT (9) - Відсутнє запитане повідомлення&lt;br /&gt;
GATE_EMPTY_EMAIL (10) - Не визначено адресу електронної пошти&lt;br /&gt;
GATE_TEMPORARY_UNAVAIL (11) - Сервіс тимчасово недоступний&lt;br /&gt;
GATE_INVALID_PARAMS (12) - Некоректні параметри&lt;br /&gt;
&lt;/span&gt;</wsdl:documentation>
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://govgate/">
      <s:element name="Send">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="fileName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="senderEMail" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="data" type="s:base64Binary" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="SendResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="SendResult" type="tns:ProcessResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:simpleType name="ProcessResult">
        <s:restriction base="s:string">
          <s:enumeration value="GATE_OK" />
          <s:enumeration value="GATE_SEND_FAILED" />
          <s:enumeration value="GATE_EMPTY_FILENAME" />
          <s:enumeration value="GATE_EMPTY_MESSAGE" />
          <s:enumeration value="GATE_FILENAME_TOOLONG" />
          <s:enumeration value="GATE_FILENAME_INVALID" />
          <s:enumeration value="GATE_PARSESIGN_FAILED" />
          <s:enumeration value="GATE_DB_INTERNAL" />
          <s:enumeration value="GATE_MSGID_INVALID" />
          <s:enumeration value="GATE_MSGID_ABSENT" />
          <s:enumeration value="GATE_EMPTY_EMAIL" />
          <s:enumeration value="GATE_TEMPORARY_UNAVAIL" />
          <s:enumeration value="GATE_INVALID_PARAMS" />
        </s:restriction>
      </s:simpleType>
      <s:element name="GetMessages">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="signedEDRPOU" type="s:base64Binary" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetMessagesResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="GetMessagesResult" type="tns:ProcessResult" />
            <s:element minOccurs="0" maxOccurs="1" name="messagesList" type="tns:ArrayOfString" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfString">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetMessagesEx">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="signedEDRPOU" type="s:base64Binary" />
            <s:element minOccurs="0" maxOccurs="1" name="senderEmail" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetMessagesExResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="GetMessagesExResult" type="tns:ProcessResult" />
            <s:element minOccurs="0" maxOccurs="1" name="messagesList" type="tns:ArrayOfString" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="Receive">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="signedMsgId" type="s:base64Binary" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ReceiveResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="ReceiveResult" type="tns:ProcessResult" />
            <s:element minOccurs="0" maxOccurs="1" name="fileName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="messageData" type="s:base64Binary" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ReceiveAll">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="signedEmail" type="s:base64Binary" />
            <s:element minOccurs="1" maxOccurs="1" name="needDelete" type="s:unsignedByte" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="ReceiveAllResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="ReceiveAllResult" type="tns:ProcessResult" />
            <s:element minOccurs="0" maxOccurs="1" name="messages" type="tns:ArrayOfMessage" />
            <s:element minOccurs="1" maxOccurs="1" name="complete" type="s:unsignedByte" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <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="body" type="s:base64Binary" />
          <s:element minOccurs="0" maxOccurs="1" name="fileName" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="id" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="Delete">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="signedMsgId" type="s:base64Binary" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="DeleteResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="DeleteResult" type="tns:ProcessResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="SendSoapIn">
    <wsdl:part name="parameters" element="tns:Send" />
  </wsdl:message>
  <wsdl:message name="SendSoapOut">
    <wsdl:part name="parameters" element="tns:SendResponse" />
  </wsdl:message>
  <wsdl:message name="GetMessagesSoapIn">
    <wsdl:part name="parameters" element="tns:GetMessages" />
  </wsdl:message>
  <wsdl:message name="GetMessagesSoapOut">
    <wsdl:part name="parameters" element="tns:GetMessagesResponse" />
  </wsdl:message>
  <wsdl:message name="GetMessagesExSoapIn">
    <wsdl:part name="parameters" element="tns:GetMessagesEx" />
  </wsdl:message>
  <wsdl:message name="GetMessagesExSoapOut">
    <wsdl:part name="parameters" element="tns:GetMessagesExResponse" />
  </wsdl:message>
  <wsdl:message name="ReceiveSoapIn">
    <wsdl:part name="parameters" element="tns:Receive" />
  </wsdl:message>
  <wsdl:message name="ReceiveSoapOut">
    <wsdl:part name="parameters" element="tns:ReceiveResponse" />
  </wsdl:message>
  <wsdl:message name="ReceiveAllSoapIn">
    <wsdl:part name="parameters" element="tns:ReceiveAll" />
  </wsdl:message>
  <wsdl:message name="ReceiveAllSoapOut">
    <wsdl:part name="parameters" element="tns:ReceiveAllResponse" />
  </wsdl:message>
  <wsdl:message name="DeleteSoapIn">
    <wsdl:part name="parameters" element="tns:Delete" />
  </wsdl:message>
  <wsdl:message name="DeleteSoapOut">
    <wsdl:part name="parameters" element="tns:DeleteResponse" />
  </wsdl:message>
  <wsdl:portType name="GateSoap">
    <wsdl:operation name="Send">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">&lt;b&gt;Відправити документ на шлюз&lt;/b&gt;&lt;br /&gt;
fileName - ім'я файлу документа&lt;br /&gt;
senderEMail - адреса електронної пошти відправника документа&lt;br /&gt;
на яку буде відправлено відповіді, якщо за певний час користувач їх не вилучив викликом методу &lt;b&gt;Delete&lt;/b&gt;&lt;br /&gt;
data - зміст документа в форматі електронного конверта шлюзу&lt;br /&gt;</wsdl:documentation>
      <wsdl:input message="tns:SendSoapIn" />
      <wsdl:output message="tns:SendSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetMessages">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">&lt;b&gt;Отримати список кодів повідомлень для одержувача&lt;/b&gt;&lt;br /&gt;
signedEDRPOU - ЄДРПОУ/ДРФО одержувача&lt;br /&gt;
messagesList - перелік кодів повідомлень, у вигляді тексту, кожен код з нового рядку&lt;br /&gt;</wsdl:documentation>
      <wsdl:input message="tns:GetMessagesSoapIn" />
      <wsdl:output message="tns:GetMessagesSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetMessagesEx">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">&lt;b&gt;Отримати список кодів повідомлень для одержувача з визначенням адреси електронної пошти&lt;/b&gt;&lt;br /&gt;
signedEDRPOU - ЄДРПОУ/ДРФО одержувача&lt;br /&gt;
senderEmail - адреса електронної пошти відправника документа (така сама як у виклику &lt;b&gt;Send&lt;/b&gt;)&lt;br /&gt;
messagesList - перелік кодів повідомлень, у вигляді тексту, кожен код з нового рядку&lt;br /&gt;</wsdl:documentation>
      <wsdl:input message="tns:GetMessagesExSoapIn" />
      <wsdl:output message="tns:GetMessagesExSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="Receive">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">&lt;b&gt;Отримати повідомлення&lt;/b&gt;&lt;br /&gt;
signedMsgId - рядок з кодом повідомлення&lt;br /&gt;
fileName - ім'я файлу повідомлення&lt;br /&gt;
messageData - зміст повідомлення в форматі електронного конверта шлюзу&lt;br /&gt;</wsdl:documentation>
      <wsdl:input message="tns:ReceiveSoapIn" />
      <wsdl:output message="tns:ReceiveSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="ReceiveAll">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">&lt;b&gt;Отримати всі повідомлення&lt;/b&gt;&lt;br /&gt;
signedEmail - адреса електронної пошти відправника документа (така сама як у виклику &lt;b&gt;Send&lt;/b&gt;), підписана ЕЦП (блок XXX_SIGN)&lt;br /&gt;
needDelete - ознака необхідності вилучення повідомлень (0/1)&lt;br /&gt;
messages - повідомлення&lt;br /&gt;
complete - ознака відсутності на час виклику повідомлень, що не повернуті користувачу&lt;br /&gt;</wsdl:documentation>
      <wsdl:input message="tns:ReceiveAllSoapIn" />
      <wsdl:output message="tns:ReceiveAllSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="Delete">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">&lt;b&gt;Вилучити повідомлення&lt;/b&gt;&lt;br /&gt;
signedMsgId - перелік кодів повідомлень, у вигляді тексту, кожен код з нового рядку, підписаний ЕЦП (блок XXX_SIGN)&lt;br /&gt;</wsdl:documentation>
      <wsdl:input message="tns:DeleteSoapIn" />
      <wsdl:output message="tns:DeleteSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="GateSoap" type="tns:GateSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="Send">
      <soap:operation soapAction="http://govgate/Send" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetMessages">
      <soap:operation soapAction="http://govgate/GetMessages" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetMessagesEx">
      <soap:operation soapAction="http://govgate/GetMessagesEx" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Receive">
      <soap:operation soapAction="http://govgate/Receive" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ReceiveAll">
      <soap:operation soapAction="http://govgate/ReceiveAll" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Delete">
      <soap:operation soapAction="http://govgate/Delete" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="GateSoap12" type="tns:GateSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="Send">
      <soap12:operation soapAction="http://govgate/Send" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetMessages">
      <soap12:operation soapAction="http://govgate/GetMessages" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetMessagesEx">
      <soap12:operation soapAction="http://govgate/GetMessagesEx" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Receive">
      <soap12:operation soapAction="http://govgate/Receive" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="ReceiveAll">
      <soap12:operation soapAction="http://govgate/ReceiveAll" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Delete">
      <soap12:operation soapAction="http://govgate/Delete" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="Gate">
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">&lt;h1&gt;WEB-сервіс обміну документами та квитанціями з приймальним шлюзом&lt;/h1&gt;
&lt;span&gt;
&lt;h3&gt;Сценарій подання звітності&lt;/h3&gt;
1. Відправити документ на шлюз, використовуючи метод &lt;b&gt;Send&lt;/b&gt;&lt;br /&gt;
2. Зачекати певний час (3-5 секунд)&lt;br /&gt;
3. Отримати список кодів повідомлень, використовуючи метод &lt;b&gt;GetMessages&lt;/b&gt; або &lt;b&gt;GetMessagesEx&lt;/b&gt;&lt;br /&gt;
4. Якщо список порожній, зачекати певний час (30-60 секунд) і перейти до п.3&lt;br /&gt;
5. Отримати повідомлення, використовуючи метод &lt;b&gt;Receive&lt;/b&gt;&lt;br /&gt;
6. Вилучити отримане повідомлення, використовуючи метод &lt;b&gt;Delete&lt;/b&gt;&lt;br /&gt;
7. Якщо повідомлення не останнє в списку, перейти до п.5 для наступного повідомлення&lt;br /&gt;
8. Якщо отримано не всі очікувані квитанції, перейти до п.3
&lt;h3&gt;Примітка&lt;/h3&gt;
Рекомендується періодично (1-2 рази на добу) виконувати перевірку наявності повідомлень
для отримання документів, що відправлено за ініціативою шлюзу.
&lt;/span&gt;
&lt;span&gt;
&lt;h3&gt;Коди повернення функцій&lt;/h3&gt;
GATE_OK (0) - Успішно&lt;br /&gt;
GATE_SEND_FAILED (1) - Помилка збереження вхідного повідомлення&lt;br /&gt;
GATE_EMPTY_FILENAME (2) - Не визначено ім'я файлу&lt;br /&gt;
GATE_EMPTY_MESSAGE (3) - Блок документу не визначено&lt;br /&gt;
GATE_FILENAME_TOOLONG (4) - Некоректне ім'я файлу&lt;br /&gt;
GATE_FILENAME_INVALID (5) - Недопустимі символи в імені файлу&lt;br /&gt;
GATE_PARSESIGN_FAILED (6) - Помилка перевірки підпису&lt;br /&gt;
GATE_DB_INTERNAL (7) - Помилка роботи з базою повідомлень&lt;br /&gt;
GATE_MSGID_INVALID (8) - Некоректний код повідомлення&lt;br /&gt;
GATE_MSGID_ABSENT (9) - Відсутнє запитане повідомлення&lt;br /&gt;
GATE_EMPTY_EMAIL (10) - Не визначено адресу електронної пошти&lt;br /&gt;
GATE_TEMPORARY_UNAVAIL (11) - Сервіс тимчасово недоступний&lt;br /&gt;
GATE_INVALID_PARAMS (12) - Некоректні параметри&lt;br /&gt;
&lt;/span&gt;</wsdl:documentation>
    <wsdl:port name="GateSoap" binding="tns:GateSoap">
      <soap:address location="http://request.uakey.com.ua:8088/gate.asmx" />
    </wsdl:port>
    <wsdl:port name="GateSoap12" binding="tns:GateSoap12">
      <soap12:address location="http://request.uakey.com.ua:8088/gate.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>