Имя: Пароль:
1C
1С v8
Как прочитать входной параметр web-сервиса через XDTO?
0 nadvig
 
10.02.21
13:13
Обработчик метода web-сервиса описан так:

Функция Test(ParamIn)

   ТипXDTO = ФабрикаXDTO.Тип("urn.xx.xx.stbdeviceinfo","Objects");
   ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(ParamIn, ТипXDTO);

Соответственно, это не работает, так как ParamIn не является ЧтениеXML.
Как правильно можно разобрать ParamIn? Его тип определен через фабрику XDTO (прям в конфигурации прописан).
1 acht
 
10.02.21
13:22
(0) > Как правильно можно разобрать
Поставить точку останова и посмотреть тип параметра
2 nadvig
 
10.02.21
13:30
Тип параметра у меня описан через фабрику XDTO. Я итак его знаю. Он указан в первом посте.
3 nadvig
 
10.02.21
13:37
Перехват отладчиком для web-сервиса не срабатывает (галка в настройках стоит)
4 acht
 
10.02.21
13:41
(3) Запиши в журнал регистрации результат ТипЗнч(ParamIn)
5 Галахад
 
гуру
10.02.21
13:41
Строка, наверное.
6 acht
 
10.02.21
13:43
(5) Вот сейчас и узнаем
7 nadvig
 
10.02.21
13:44
Нее, не строка. В файл не пишется.
8 Вафель
 
10.02.21
13:44
входящие веб сервисы игнорируют тип параметра.
какой пришлют такой и получишь.
А прислать можно любой
9 acht
 
10.02.21
13:46
(7) > В файл не пишется.
В какой еще файл?
10 nadvig
 
10.02.21
13:47
В текстовый. Тоже надеялся как xml записать, а потом через ЧтениеXML прочитать.
11 acht
 
10.02.21
13:50
(10) Ты вообще читаешь, что тебе пишут, алё?

Какой тип входящего параметра возвращает вызов ТипЗнч(ParamIn)? Не можешь в отладчик - запиши результат вызова в журнал регистрации.
12 nadvig
 
10.02.21
13:52
Тип("urn.xx.xx.stbdeviceinfo","Objects");
13 acht
 
10.02.21
13:52
(12) Не звизди. Я тебя просил результат вызова ТипЗнч(ParamIn)
14 nadvig
 
10.02.21
13:54
Я через SoapUI читаю wsdl. Отправляю запрос.
15 acht
 
10.02.21
13:54
Ок. Мучайся.
16 nadvig
 
10.02.21
13:55
(13) Не перехватывает у меня отладка автоматически подключение. Админы сервер что-то перекрутили со своими балансировщиками..
17 Вафель
 
10.02.21
13:56
Делай (4) без отладчика
18 Вафель
 
10.02.21
13:57
ну и по умолчанию приходит уже готовый объект, а не хмл
19 Вафель
 
10.02.21
13:57
те ОбъектXDTO  = ParamIn
20 nadvig
 
10.02.21
14:28
Да, именно так. Вот как развинтить его не пойму.
Пишу обход

Для каждого Запись из ParamIn.Objects

ругается, что итератор не определен.
21 Вафель
 
10.02.21
14:37
а может там только 1?
22 nadvig
 
11.02.21
15:55
В ФабрикеXDTO не правильно описание сделал. СписокXDTO должен был получиться, чтобы его обойти как коллекцию можно было. Ну, и к свойствам доступ получить.
Только как-то не очевидно при описании свойств фабрики создается этот тип.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс