Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
шлюз_выгрузка:пример_пакетов [2019/05/07 12:07]
misha [Пример использования]
— (текущий)
Строка 1: Строка 1:
-====== Универсальный обмен данными с Шлюзом АСП Меркурий ====== 
  
-  * Отправка идёт по 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 может использоваться утилита [[https://​bintray.com/​artifact/​download/​vszakats/​generic/​curl-7.57.0-win32-mingw.7z|curl32]] {{ :​шлюз:​curl-7.40.0-win64.msi.7z |curl64}}.\\ 
-Так, допустим мы хотим создать номенклатуру на шлюзе: 
-||1. База называется "​gloria_test"​.|Имя,​ указанное при [[1_основная_инструкция:​3_шлюз:​1_интеграция:​4_публикация_конфигурации|публикации базы АСП Шлюз на веб сервере]].|| 
-||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**: 
-<code bash> 
-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 
-</​code>​ 
-В результате получаем файл: 
-<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:== 
-{{ :​шлюз_выгрузка:​curlразбор.png?​nolink&​1600 |}} 
-  - Используемое пространство имен / имя пакета web-сервисов. Данная часть запроса остается неизменной. 
-  - Имя выполняемой операции из списка [[шлюз_выгрузка:​описание_сервисов|возможных операций]]. 
-  - Ключ, после которого указываются добавляемые данные http запроса или файл (@file) передаваемый POST-запросом. 
-  - Путь к xml-файлу,​ содержащему текст выполняемой операции. Можно указывать относительный или абсолютный путь. 
-  - Имя пользователя : Пароль пользователя 1С:​Предприятия,​ которые используются для аутентификации в программе АСП Шлюз. 
-  - Адрес сервера,​ на котором выполнена публикация Шлюза. 
-  - Имя публикации информационной базы, указанное при публикации базы АСП Шлюз на веб сервере. 
-  - Адрес web-сервисов. Данная часть запроса остается неизменной. 
-  - Путь к xml-файлу,​ в который будет записан результат выполнения операции в Шлюзе. Можно указывать относительный или абсолютный путь. ​