Как правильно выполнить запрос к веб-сервису 1С:Документооборота без использования 1С?
Можно примеры на curl или Boomerang, или SoapUI, или иное подобное.
Подскажите, пожалуйста, к бесшовному 1С:Документообороту как сделать запрос?
Там спецификация веб-сервиса описана достаточно подробно, но вот на практике одни ошибки, и почему-то ни одного примера бесшовной интеграции с не1С-приложениями ни на ИТС, ни ив Интернете.
Например, как сделать запрос GetVersionRequest?
В расширении Boomerang запрос
Выдает ошибку 500:
Подскажите, пожалуйста, к бесшовному 1С:Документообороту как сделать запрос?
Там спецификация веб-сервиса описана достаточно подробно, но вот на практике одни ошибки, и почему-то ни одного примера бесшовной интеграции с не1С-приложениями ни на ИТС, ни ив Интернете.
Например, как сделать запрос GetVersionRequest?
В расширении Boomerang запрос
<x:Envelope
xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:dm="http://www.1c.ru/dm">
<x:Header/>
<x:Body>
<dm:execute>
<dm:DMGetVersionRequest>
<dm:dataBaseID>68cf0f97-5fac-443d-a6fa-3216e92559a8</dm:dataBaseID>
<dm:messageId>1</dm:messageId>
<dm:initialMessageId>1</dm:initialMessageId>
</dm:DMGetVersionRequest>
</dm:execute>
</x:Body>
</x:Envelope>
ПоказатьВыдает ошибку 500:
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Ошибка разбора SOAP сообщения: неизвестный параметр. </faultstring>
<detail/>
</soap:Fault>
</soap:Body>
</soap:Envelope>
ПоказатьПо теме из базы знаний
- Механизмы и транспорт обмена данными. Пример создания в КД 2.1 правил обмена данными ЗУП 2.5 -> БП 3.0. Выгрузка ведомостей и банковских счетов. Передача параметров обмена из Источника в Приемник. ВыгрузитьПоПравилу(). ПередатьОдинПараметрВПриемник().
- Многопоточный CI-контур для 1С c Packer, Vagrant и Jenkins. Часть 1. Описание системы и обзор инструментария
- Необходимый минимум по AI для 1С-ника
- Практический опыт построения защищенного контура для 1С-приложения
- История одного взлома или проверьте вашу систему на безопасность
Найденные решения
Решение найдено. Примеры:
curl -u user:password --location --request POST 'https://imyVashegoSaita.ru/doc-test/ws/DMService' --data '<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dm="http://www.1c.ru/dm"><x:Header/><x:Body><dm:execute><dm:request xsi:type="dm:DMGetVersionRequest" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dm:dataBaseID>68cf0f97-5fac-443d-a6fa-3216e92559a8</dm:dataBaseID><dm:messageId>1</dm:messageId><dm:initialMessageId>1</dm:initialMessageId></dm:request></dm:execute></x:Body></x:Envelope>'
curl -u user:password --location --request POST 'https://imyVashegoSaita.ru/doc-test/ws/DMService' --data '<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dm="http://www.1c.ru/dm"><x:Header/><x:Body><dm:execute><dm:request xsi:type="dm:DMGetCurrentUserRequest" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dm:dataBaseID>68cf0f97-5fac-443d-a6fa-3216e92559a8</dm:dataBaseID><dm:messageId>1</dm:messageId><dm:initialMessageId>1</dm:initialMessageId></dm:request></dm:execute></x:Body></x:Envelope>'
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Попробуйте на тестовой базе 1С создать очень простой свой веб-сервис SOAP,
и научитесь к нему подключаться и получать данные (из другой программы). Примеров много в интеренете.
(Можно потренироваться подключаться из другой программы 1С, если вы программист 1С.)
Когда первый этап освоите, переходите к Документообороту т.е. подключайтесь к его веб-сервисам.
Если брать SOAP, у вас должна быть ссылка wsdl к документообороту, правильность которой можно проверить в любом браузере.
https://its.1c.ru/db/metod8dev/content/5889/hdoc
https://www.youtube.com/watch?v=d6Z5VMlpE8I
и научитесь к нему подключаться и получать данные (из другой программы). Примеров много в интеренете.
(Можно потренироваться подключаться из другой программы 1С, если вы программист 1С.)
Когда первый этап освоите, переходите к Документообороту т.е. подключайтесь к его веб-сервисам.
Если брать SOAP, у вас должна быть ссылка wsdl к документообороту, правильность которой можно проверить в любом браузере.
Интеграция с документооборотом - достаточно непростая штука (на мой взгляд). Проще написать для своего одного-двух внутренних документов свой сервис внутри документооборота, который просто создаст нужный документ и заполнит его нужными элементами справочников. Это будет примерно в сто раз быстрее, чем если делать это с помощью имеющегося универсального сервиса, у которого на входе одна команда с полиморфным объектом "Сообщение" (или как там его) )))
(4)
Ну у клиента, надеюсь, есть деньги часов на 1000 )))
Задача поставлена использовать именно типовую бесшовку 1С:ДО без доработок.
Ну тогда копайте все типы данных, которые там нагорожены. Я уже отвечал, что там идентификаторы объектов - это не просто ГУИД, а объект, который содержит ГУИД, тип объекта, еще какие-то данные - уже не помню.
Ну у клиента, надеюсь, есть деньги часов на 1000 )))
(5) До того как задать вопрос здесь, я до последнего искал сам решение через отслеживание запросов 1С:БП->1С:ДО в программах Fiddler и WireShark, но почему-то в них отсутствуют таковые запросы, либо как-то иначе шифруются-преобразовываются до безузнаваемости и безчитаемости. На своей виртуалке я опубилковал ДО на HTTP без HTTPS, чтобы открыто видеть данные, но без результата.
Задал вопрос на партнерском форуме 1С: https://partners.v8.1c.ru/forum/t/2050769/m/2050769
Будем ждать ответа.
Будем ждать ответа.
Решение найдено. Примеры:
curl -u user:password --location --request POST 'https://imyVashegoSaita.ru/doc-test/ws/DMService' --data '<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dm="http://www.1c.ru/dm"><x:Header/><x:Body><dm:execute><dm:request xsi:type="dm:DMGetVersionRequest" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dm:dataBaseID>68cf0f97-5fac-443d-a6fa-3216e92559a8</dm:dataBaseID><dm:messageId>1</dm:messageId><dm:initialMessageId>1</dm:initialMessageId></dm:request></dm:execute></x:Body></x:Envelope>'
curl -u user:password --location --request POST 'https://imyVashegoSaita.ru/doc-test/ws/DMService' --data '<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dm="http://www.1c.ru/dm"><x:Header/><x:Body><dm:execute><dm:request xsi:type="dm:DMGetCurrentUserRequest" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dm:dataBaseID>68cf0f97-5fac-443d-a6fa-3216e92559a8</dm:dataBaseID><dm:messageId>1</dm:messageId><dm:initialMessageId>1</dm:initialMessageId></dm:request></dm:execute></x:Body></x:Envelope>'
Дальше по аналогии, суть та же, получаем изменения:
curl -u user:password --location --request POST 'https://imyVashegoSaita.ru/doc-test/ws/DMService' --data '<x:Envelope xmlns:x="http://schemas.xmlsoap.org/soap/envelope/" xmlns:dm="http://www.1c.ru/dm"><x:Header/><x:Body><dm:execute><dm:request xsi:type="dm:DMGetChangesRequest" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dm:dataBaseID>68cf0f97-5fac-443d-a6fa-3216e92559a8</dm:dataBaseID><dm:messageId>1</dm:messageId><dm:initialMessageId>1</dm:initialMessageId></dm:request></dm:execute></x:Body></x:Envelope>'
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот