Имя: Пароль:
1C
 
Как передать в веб сервис сложный тип данных
0 helloman
 
14.09.22
15:28
Задача: При обращении к стороннему веб сервису необходимо передать тип значения содержащий перечисления.

Проба пера:

        ТипП = wsПрокси.ФабрикаXDTO.Пакеты.Получить("http://myPacket.ru").Получить("Setting");
    WSПараметр       = wsПрокси.ФабрикаXDTO.Создать(ТипП);    
    ДанныеПациент = WSПрокси.PersonalData(WSПараметр);

Если передавать простой тип, строка например, все работает.


Проблема: Сервис не принимает параметры, выдает ошибку
1 mikecool
 
14.09.22
15:34
сервис знает про перечисления?
2 helloman
 
14.09.22
16:00
(1) Да
3 Kassern
 
14.09.22
16:09
(0) все должно работать, я вообще массив заказов пердаю через веб сервис и все на ура кушается
4 Kassern
 
14.09.22
16:11
А блин, вы про параметры, туда я не пробовал пихать, что-то отличное от строки. В вашем случае, так же можно представление перечисления пихнуть и не париться.
5 helloman
 
14.09.22
16:13
(4) Можете в коде показать. Суть я понимаю, что нужно пихнуть. Там два параметра передается, строка - пароль и перечисление параметров
6 Kassern
 
14.09.22
16:16
(5) Какой тип данных стоит у вашего параметра в базе, где опубликован веб сервис?
7 Kassern
 
14.09.22
16:18
вот тут, что у вас? https://disk.yandex.ru/i/o7RdLSGNMArxIA
8 helloman
 
14.09.22
17:04
9 Kassern
 
14.09.22
17:24
(8) а зачем тогда пишите в (2) что сервис знает перечисления?)) Вы указываете, что параметр должен быть строка, а сами xdto объект туда пихаете, конечно же словите ошибку.
10 helloman
 
15.09.22
08:01
(9) А как тогда правильно?
11 Kassern
 
15.09.22
09:13
(10) Тип параметра должен совпадать с типом отправляемых данных.
12 helloman
 
15.09.22
09:19
(11) Вопрос и стоит каким образом привести тип параметра, мы же его не сами придумали, а берем из XDTO. Как правильно получить и передать его в коде
13 Kassern
 
15.09.22
09:39
(12) Разобраться и почитать про xdto, создать схему описывающую перечисление и указать ее для параметра. Либо забить и передавать строку, а на сервисе Перечисления.ВашеПеречисление[ИмяПеречисления]
14 Strogg
 
15.09.22
10:00
(13) да можно сделать параметр массивом и передавать все что нужно. А обрабатывать в приемнике.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn