Пример пакетов
Универсальный обмен данными с АСП.Шлюз
- Отправка идёт по HTTP протоколу по персональному адресу на http:gateway.aspcom.ru/имя_базы/ws/DataExchangeGatewayV2.1cws (продукт).
t2-gateway.aspcom.ru/имя_базы/ws/DataExchangeGatewayV2.1cws (тест) или http:
- Для отправки используется WSDL протокол, который позволяется обмениваться пакетами данным в формате XML. t2-gateway.aspcom.ru/gloria_test/ws/DataExchangeGatewayV2.1cws?wsdl //
Пример описания данных: http:
- Заголовки 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:
- Используемое пространство имен / имя пакета web-сервисов. Данная часть запроса остается неизменной.
- Имя выполняемой операции из списка возможных операций.
- Ключ, после которого указываются добавляемые данные http запроса или файл (@file) передаваемый POST-запросом.
- Путь к xml-файлу, содержащему текст выполняемой операции. Можно указывать относительный или абсолютный путь.
- Имя пользователя : Пароль пользователя 1С:Предприятия, которые используются для аутентификации в АСП.Шлюз.
- Адрес сервера, на котором выполнена публикация АСП.Шлюз.
- Имя публикации информационной базы, указанное при публикации базы АСП.Шлюз на веб сервере.
- Адрес web-сервисов. Данная часть запроса остается неизменной.
- Путь к xml-файлу, в который будет записан результат выполнения операции в АСП.Шлюз. Можно указывать относительный или абсолютный путь.