Пример пакетов

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

Наглядный пример XML запросов и ответов можно Файл:Gate-samples.zip, а так же Файл:Реализация.request.txt и Файл:Производство.request.txt.
Например, для отправки запросов через HTTP может использоваться утилита curl32 Файл:Curl-7.40.0-win64.msi.7z.
Так, допустим мы хотим создать номенклатуру в АСП.Шлюз/

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

Подробное описание доступных операций можно посмотреть тут. | Подробное описание типов объектов можно посмотреть тут.

Подготавливаем XML запрос: <file xml request.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> </file> Выполняем команду curl:

curl -H "SOAPAction: \"http:<syntaxhighlight lang='bash'>
88.99.106.214/Mercury#DataExchangeGatewayV2:СоздатьНоменклатуру<br/>"" --data @request.xml --user DefUser:DefUser http:

t2-gateway.aspcom.ru/gloria_test/ws/DataExchangeGatewayV2.1cws -o response.xml

</syntaxhighlight> В результате получаем файл: <file xml 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> </file> |

Выполним детальный разбор команды curl:

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