Имя: Пароль:
1C
 
Вопрос по WS-ссылке
0 rem4755
 
20.01.17
15:15
Может кто сталкивался. Получаю список номенклатуры через WS- ссылку “СписокНоменклатуры».
Соответствующий WEB сервис прописан в другой конфигурации. Вот код:
&НаСервере
Процедура СформировватьНаСервере()
    Определения = Новый WSОпределения("http://localhost/web/ws/List.1cws?wsdl";);  
    Прокси = Новый WSПрокси(Определения, "Имена_СписокНоменклатуры", "СписокНоменклатуры", "СписокНоменклатурыSoap");
    
    //Доступ к сервису через WS-ссылку "СписокНоменклатуры" (Конфигуратор)
    //Прокси = WSСсылки.СписокНоменклатуры.СоздатьWSПрокси("Имена_СписокНоменклатуры", "СписокНоменклатуры", "СписокНоменклатурыSoap");
    
    Таблица = Прокси.ПолучитьСписокНоменклатуры();
    Если Таблица = Неопределено Тогда    
        Возврат;
    КонецЕсли;
    
    ТЗРезультат.Очистить();
    Для Каждого СтрокаТаблицы из Таблица.Состав Цикл
        НоваяСтрока = ТЗРезультат.Добавить();
        НоваяСтрока.Код = СтрокаТаблицы.Код;
        НоваяСтрока.Номенклатура = СтрокаТаблицы.Номенклатура;
        НоваяСтрока.ЭтоГруппа = СтрокаТаблицы.ЭтоГруппа;
    КонецЦикла;
    
КонецПроцедуры

&НаКлиенте
Процедура Сформироввать(Команда)
    СформировватьНаСервере();
КонецПроцедуры

Если WS-ссылку определяю динамически: первые две строки, всё проходит хорошо. Если доступ к сервису через WS-ссылку "СписокНоменклатуры", определенную в конфигураторе  (строка ниже), то выдаёт ошибку «Ошибка преобразования данных XDTO». Что-то не так делаю?
1 DrZombi
 
гуру
20.01.17
15:23
(0) Работаем с WS-ссылками
http://start1c.blogspot.ru/2012/09/ws.html
2 DrZombi
 
гуру
20.01.17
15:24
3 rem4755
 
20.01.17
15:39
(1,2) Ну по этим ссылкам тоже самое что у меня. Но что-то ответа я не нашел:
"Если WS-ссылку определяю динамически: первые две строки, всё проходит хорошо. Если доступ к сервису через WS-ссылку "СписокНоменклатуры", определенную в конфигураторе  (строка ниже), то выдаёт ошибку «Ошибка преобразования данных XDTO».
4 Трипиэль
 
20.01.17
15:55
(0) вряд ли мой ответ поможет, но оставлю это здесь).
у меня платформа 1С:Предприятие 8.3 (8.3.5.1119), и ссылки определенные в конфигураторе вообще работать не хотят. либо не создаются (при создании конфигуратор впадает в какой-то цикл), либо отвалились по ходу дела (просто перестали работать) - все эти события были довольно давно, точнее не вспомню. я не смог победить эту проблему, не смог выяснить причины, хотя прочитал кучу статей как из комментариев выше о том, как у всех всё просто настраивается и прекрасно работает. теперь использую динамические, пришлось везде заменить.
5 DrZombi
 
гуру
20.01.17
16:03
6 Трипиэль
 
20.01.17
16:07
(5) а вот такая ошибка ({http://v8.1c.ru/8.1/data/core}FixedStructure) вылечилась с переездом на другой сервер, но она была связана не с веб-сервисами, а просто с передачей данных с сервера на клиент (передавалась какая-то константа)
7 rem4755
 
20.01.17
16:13
(4) Я бы сказал так, статическая WS-ссылка работает, но как-то не стабильно. Например, если я добавляю новое поле, например, код номенклатуры в пакет XDTO, то статическая ссылка перестаёт работать, а динамическая работает. Кстати, у меня платформа – последняя 8.3.9.2033.
8 GANR
 
20.01.17
16:15
ОбщегоНазначения.WSПрокси и не тревожьте мозг
9 Трипиэль
 
20.01.17
16:17
(7) извини за тупой вопрос, а после добавления реквизита, статическую ссылку обновляешь?
10 rem4755
 
20.01.17
16:18
(9) Обижаешь.
11 rem4755
 
20.01.17
16:31
(9) Слушай, а ты прав, я в последний раз забыл обновить статическую ссылку. Сейчас обновил - заработало. Видимо в этом дело. Пока снимаю вопрос. Ну вывод - динамическая ссылка в любом случае лучше в смысле написания кода, хотя возможно и работает медленнее.
12 GANR
 
20.01.17
18:30
(11) А еще лучше - (8), если Вы посмотрите типовые, то увидите, что они не используют WS-Ссылки. Как думаете почему?