|
Ошбика веб-сервисе: Обязательное возвращаемое значение не задано | ☑ | ||
---|---|---|---|---|
0
YVGroshkov
24.12.12
✎
16:44
|
Функция test()
ПеременнаяМассив = Новый Массив(4); ПеременнаяМассив.Вставить(0, "Нулевой"); ПеременнаяМассив.Вставить(1, "Первый"); ПеременнаяМассив.Вставить(2, "Второй"); ПеременнаяМассив.Вставить(3, "Третий"); Возврат ПеременнаяМассив; КонецФункции XDTO http://v8.1c.ru/8.1/data/core тип Array Где я ошибся? |
|||
1
На стороне добра
24.12.12
✎
17:06
|
Как воспроизвести ситуацию?
|
|||
2
YVGroshkov
24.12.12
✎
17:10
|
Создать веб сервис с операцией test
код модуля веб-сервиса приведён выше в xdto веб-сервиса нужно указать http://v8.1c.ru/8.1/data/core Потом из скрипта обратиться вот так: $client = new SoapClient('http://192.168.0.98/bb/ws/bb?wsdl', array( 'login' => "user", 'password' => "pass", 'trace' => 1, 'exeption' => 1 ) ); try { echo "<pre>\n"; VarDumper::dump($client->test()); echo "\n</pre>\n"; } catch (SoapFault $exception) { echo $exception; } echo "<hr />"; echo "<pre>"; echo "Запрос :\n".htmlspecialchars($client->__getLastRequest()) ."\n"; echo "Ответ:\n".htmlspecialchars($client->__getLastResponse())."\n"; echo "</pre>"; |
|||
3
YVGroshkov
24.12.12
✎
17:13
|
блин, что-то форма ссылки уродует :(
|
|||
4
Serginio1
24.12.12
✎
17:14
|
Ну есть два подхода
XmlСтрока(ПеременнаяМассив); Тип=ФабрикаXDTO.Тип(ИмяПространстваИмен,"Array"); Тип=ФабрикаXDTO.Создать(Тип,ПеременнаяМассив); |
|||
5
Serginio1
24.12.12
✎
17:17
|
СериализаторXDTO.ЗаписатьXDTO(ПеременнаяМассив)
|
|||
6
Serginio1
24.12.12
✎
17:26
|
Кстати если ты посмотришь ПеременнаяМассив.Количество() то увидишь 8 элеменов.
Либо используй ПеременнаяМассив.[0]="Нулевой"; Либо просто ПеременнаяМассив = Новый Массив(); ПеременнаяМассив.Добавить("Нулевой"); |
|||
7
Serginio1
24.12.12
✎
17:30
|
Есть еще вариант
СписокОбъектов = Фабрика.Создать(Фабрика.Тип("http://v8.1c.ru/8.1/data/core", "Array")); ТипЗначения=Фабрика.Тип("http://v8.1c.ru/8.1/data/core","ValueListItemType"); ТипСтрока=Фабрика.Тип("http://www.w3.org/2001/XMLSchema","string"); Стр=Фабрика.Создать(ТипСтрока,"Мама мыла раму"); СписокОбъектов.value.Добавить(стр); |
|||
8
YVGroshkov
24.12.12
✎
18:03
|
Блин, зачитался и забыл, что нужно обязательно возвращать XML для веб-сервисов.
|
|||
9
YVGroshkov
24.12.12
✎
18:26
|
Serginio1, спасибо.
|
|||
10
Serginio1
24.12.12
✎
18:27
|
(8) Не XML, а ОбъектXDTO, который потом сериализуется
|
|||
11
Serginio1
24.12.12
✎
18:27
|
10+ Поэтому XmlСтрока это ошибка. Каюсь.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |