0
Skazy
03.07.15
✎
13:37
|
Есть XDTO схема - TestVS () В нем два типа объектов - ArraySpisok и StrokaSpiska. ArraySpisok содержит одно свойство - Spisok, имеющее тип - StrokaSpiska, максимальное кол-во = -1. StrokaSpiska имеет свойства - Articul, Razmer, Kol. Есть веб-сервис TestWork, в нем операция - TestArray, возвращает тип булево, имеет параметр - Test c типом значения ArraySpisok.
Задача - передать из 1С в это ВС список товара. Это тест вызова из 1С своего же веб-сервиса.
В этой же конфе создаю обработку с кодом:
Подключение = определяю WSОпределения, создаю WSПрокси. Здесь все нормально. Вижу точки подключения, операции, параметры операций...
XDTOТипГлавный = ФабрикаXDTO.Тип(" ");
XDTOТипСтрока = ФабрикаXDTO.Тип(";);
XDTOГлавный = ФабрикаXDTO.Создать(XDTOТипГлавный);
СтрокаТовара = ФабрикаXDTO.Создать(XDTOТипСтрока);
СтрокаТовара.Articul = "000001";
СтрокаТовара.Razmer = "1";
СтрокаТовара.Kol = 2;
XDTOГлавный.Spisok.Добавить(СтрокаТовара);
РезультатВызова = Подключение .TestArray(XDTOГлавный);
При запуске 1С выдает такую ошибку -
{Форма.Форма.Форма(68)}: Ошибка при вызове метода контекста (TestArray): Ошибка вызова операции сервиса: {(): Неизвестная ошибка. Несоответствие типов XDTO:
Тип '{ ' не найден
Тип принадлежит пакету, входящему в состав другой фабрики типов XDTO: Несоответствие типов XDTO:
Тип '{ ' не найден
Тип принадлежит пакету, входящему в состав другой фабрики типов XDTO
Самое смешное, что мои веб-сервисы прекрасно работают при вызове с php или C#, а из 1С смоделировать вызов не могу.
|
|
4
DmitrO
03.07.15
✎
14:15
|
Вот если бы ты создавал прокси из WS ссылки добавленной в конфигурацию (без создания определений, определния бы хранились в конфигурации), то тогда использовал бы глобальную фабрику конфигурации.
|
|