Имя: Пароль:
1C
1С v8
Подскажите. Не работает функция в Web-сервисе
0 Ivan_495
 
28.09.15
17:18
Создал ф-цию в веб-сервисе

Функция Vigr(Параметр)
        // Вставить содержимое обработчика.

        

ТоварТип=ФабрикаXDTO.Тип("http://www.sample-package.org","Товар";;);
КорневойТип=ФабрикаXDTO.Тип("http://www.sample-package.org","Товары";;);

Корневой=ФабрикаXDTO.Создать(КорневойТип);


Выборка=Справочники.Номенклатура.Выбрать();

Пока Выборка.Следующий() Цикл
    Если Выборка.ЭтоГруппа тогда продолжить КонецЕсли;
    
    Элем=ФабрикаXDTO.Создать(ТоварТип);
    
    Элем.Наименование=Выборка.Наименование;
    Элем.Код=Выборка.Код;
    
    Корневой.СписокТоваров.Добавить(Элем);
КонецЦИКла;

Возврат(Корневой);

КонецФункции


обращаюсь к ней Прокси.Vigr() не работает
1 Ivan_495
 
28.09.15
17:19
SOAP пишет Ошибка при вызове метода контекста (Создать)
2 Ivan_495
 
28.09.15
17:20
вроде все с учебника списал
3 Cyberhawk
 
28.09.15
17:23
Ошибку-то вставь полностью
4 Cyberhawk
 
28.09.15
17:24
А лучше покажи на картинке ее текст
5 Ivan_495
 
28.09.15
17:24
soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">;
   <soap:Header/>
   <soap:Body>
      <soap:Fault>
         <soap:Code>
            <soap:Value>soap:Sender</soap:Value>
         </soap:Code>
         <soap:Reason>
            <soap:Text xml:lang="ru_RU">Неизвестная ошибка. {WebСервис.Proba1.Модуль(12)}: Ошибка при вызове метода контекста (Создать)
по причине:
{WebСервис.Proba1.Модуль(12)}: Ошибка при вызове метода контекста (Создать)
по причине:
Несоответствие типов (параметр номер '1')</soap:Text>
         </soap:Reason>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>
6 Fragster
 
гуру
28.09.15
17:25
(5) походу КорневойТип = неопределено
7 Ivan_495
 
28.09.15
17:26
наверно русское "Товар"
8 Ivan_495
 
28.09.15
17:31
ТоварТип=ФабрикаXDTO.Тип("http://www.sample-package.org","Tovar";);
КорневойТип=ФабрикаXDTO.Тип("http://www.sample-package.org","Тovari";);
исправил не помогло
9 Serginio1
 
28.09.15
17:47
(0) Ты на внешнем отчете поиграй с Фабрикой. Посмотри какие типы в пространстве имен.
А вообще лучше весь код вынести в общий модуль, а из вэб сервисов уже дергать их. Это позволяет делать отладку локально
10 Fragster
 
гуру
28.09.15
18:12
(7)(8) а в пакете XDTO что?
11 Ivan_495
 
28.09.15
18:15
XDTO тоже все из книжки
<xs:schema xmlns:tns="http://www.sample-package.org"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; targetNamespace="http://www.sample-package.org"; attributeFormDefault="unqualified" elementFormDefault="qualified">
    <xs:complexType name="Tovar">
        <xs:sequence>
            <xs:element name="Наименование" type="xs:string"/>
            <xs:element name="Код" type="xs:string"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="Tovari">
        <xs:sequence>
            <xs:element name="SpisTovar" type="tns:Tovar" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
</xs:schema>
12 Ivan_495
 
28.09.15
18:19
убрал русские наименование и код в XDTO
ошибка изменилась
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">;
   <soap:Header/>
   <soap:Body>
      <soap:Fault>
         <soap:Code>
            <soap:Value>soap:Sender</soap:Value>
         </soap:Code>
         <soap:Reason>
            <soap:Text xml:lang="ru_RU">Неизвестная ошибка. Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://www.sample-package.org}Tovari - [14,1]
Проверка свойства 'SpisTovar':
    форма: Элемент
    имя: {http://www.sample-package.org}SpisTovar
    тип: {http://www.sample-package.org}Tovar
по причине:
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://www.sample-package.org}Tovari - [14,1]
Проверка свойства 'SpisTovar':
    форма: Элемент
    имя: {http://www.sample-package.org}SpisTovar
    тип: {http://www.sample-package.org}Tovar
по причине:
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://www.sample-package.org}Tovar - [14,1]
Проверка дополнительного свойства:
    форма: Элемент
    имя: {http://www.sample-package.org}Наименование
по причине:
Ошибка проверки данных XDTO:
Структура объекта не соответствует типу: {http://www.sample-package.org}Tovar</soap:Text>;
         </soap:Reason>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>
13 Serginio1
 
28.09.15
18:22
Еще раз проверь на внешнем отчете
14 Fragster
 
гуру
28.09.15
18:22
вот называются у тебя в пакете свойства SpisTovar, Tovar и т.п., так они и в коде должны быть
15 Ivan_495
 
28.09.15
18:27
вроде исправил,не помогло
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">;
   <soap:Header/>
   <soap:Body>
      <soap:Fault>
         <soap:Code>
            <soap:Value>soap:Sender</soap:Value>
         </soap:Code>
         <soap:Reason>
            <soap:Text xml:lang="ru_RU">Неизвестная ошибка. Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://www.sample-package.org}Tovari - [14,1]
Проверка свойства 'SpisTovar':
    форма: Элемент
    имя: {http://www.sample-package.org}SpisTovar
    тип: {http://www.sample-package.org}Tovar
по причине:
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://www.sample-package.org}Tovari - [14,1]
Проверка свойства 'SpisTovar':
    форма: Элемент
    имя: {http://www.sample-package.org}SpisTovar
    тип: {http://www.sample-package.org}Tovar
по причине:
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://www.sample-package.org}Tovar - [14,1]
Проверка дополнительного свойства:
    форма: Элемент
    имя: {http://www.sample-package.org}Наименование
по причине:
Ошибка проверки данных XDTO:
Структура объекта не соответствует типу: {http://www.sample-package.org}Tovar</soap:Text>;
         </soap:Reason>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>
16 Ivan_495
 
28.09.15
18:32
а может вообще вся функция в web-сервисе на англииском д.б. написана?
17 Fragster
 
гуру
28.09.15
18:33
(16) нет
18 Fragster
 
гуру
28.09.15
18:42
есть мнение, что на вход подается не то, что 1с ожидает
19 Ivan_495
 
28.09.15
18:48
явно преобразовал в строки
20 Fragster
 
гуру
28.09.15
18:54
выложи на pastebin.com wsdl и код каак вызываешь
21 Ivan_495
 
28.09.15
18:54
не помогло
Функция Vigr(Параметр)
        // Вставить содержимое обработчика.
        
ТоварТип=ФабрикаXDTO.Тип("http://www.sample-package.org","Tovar";);

КорневойТип=ФабрикаXDTO.Тип("http://www.sample-package.org","Тovari";);
Корневой=ФабрикаXDTO.Создать(КорневойТип);


Выборка=Справочники.Номенклатура.Выбрать();

Пока Выборка.Следующий() Цикл
    Если Выборка.ЭтоГруппа тогда продолжить КонецЕсли;
    
    Элем=ФабрикаXDTO.Создать(ТоварТип);
    
    Элем.Наименование=Строка(Выборка.Name);
    Элем.Код=Строка(Выборка.Kod);
        
    Корневой.SpisTovar.Добавить(Элем);
КонецЦИКла;

Возврат(Корневой);
    //Возврат(Параметр);
КонецФункции
22 Fragster
 
гуру
28.09.15
18:55
(21) как ты вызываешь свой сервис?
23 Serginio1
 
28.09.15
18:55
А что за параметр передаешь
24 Ivan_495
 
28.09.15
18:56
без параметра не работало, добавил параметр не использую
25 Ivan_495
 
28.09.15
18:57
26 Ivan_495
 
28.09.15
18:57
(22) Proba1
27 Ivan_495
 
28.09.15
19:01
теперь список ошибка
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">;
   <soap:Header/>
   <soap:Body>
      <soap:Fault>
         <faultcode>soap:Client</faultcode>
         <faultstring>Неизвестная ошибка. Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://www.sample-package.org}Tovari - [11,4]
Проверка свойства 'SpisTovar':
    форма: Элемент
    имя: {http://www.sample-package.org}SpisTovar
    тип: {http://www.sample-package.org}Tovar
по причине:
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://www.sample-package.org}Tovari - [11,4]
Проверка свойства 'SpisTovar':
    форма: Элемент
    имя: {http://www.sample-package.org}SpisTovar
    тип: {http://www.sample-package.org}Tovar
по причине:
Ошибка проверки данных XDTO:
Структура объекта не соответствует типу: {http://www.sample-package.org}Tovar
Проверка свойства 'Name':
    форма: Элемент
    имя: {http://www.sample-package.org}Name
    тип: {http://www.w3.org/2001/XMLSchema}string
Отсутствует обязательное свойство</faultstring>
         <detail>Неизвестная ошибка. Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://www.sample-package.org}Tovari - [11,4]
Проверка свойства 'SpisTovar':
    форма: Элемент
    имя: {http://www.sample-package.org}SpisTovar
    тип: {http://www.sample-package.org}Tovar
по причине:
Ошибка преобразования данных XDTO:
Чтение объекта типа: {http://www.sample-package.org}Tovari - [11,4]
Проверка свойства 'SpisTovar':
    форма: Элемент
    имя: {http://www.sample-package.org}SpisTovar
    тип: {http://www.sample-package.org}Tovar
по причине:
Ошибка проверки данных XDTO:
Структура объекта не соответствует типу: {http://www.sample-package.org}Tovar
Проверка свойства 'Name':
    форма: Элемент
    имя: {http://www.sample-package.org}Name
    тип: {http://www.w3.org/2001/XMLSchema}string
Отсутствует обязательное свойство</detail>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>
28 Serginio1
 
28.09.15
20:11
(0) Еще раз проверь 21 локально внешним отчетом. Если все нормально, тогда уже отлаживай через вэб сервис.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn