Пример пакетов: различия между версиями

Материал из База знаний АО АСП
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
 
Строка 1: Строка 1:
====== Универсальный обмен данными с АСП.Шлюз ======
====== Универсальный обмен данными с АСП.Шлюз ======
* Отправка идёт по HTTP протоколу по персональному адресу на http:<syntaxhighlight lang='bash'>
 
t2-gateway.aspcom.ru/имя_базы/ws/DataExchangeGatewayV2.1cws (тест) или http:
=== Основные параметры подключения ===
</syntaxhighlight>gateway.aspcom.ru/имя_базы/ws/DataExchangeGatewayV2.1cws (продукт).
 
* Для отправки используется WSDL протокол, который позволяется обмениваться пакетами данным в формате XML. <syntaxhighlight lang='bash'>
* '''Протокол:''' HTTP
Пример описания данных: http:
* '''Адреса подключения:'''
</syntaxhighlight>t2-gateway.aspcom.ru/gloria_test/ws/DataExchangeGatewayV2.1cws?wsdl //
  Тестовый: http://t2-gateway.aspcom.ru/имя_базы/ws/DataExchangeGatewayV2.1cws
* Заголовки HTTP запроса:
  Продуктивный: http://gateway.aspcom.ru/имя_базы/ws/DataExchangeGatewayV2.1cws
* '''Формат обмена:''' WSDL протокол с пакетами данных в формате XML
* '''Пример WSDL:''' http://t2-gateway.aspcom.ru/gloria_test/ws/DataExchangeGatewayV2.1cws?wsdl
 
=== Заголовки HTTP запроса ===
 
* Authorization: Basic - логин и пароль на уровне базовой авторизации
* Authorization: Basic - логин и пароль на уровне базовой авторизации
* SOAPAction: http://88.99.106.214/Mercury#DataExchangeGatewayV2:'''КомандаЗапроса'''
* SOAPAction: http://88.99.106.214/Mercury#DataExchangeGatewayV2:КомандаЗапроса


===== Пример использования =====
===== Пример использования =====


