Имя: Пароль:
1C
1С v8
Не создать значение из типа XDTO
0 zippygrill
 
22.11.14
16:18
В модуле веб сервиса есть такой код. И постоянно выдает ошибку при вызове "ФабрикаXDTO.Создать(ТаблицаТип)".
Видимо возвращает Неопределено при создание типа переменной "ТаблицаТип". Пробовал по разному: ФабрикаXDTO.Пакеты() или ФабрикаXDTO.Создать(). Никак не хочет

    Пакет =  ФабрикаXDTO.Пакеты.Получить("http://master1cx64/wsnomenclatureremains";);
    //Пакет =  ФабрикаXDTO.Пакеты.Получить("http://localhost/wsnomenclatureremains";);
    
    НоменклатураТип = Пакет.Получить("Номенклатура");    
    ТаблицаТип = Пакет.Получить("Таблица");    
    СтрокаТаблицыТип = Пакет.Получить("СтрокаТаблицы");
    Таблица = ФабрикаXDTO.Создать(ТаблицаТип);
    
    //НоменклатураТип = ФабрикаXDTO.Создать("http://localhost/wsnomenclatureremains";, "Номенклатура");    
    //ТаблицаТип = ФабрикаXDTO.Создать("http://localhost/wsnomenclatureremains";, "Таблица");    
    //СтрокаТаблицыТип = ФабрикаXDTO.Создать("http://localhost/wsnomenclatureremains";, "СтрокаТаблицы");
    //Таблица = ФабрикаXDTO.Создать(ТаблицаТип);
1 Escander
 
22.11.14
16:41
(0) текст ошибки предлагается угадать... идите на форум телепатов.
2 zippygrill
 
22.11.14
16:51
{WebСервис._NomenclatureRemains.Модуль(7)}: Ошибка при вызове метода контекста (Создать)
по причине:
Несоответствие типов (параметр номер '1')

Хотя в 7 строке нет ничего подобного типа "Создать()"
3 zippygrill
 
22.11.14
16:52
Оставил вот так

    URI = "http://localhost/wsnomenclatureremains";;
    НоменклатураТип = ФабрикаXDTO.Тип(URI, "Номенклатура");    
    ТаблицаТип = ФабрикаXDTO.Тип(URI, "Таблица");    
    СтрокаТаблицыТип = ФабрикаXDTO.Тип(URI, "СтрокаТаблицы");
    
    Таблица = ФабрикаXDTO.Создать(ТаблицаТип);
4 zippygrill
 
22.11.14
16:59
все получилось..
5 Escander
 
22.11.14
17:05
молодец, сам понял
6 zippygrill
 
24.11.14
15:18
Где написано ИмяСервиса в WSDL файле?
Тут

<service name="_ExchangeNomenclature">

или в definitions? А то ругается что сервис не найден.
7 zippygrill
 
24.11.14
15:25
Прокси = Новый WSПрокси(Определение, "http://ИмяСайта:82/";, "_ExchangeNomenclature", "_ExchangeNomenclatureSoap"); - говорят что сервис не найден. В Определение вижу и пакеты и сервисы, только вот смущает слово "localhost" в URI из Определение: http://localhost/wsexchangenomenclature
8 Serginio1
 
24.11.14
15:33
WSСервис=Определение.Сервисы[0];
    прокси=Новый WSПрокси(Определение, WSСервис.URIПространстваИмен, WSСервис.Имя, WSСервис.ТочкиПодключения[0].Имя);
9 Serginio1
 
24.11.14
15:36
(7) А что в секции WSDL  
под <service name="_ExchangeNomenclature">

soap:address location
10 zippygrill
 
24.11.14
15:58
11 Serginio1
 
24.11.14
19:06
(7) URI это просто название пространства имен.
А вот реальный адрес подключения. Пингни его
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.