|
Операция web-сервиса не возвращает значение типа structure
| ☑ |
0
Я сказал
12.11.13
✎
12:20
|
Здравствуйте. Ситуация такая. Есть web-сервис, в нем операция с типом возвращаемого значения structure (пространство имен ). В функции, соответствующей этой операции, формируется и возвращается структура из двух значений строкового типа. Но клиент, вызвавший операцию web-сервиса получает Неопределено. С операциями того же web-сервиса, возвращающими значения типа string (пространство имен ) и типа ValueStorage (пространство имен ) проблем не возникает. Почему мир так несправедлив?
|
|
1
Я сказал
12.11.13
✎
13:05
|
Вверх!
|
|
2
Я сказал
12.11.13
✎
14:20
|
Еще раз.
|
|
3
Эмбеддер
12.11.13
✎
14:21
|
возвращает, это 1С не понимает такой формат
|
|
4
Serginio1
12.11.13
✎
14:26
|
Код покажи
|
|
5
Я сказал
12.11.13
✎
14:30
|
Почему тогда ValueStorage понимает? Они ведь из одного и того же типового пакета XDTO...(3)
|
|
6
Эмбеддер
12.11.13
✎
14:31
|
(5) я не стал разбираться, почему 1С не хочет работать с веб-сервисом (она работает не с каждым), а работал через http запросы
|
|
7
Serginio1
12.11.13
✎
14:31
|
StructureХДТО = СериализаторXDTO.ЗаписатьXDTO(структура);
|
|
8
Serginio1
12.11.13
✎
14:37
|
А точно возвращает Structure?
Может в структуре есть то что не сериализуется или не из импортрованного пакета?
|
|
9
hhhh
12.11.13
✎
14:42
|
"возвращается структура из двух значений строкового типа"
|
|
10
Я сказал
12.11.13
✎
14:44
|
[CODE]
// На стороне клиента
...
Прокси = ПолучитьПрокси(Константы.Пароль.Получить());
СтруктураКонстант = Прокси.НачатьОбмен();
// На стороне сервера
Функция НачатьОбмен()
...
СтруктураКонстант = Новый Структура;
СтруктураКонстант.Вставить("Пользователь", Строка(УзелОбмена.Пользователь));
СтруктураКонстант.Вставить("КаталогУслуг", Строка(КаталогУслуг));
Возврат СтруктураКонстант;
КонецФункции
[/CODE]
ПолучитьПрокси - это подключение к web-сервису; после перехода отладчика на клиент переменная СтруктураКонстант содержит значение Неопределено.
|
|
11
Serginio1
12.11.13
✎
14:50
|
(10) А теперь попробуй
возврат СериализаторXDTO.ЗаписатьXDTO(СтруктураКонстант);
|
|
12
Я сказал
12.11.13
✎
14:57
|
(11) Спасибо! Это то, что нужно!
|
|