Имя: Пароль:
IT
Админ
WS ссылки
0 Scorpion_1986
 
09.11.12
17:28
Здраствуйте. Помогите розобраться.
У меня есть внешний веб сервис. Делаю так:
1 Scorpion_1986
 
09.11.12
17:30
Прокси = WSСсылки.WSPostStation.СоздатьWSПрокси(
                                        "http://tempuri.org/", "TEST", "TestSOAP");
       
       ТипWSПараметра = Прокси.ФабрикаXDTO.Пакеты.Получить(
                                           "http://tempuri.org/").Получить("CreatePackage");
       WSПараметр = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра);
       
       WSПараметр.uid                = Строка(Выборка.ПосылкаСсылка.УникальныйИдентификатор());
       WSПараметр.trackingNumber    = Выборка.trackingNumber;
       WSПараметр.barcode            = Выборка.barcode;
       WSПараметр.terminalId        = Число(Выборка.terminalId);
       WSПараметр.boxSide            = Выборка.boxSide;
       WSПараметр.storageDays        = Число(Выборка.storageDays);

       Результат = Прокси.CreatePackage(WSПараметр);
2 Scorpion_1986
 
09.11.12
17:31
Когда  Результат = Прокси.CreatePackage(WSПараметр);
3 Scorpion_1986
 
09.11.12
17:31
Сообщает "Не достаточно фактических параметров"
Помогите, что делать
4 Fragster
 
гуру
09.11.12
17:40
(3) а сколько должно быть там параметров?
5 Scorpion_1986
 
09.11.12
17:41
в веб сервис я должен передать 6 параметров
 WSПараметр.uid                = Строка(Выборка.ПосылкаСсылка.УникальныйИдентификатор());
      WSПараметр.trackingNumber    = Выборка.trackingNumber;
      WSПараметр.barcode            = Выборка.barcode;
      WSПараметр.terminalId        = Число(Выборка.terminalId);
      WSПараметр.boxSide            = Выборка.boxSide;
      WSПараметр.storageDays        = Число(Выборка.storageDays);
6 Fragster
 
гуру
09.11.12
17:42
(5) неее, что в описании именно. 1 параметр типа твоего или таки 6 параметров?
7 Scorpion_1986
 
09.11.12
17:43
В отладчике я смотрел
Результат = Прокси.CreatePackage(WSПараметр);
WSПараметр - ето тип ХDTO а котором есть ети 6 параметров
8 Scorpion_1986
 
09.11.12
17:43
6 параметров
9 Fragster
 
гуру
09.11.12
17:46
(8) картинку из конфигуратора сделай!!!
10 Scorpion_1986
 
09.11.12
17:49
11 Elf_80_lvl
 
09.11.12
17:51
А в процедуре в скобочках сколько параметров?
12 Scorpion_1986
 
09.11.12
17:54
Ты хочешь сказать что я должен все 6 передавать?
Результат = Прокси.CreatePackage(WSПараметр1,WSПараметр2 ... WSПараметр6) ?
13 Scorpion_1986
 
09.11.12
17:55
Или в какой процедуре ты имееш ввиду?
14 Elf_80_lvl
 
09.11.12
17:55
(12) На сколько я помню да
15 Fragster
 
гуру
09.11.12
17:56
(10) ну так 6 параметров и передавай, а не 1
16 Scorpion_1986
 
09.11.12
17:56
Тоесть тут WSПараметр = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра);
17 Scorpion_1986
 
09.11.12
17:57
не надо етого делать? не создавать тип XDTO?
18 Fragster
 
гуру
09.11.12
17:57
Прокси.Метод(Параметр1, параметр2, параметр3...)
19 Fragster
 
гуру
09.11.12
17:57
(17) ну я хз, каких типов у тебя эти 6 параметров. если простые или наследуются от них - то пожалуйста, передавай напрямую
20 Scorpion_1986
 
09.11.12
17:58
сек. сейчас попробую
21 Scorpion_1986
 
09.11.12
18:03
Большое спасибо, все заработало. Передал напрямую. Еще раз спасибо
22 Scorpion_1986
 
09.11.12
18:04
Тепер буду разбираться как прочитать результат
23 Scorpion_1986
 
09.11.12
18:12
Ребята, подскажите еще как правильно прочитать. Делаю так:
       Результат = Прокси.CreatePackage(Строка(Выборка.ПосылкаСсылка.УникальныйИдентификатор()),
       Выборка.trackingNumber,
           Выборка.barcode,
           Число(Выборка.terminalId),
           Выборка.boxSide,
           Число(Выборка.storageDays));
       
       Для Каждого Элемент Из Результат Цикл
           Код = Элемент.PackageCode;
           Error =  Элемент.Error
       КонецЦикла;

Ошибка: {Форма.Форма.Форма(58)}: Итератор для значения не определен
       Для Каждого Элемент Из Результат Цикл
24 Fragster
 
гуру
09.11.12
18:13
ну научись пользоваться отладчиком же...
25 Scorpion_1986
 
09.11.12
18:21
Спасибо. Розобрался.
26 Scorpion_1986
 
09.11.12
18:37
Еще на будущее подскажите. А в каких случаях надо делать
WSПараметр = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра);
?
27 Fragster
 
гуру
09.11.12
18:37
когда надо получить не ЗначениеXDTO (условно примитивный тип), а ОбъектXDTO
28 Scorpion_1986
 
09.11.12
18:42
спасибо
29 Fragster
 
гуру
09.11.12
18:47
я, кстати, немного неправильно написал. ЗначениеXDTO тоже иногда надо создавать, правильнее будет про примитивный тип.
30 Scorpion_1986
 
09.11.12
18:49
Тоесть получеться мой метод имел приметивные типи каждый параметр. А если Параметр был бы XDTO то тогда делаем
Прокси.ФабрикаXDTO.Создать(ТипWSПараметра)?
31 Fragster
 
гуру
09.11.12
19:03
(30) типа того
32 Scorpion_1986
 
09.11.12
19:48
))) ок. благодарю за помощь