Наглядный пример XML запросов и ответов можно [[File:gate-samples.zip]], а так же [[File:реализация.request.txt]] и [[File:производство.request.txt]].<br/>Например, для отправки запросов через HTTP может использоваться утилита [https://bintray.com/artifact/download/vszakats/generic/curl-7.57.0-win32-mingw.7z curl32] [[File:curl-7.40.0-win64.msi.7z]].<br/>Так, допустим мы хотим создать номенклатуру в АСП.Шлюз/
Наглядные примеры XML запросов и ответов:
* [[File:gate-samples.zip]]
* [[File:реализация.request.txt]]
* [[File:производство.request.txt]]
 
Для отправки запросов через HTTP может использоваться утилита:
* [https://bintray.com/artifact/download/vszakats/generic/curl-7.57.0-win32-mingw.7z curl32]
* [[File:curl-7.40.0-win64.msi.7z]]
 
=== Пример: Создание номенклатуры в АСП.Шлюз ===
 
{| class="wikitable"
{| class="wikitable"
|-
|-
|
! Параметр
| 1. База называется "gloria_test"
! Значение
| Имя, указанное при [[5_асп.шлюз:1_интеграция:4_публикация_конфигурации|публикации базы АСП.Шлюз на веб сервере]]
! Описание
|
|-
|-
|
| Имя базы
| 2. Имя пользователя "DefUser"
| gloria_test
| Имя, указанное при [[публикация_конфигурации|публикации базы АСП.Шлюз на веб сервере]]
|-
| Логин
| DefUser
| Логин пользователя 1С для входа в АСП.Шлюз
| Логин пользователя 1С для входа в АСП.Шлюз
|
|-
|-
|
| Пароль
| 3. Пароль "DefUser"
| DefUser
| Пароль пользователя 1С для входа в АСП.Шлюз
| Пароль пользователя 1С для входа в АСП.Шлюз
|
|-
|-
|
| Адрес сервера
| 4. Подключаемся через тестовый АСП.Шлюз "http://t2-gateway.aspcom.ru"
| http://t2-gateway.aspcom.ru
| Адрес сервера, на котором выполнена публикация АСП.Шлюз
| Адрес сервера, на котором выполнена публикация АСП.Шлюз
|
|-
|-
|
| Команда
| 5. Команда АСП.Шлюз: "СоздатьНоменклатуру"
| СоздатьНоменклатуру
| Список всех возможных операций можно можно увидеть, перейдя по [[шлюз_выгрузка:описание_сервисов|ссылке]]
| Список всех возможных операций можно увидеть, перейдя по [[описание_сервисов|ссылке]]
|
|}
|}


Подробное описание доступных операций [[асп.шлюз_выгрузка:описание_сервисов|можно посмотреть тут]]. |
'''Документация:'''
Подробное описание типов объектов [[асп.шлюз_выгрузка:описание_типов|можно посмотреть тут]].
* Подробное описание доступных операций: [[асп.шлюз_выгрузка:описание_сервисов|Описание сервисов]]
* Подробное описание типов объектов: [[асп.шлюз_выгрузка:описание_типов|Описание типов]]


Подготавливаем XML запрос:
=== Подготовка XML запроса ===
<file xml request.xml>
 
<syntaxhighlight lang="xml">
<?xml version='1.0' encoding='utf-8'?>
<?xml version='1.0' encoding='utf-8'?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Body>
  <soap-env:Body>
<ns0:СоздатьНоменклатуру xmlns:ns0="http://88.99.106.214/Mercury">
    <ns0:СоздатьНоменклатуру xmlns:ns0="http://88.99.106.214/Mercury">
<ns0:Номенклатура>
      <ns0:Номенклатура>
<ns0:Код>ЦБ056513</ns0:Код>
        <ns0:Код>ЦБ056513</ns0:Код>
<ns0:Наименование>PERFECT FIT 1,2кг Для стер.кошек и кастр. котов (6)</ns0:Наименование>
        <ns0:Наименование>PERFECT FIT 1,2кг Для стер.кошек и кастр. котов (6)</ns0:Наименование>
<ns0:НаименованиеПолное>корм PERFECT FIT 1,2кг Для стер.кошек и кастр. котов (6) сухой</ns0:НаименованиеПолное>
        <ns0:НаименованиеПолное>корм PERFECT FIT 1,2кг Для стер.кошек и кастр. котов (6) сухой</ns0:НаименованиеПолное>
<ns0:Группа>
        <ns0:Группа>
<ns0:Код>ЦБ051542</ns0:Код>
          <ns0:Код>ЦБ051542</ns0:Код>
<ns0:Наименование>Сухие корма, ж/б</ns0:Наименование>
          <ns0:Наименование>Сухие корма, ж/б</ns0:Наименование>
<ns0:Родитель>
          <ns0:Родитель>
<ns0:Код>ЦБ047054</ns0:Код>
            <ns0:Код>ЦБ047054</ns0:Код>
<ns0:Наименование>КОРМА</ns0:Наименование>
            <ns0:Наименование>КОРМА</ns0:Наименование>
<ns0:Родитель>
            <ns0:Родитель>
<ns0:Код>ЦБ000001</ns0:Код>
              <ns0:Код>ЦБ000001</ns0:Код>
<ns0:Наименование>МАРС</ns0:Наименование>
              <ns0:Наименование>МАРС</ns0:Наименование>
</ns0:Родитель>
            </ns0:Родитель>
</ns0:Родитель>
          </ns0:Родитель>
</ns0:Группа>
        </ns0:Группа>
<ns0:Артикул>10162233 </ns0:Артикул>
        <ns0:Артикул>10162233</ns0:Артикул>
<ns0:ЕдХранения/>
        <ns0:ЕдХранения/>
<ns0:Скоропортящаяся>false</ns0:Скоропортящаяся>
        <ns0:Скоропортящаяся>false</ns0:Скоропортящаяся>
<ns0:Некачественная>false</ns0:Некачественная>
        <ns0:Некачественная>false</ns0:Некачественная>
</ns0:Номенклатура>
      </ns0:Номенклатура>
</ns0:СоздатьНоменклатуру>
    </ns0:СоздатьНоменклатуру>
</soap-env:Body>
  </soap-env:Body>
</soap-env:Envelope>
</soap-env:Envelope>
</file>
Выполняем команду '''curl''':
<syntaxhighlight lang="bash">
curl -H "SOAPAction: \"http:<syntaxhighlight lang='bash'>
88.99.106.214/Mercury#DataExchangeGatewayV2:СоздатьНоменклатуру<br/>"" --data @request.xml --user DefUser:DefUser http:
</syntaxhighlight>t2-gateway.aspcom.ru/gloria_test/ws/DataExchangeGatewayV2.1cws -o response.xml
</syntaxhighlight>
</syntaxhighlight>
В результате получаем файл:
 
<file xml response.xml>
=== Выполнение команды curl ===
 
<syntaxhighlight lang="bat">
curl -H "SOAPAction: \"http://88.99.106.214/Mercury#DataExchangeGatewayV2:СоздатьНоменклатуру\"" \
    --data @request.xml \
    --user DefUser:DefUser \
    http://t2-gateway.aspcom.ru/gloria_test/ws/DataExchangeGatewayV2.1cws \
    -o response.xml
</syntaxhighlight>
 
=== Результат выполнения ===
 
<syntaxhighlight lang="xml">
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
  <soap:Body>
<m:СоздатьНоменклатуруResponse xmlns:m="http://88.99.106.214/Mercury">
    <m:СоздатьНоменклатуруResponse xmlns:m="http://88.99.106.214/Mercury">
<m:return xmlns:xs="http://www.w3.org/2001/XMLSchema"
      <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Номенклатура загружена: PERFECT FIT 1,2кг Для стер.кошек и кастр. котов (6)</m:return>
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
</m:СоздатьНоменклатуруResponse>
        Номенклатура загружена: PERFECT FIT 1,2кг Для стер.кошек и кастр. котов (6)
</soap:Body>
      </m:return>
    </m:СоздатьНоменклатуруResponse>
  </soap:Body>
</soap:Envelope>
</soap:Envelope>
</file>
</syntaxhighlight>
|
 
==Выполним детальный разбор команды curl:==
=== Детальный разбор команды curl ===
 
[[File:curlразбор.png]]
[[File:curlразбор.png]]
# Используемое пространство имен / имя пакета web-сервисов. Данная часть запроса остается неизменной.
 
# Имя выполняемой операции из списка [[шлюз_выгрузка:описание_сервисов|возможных операций]].
# Используемое пространство имен / имя пакета web-сервисов (неизменяемая часть)
# Ключ, после которого указываются добавляемые данные http запроса или файл (@file) передаваемый POST-запросом.
# Имя выполняемой операции из списка [[описание_сервисов|возможных операций]]
# Путь к xml-файлу, содержащему текст выполняемой операции. Можно указывать относительный или абсолютный путь.
# Ключ для указания передаваемых данных POST-запросом
# Имя пользователя : Пароль пользователя 1С:Предприятия, которые используются для аутентификации в АСП.Шлюз.
# Путь к XML-файлу с текстом операции (относительный или абсолютный)
# Адрес сервера, на котором выполнена публикация АСП.Шлюз.
# Имя пользователя:Пароль для аутентификации в АСП.Шлюз
# Имя публикации информационной базы, указанное при публикации базы АСП.Шлюз на веб сервере.
# Адрес сервера с публикацией АСП.Шлюз
# Адрес web-сервисов. Данная часть запроса остается неизменной.
# Имя публикации информационной базы
# Путь к xml-файлу, в который будет записан результат выполнения операции в АСП.Шлюз. Можно указывать относительный или абсолютный путь.
# Адрес web-сервисов (неизменяемая часть)
# Путь к XML-файлу для записи результата (относительный или абсолютный)
 
[[Category:Асп.шлюз выгрузка]]
[[Category:Асп.шлюз выгрузка]]


<vote type=1 />
<vote type=1 />

Текущая версия от 06:58, 16 октября 2025

Универсальный обмен данными с АСП.Шлюз

Основные параметры подключения

  • Протокол: HTTP
  • Адреса подключения:
  Тестовый: http://t2-gateway.aspcom.ru/имя_базы/ws/DataExchangeGatewayV2.1cws
  Продуктивный: http://gateway.aspcom.ru/имя_базы/ws/DataExchangeGatewayV2.1cws

Заголовки HTTP запроса

Пример использования

Наглядные примеры XML запросов и ответов:

Для отправки запросов через HTTP может использоваться утилита:

Пример: Создание номенклатуры в АСП.Шлюз

Параметр Значение Описание
Имя базы gloria_test Имя, указанное при публикации базы АСП.Шлюз на веб сервере
Логин DefUser Логин пользователя 1С для входа в АСП.Шлюз
Пароль DefUser Пароль пользователя 1С для входа в АСП.Шлюз
Адрес сервера http://t2-gateway.aspcom.ru Адрес сервера, на котором выполнена публикация АСП.Шлюз
Команда СоздатьНоменклатуру Список всех возможных операций можно увидеть, перейдя по ссылке

Документация:

Подготовка XML запроса

<?xml version='1.0' encoding='utf-8'?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
  <soap-env:Body>
    <ns0:СоздатьНоменклатуру xmlns:ns0="http://88.99.106.214/Mercury">
      <ns0:Номенклатура>
        <ns0:Код>ЦБ056513</ns0:Код>
        <ns0:Наименование>PERFECT FIT 1,2кг Для стер.кошек и кастр. котов (6)</ns0:Наименование>
        <ns0:НаименованиеПолное>корм PERFECT FIT 1,2кг Для стер.кошек и кастр. котов (6) сухой</ns0:НаименованиеПолное>
        <ns0:Группа>
          <ns0:Код>ЦБ051542</ns0:Код>
          <ns0:Наименование>Сухие корма, ж/б</ns0:Наименование>
          <ns0:Родитель>
            <ns0:Код>ЦБ047054</ns0:Код>
            <ns0:Наименование>КОРМА</ns0:Наименование>
            <ns0:Родитель>
              <ns0:Код>ЦБ000001</ns0:Код>
              <ns0:Наименование>МАРС</ns0:Наименование>
            </ns0:Родитель>
          </ns0:Родитель>
        </ns0:Группа>
        <ns0:Артикул>10162233</ns0:Артикул>
        <ns0:ЕдХранения/>
        <ns0:Скоропортящаяся>false</ns0:Скоропортящаяся>
        <ns0:Некачественная>false</ns0:Некачественная>
      </ns0:Номенклатура>
    </ns0:СоздатьНоменклатуру>
  </soap-env:Body>
</soap-env:Envelope>

Выполнение команды curl

curl -H "SOAPAction: \"http://88.99.106.214/Mercury#DataExchangeGatewayV2:СоздатьНоменклатуру\"" \
     --data @request.xml \
     --user DefUser:DefUser \
     http://t2-gateway.aspcom.ru/gloria_test/ws/DataExchangeGatewayV2.1cws \
     -o response.xml

Результат выполнения

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <m:СоздатьНоменклатуруResponse xmlns:m="http://88.99.106.214/Mercury">
      <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        Номенклатура загружена: PERFECT FIT 1,2кг Для стер.кошек и кастр. котов (6)
      </m:return>
    </m:СоздатьНоменклатуруResponse>
  </soap:Body>
</soap:Envelope>

Детальный разбор команды curl

  1. Используемое пространство имен / имя пакета web-сервисов (неизменяемая часть)
  2. Имя выполняемой операции из списка возможных операций
  3. Ключ для указания передаваемых данных POST-запросом
  4. Путь к XML-файлу с текстом операции (относительный или абсолютный)
  5. Имя пользователя:Пароль для аутентификации в АСП.Шлюз
  6. Адрес сервера с публикацией АСП.Шлюз
  7. Имя публикации информационной базы
  8. Адрес web-сервисов (неизменяемая часть)
  9. Путь к XML-файлу для записи результата (относительный или абсолютный)
0.00
(0 голосов)