Имя: Пароль:
1C
 
Web сервисы и работа с ними
0 Kirei
 
15.08.25
12:48
Доброго дня, коллеги.
Никогда ранее не работал с WS, но предстоит наваять одну штуковину по работе с внешним сервисом.
В сервису нужно будет отправлять запросы (что удивительно =D ) и обрабатывать ответы.
В сети информации по этим механизмам с примерами не так много, отчего возникли вопросы и сомнения.

1) Не понимаю как отправлять запросы. Нужно конструировать xml руками или можно использовать xdto? Или просто дергаем доступные методы с передачей нужных параметров?

2) Как обработать ответы? Я получаю ответ - как я понял XDTO-объект. Далее нужно делать схему xdto пакета, чтобы можно было десериализовать объект в объект БД (например в элемент справочника)?

3) Нужно иметь возможность делать настройки мэпинга. Я правильно понимаю, что если на п.2 ответ утвердительный и нужно делать пакет, тогда этот пакет будет собираться в коде из данных о сопоставлении?
1 Волшебник
 
15.08.25
10:04
Хрусталева, Технологии интеграции 1С:Предприятия 8.3
https://v8.1c.ru/metod/books/165944.htm
2 Волшебник
 
15.08.25
10:04
Обзорная статья https://infostart.ru/1c/articles/1523650/
3 ProxyInspector
 
15.08.25
10:13
Ты выбираешь тупиковый путь развития человечества от 1с. Обмен через XDTO объект не канает.
  У меня лично реализован обмен через JSON. При этом сериализовать можно любые объекты базы данных. Ссылки, Объекты, ТаблицыЗначений, Табличные документы, Метаданные  и т.д.
  Тогда WEB сервисы пишутся легко и не принужденно.
  На клиенте ты пишешь запрос типа
  ВЫБРАТЬ
      Спр.Ссылка
      ....
А в ответ получаешь Таблицу значений по данному запросу.
И никаких тебе XDTO. При этом это работает в любых базах и на любых конфигурациях.
4 craxx
 
15.08.25
10:16
(3) Вы с ТС путаете тип транспорта и тип обработки. XDTO это про сериализацию/десериализацию. При этом XDTO так же и с JSON умеет работать. Просто я бы рекомендовал HTTP-сервис, с ним геморроя меньше чем с WS
5 PLUT
 
гуру
15.08.25
10:19
(3) на XDTO-пакетах удобно структуру сервиса "описать"

а уж, в туловище запроса xml или json получить из XDTO - пару строчек кода. удобно потом изменения вносить, если методы этого самого сервиса меняются или добавляются

причем универсально получатся - хочешь WS, хочешь http
6 Kirei
 
15.08.25
10:32
(4) Я работал с http а с web нет. Сервис внешний и с ним нужно взаимодействовать через WS
7 ProxyInspector
 
15.08.25
11:05
Начинай с самого простого.
Сделай WEB сервис WEBPing().
8 olegves
 
15.08.25
12:12
я так понимаю, у внешнего сервиса уже есть структура - от нее и плясать, а методы работы искать в БСП
9 Kirei
 
21.08.25
09:58
Всем добра.
Вернулся к реализации клиента вэб сервиса, в общих чертах все получается и понятно. Реализовал в 1С обертки методов web сервиса, они работают. Например метод auth который получает токен.
Но есть методы которые нужно реализовать и передавать им этот токен. Судя по структуре soap сообщения этот токен должен передаваться в блоке <soapenv:Header></soapenv:Header>.
Как этом можно реализовать в 1С?
Все придется переписывать на голый http и руками собирать запросы?
10 Волшебник
 
21.08.25
10:10
(9) Если Вы используете объект "Web-сервисы", то Вас не должна волновать структура сообщения. Она формируется автоматически. Вы просто задаёте параметры в дереве конфигурации и получаете их в процедуре-обработчике
11 Kirei
 
21.08.25
10:12
(10) Я использую динамическую WS ссылку для подключения.
12 Kirei
 
21.08.25
10:17
(10) На картинке да явно указаны параметры и их можно так же просто передать. А что делать когда требуется помимо параметров которые указаны в определении метода нужно передавать еще и токен который как параметр не указан.
13 Волшебник
 
21.08.25
10:38
(12) Укажите токен как параметр
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.