![]() |
![]() |
![]() |
|
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) Укажите токен как параметр
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |