Имя: Пароль:
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 локально внешним отчетом. Если все нормально, тогда уже отлаживай через вэб сервис.