Имя: Пароль:
1C
1С v8
Передача параметров в web сервис
0 cmex
 
14.08.13
11:38
Здравствуйте.
Есть web сервис, создал WSссылки, есть процедура с входящими параметрами. Грубо , массив документов. Как правильно передать параметры, нужно самому создать тип? Или как это выглядит. Подскажите. Спасибо
1 Wobland
 
14.08.13
11:43
2 cmex
 
14.08.13
11:46
(1) нет доступа(
вот как мне такие параметры передать http://s020.radikal.ru/i708/1308/c2/db0cf916329d.jpg
3 bahus
 
14.08.13
12:01
(2) По-моему не получится.
Долго с этим бился.
ArrayOfDoc должен быть типа СписокXDTO, а он какого-то другого типа.
А так - создаешь прокси:
Прокси = WSСсылки.WSСсылка1.СоздатьWSПрокси(ПространствоИмен, Сервис, Порт);

описываешь типы (как-то так):

ТипDoc = Прокси.ФабрикаXDTO.Тип(ПространствоИмен, "TDoc");
ТипDoc = Прокси.ФабрикаXDTO.Создать(ТипDoc);
    
ТипArrDoc = Прокси.ФабрикаXDTO.Тип(ПространствоИмен, "TArrDoc");
ТипArrDoc = Прокси.ФабрикаXDTO.Создать(ТипArrDoc);

И потом по идее добавляешь:
ТипArrDoc.Добавить(ТипDoc);

Только ничего не получится ))
4 acsent
 
14.08.13
12:03
ТипArrDoc.Doc.Добавить()
5 cmex
 
14.08.13
16:41
всем спасибо, все получилось. текст нужен?
6 eklmn
 
гуру
14.08.13
16:57
Конечно
7 Адимр
 
14.08.13
18:29
8 cmex
 
16.08.13
08:28
Прокси = WSСсылки.омкSaperionWS.СоздатьWSПрокси("http://elar.ru/";, "xxxZZ", "xxxZZSoap");
    
    ТипWSПараметра = Прокси.ФабрикаXDTO.Пакеты.Получить("http://elar.ru/").Получить("CreateDocInSaperion";);
    ТипWSПараметраArrayOfDoc = ТипWSПараметра.Свойства.Получить("Docs").Тип;
    ТипWSПараметраDoc = ТипWSПараметраArrayOfDoc.Свойства.Получить("Doc").Тип;

    WSПараметрDoc       = Прокси.ФабрикаXDTO.Создать(ТипWSПараметраDoc);
    WSПараметрDoc.Barcode = ШК;
    WSПараметрDoc.PDF = СтрокаИзФайлаPDF;
    WSПараметрDoc.TypeDoc = ТипДокумента;                                                            
    WSПараметрDoc.XML = СтрокаИзФайлаXML;

    
    WSПараметрArrayOfDoc       = Прокси.ФабрикаXDTO.Создать(ТипWSПараметраArrayOfDoc);
    WSПараметрArrayOfDoc.Doc.Добавить(WSПараметрDoc);