Имя: Пароль:
1C
 
Веб-сервис, передача параметров
0 myr4ik07
 
27.01.18
12:09
Привет.
Есть внешний веб-сервис.

Импортировал в 1с WSСсылка1

Теперь нужно обратиться к методу веб-сервиса

подключение
Прокси = WSСсылки.WSСсылка1.СоздатьWSПрокси("http://www.reality.sh/name/Api20";, "API20", "API20Soap");        
обращение к методу
Результат= Прокси.AllCatalog();

в результате получаю "недостаточно фактических параметров".
смотрю в документацию апи и вижу, что нужно передавать
ID, KEY

вопрос, как передать эти параметры?
1 breezee
 
27.01.18
12:10
Результат= Прокси.AllCatalog(id, key);
2 myr4ik07
 
27.01.18
12:16
(1) не соответствие типов пишет, тип параметра какой то другой должен быть, как этот тип получить?
3 myr4ik07
 
27.01.18
12:17
хочу получить тип

    ТипWSПараметра = Прокси.ФабрикаXDTO.Пакеты.Получить("http://www.reality.sh/name/Api20").Получить("AllCatalog";);        
    WSПараметр       = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра);

в результате WSПараметр       имеет AllCatalogRequest
4 breezee
 
27.01.18
12:17
(2) Какого параметра? В документации не указан тип?
5 breezee
 
27.01.18
12:18
(3) ид и кей судя по названию строки...
6 myr4ik07
 
27.01.18
12:18
7 myr4ik07
 
27.01.18
12:19
(5) если потом WSПараметр.KEY = ""; то ошибка что нет такого поля
8 myr4ik07
 
27.01.18
12:19
9 myr4ik07
 
27.01.18
12:20
вообще то могу добраться до параметров если делаю

Прокси.ФабрикаXDTO.Пакеты.Получить("http://www.reality.sh/name/Api20").Получить("AllCatalog").Свойства.Получить("AllCatalogRequest").Тип.Свойства.Получить("Auth").Тип.Свойства.Получить("ID";)
10 breezee
 
27.01.18
12:21
(7)
id = "привет!";
key= "я учу веб сервисы";
Результат= Прокси.AllCatalog(id, key);
вот так пробовали?
11 myr4ik07
 
27.01.18
12:21
но как установить значения не понятно
12 myr4ik07
 
27.01.18
12:22
(10) пробовал,

{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(12)}: Поле объекта недоступно для записи (Клавиша)
    KEY= "GdciY6sA9i";
13 breezee
 
27.01.18
12:23
Вот это плохо, у вас кей это зарезирвированное платформой слов.
id = "привет!";
my_key= "я учу веб сервисы";
Результат= Прокси.AllCatalog(id, my_key);
пробуйте
14 myr4ik07
 
27.01.18
12:25
(13) {ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(14)}: Слишком много фактических параметров
    Результат= Прокси.AllCatalog(ID, my_key);

мне кажеться там какой то тип другой должен быть, типа структура которая переобразованная в xdto
15 breezee
 
27.01.18
12:26
(14) Слишком много фактических параметров
Мне кажется вам надо связаться с разработчиками и сказать что их документация не актуальна
16 breezee
 
27.01.18
12:27
(14) (15)
Слишком много фактических параметров
Означает что паарметров там меньше, попробуйте
Результат= Прокси.AllCatalog(ID);

Результат= Прокси.AllCatalog();
Что будет?
17 myr4ik07
 
27.01.18
12:29
(15)
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма (14)}: Ошибка при вызове метода контекста (AllCatalog)
Результат = Прокси.AllCatalog (ID)
через:
Несоответствие типов (параметр номер '1')

а если так
Результат= Прокси.AllCatalog();
то недостаточно параметров
18 breezee
 
27.01.18
12:29
(17) Тогда хз, из ошибок могу понять только что параметр 1 ион не строка, попробуье число туда запихнуть
Результат = Прокси.AllCatalog (0)
А вы вообще программист? Вопросы какие-то глуповатые))
19 myr4ik07
 
27.01.18
12:31
(16) вот смотрю через SoapUI там вот такая структура передается запроса

http://prntscr.com/i69od1
20 myr4ik07
 
27.01.18
12:33
(18) а ты программист, если аналогично не можеш решить проблему?
21 myr4ik07
 
27.01.18
12:34
(18) или программист не может быть, что с каким то сервисом не работал и вопросы могут быть?! где глупые вопросы?
22 myr4ik07
 
27.01.18
12:35
(18) я с xtdo не работал и не понимаю как с ним работать
23 Mankubus
 
27.01.18
13:36
Покажи скрин хдто пакета из вс ссылки
24 breezee
 
27.01.18
15:54
(20) Поммогло число передать?