Вход | Регистрация
 

Проблема с параметром (веб-сервис)

Проблема с  параметром (веб-сервис)
Я
   1ctube
 
10.07.19 - 11:49
Добрый день. Изучаю веб-сервисы, хочу попробовать "яндекс speller".
Вот код:
Прокси = WSСсылки.Speller.СоздатьWSПрокси("http://speller.yandex.net/services/spellservice";, "SpellService", "SpellServiceSoap");

ТипWSПараметра = Прокси.ФабрикаXDTO.Пакеты.Получить("http://speller.yandex.net/services/spellservice").Получить("checkText";);
  WSПараметр   = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра);

Ошибка возникает на последней строчке: "Несоответствие типов (параметр номер '1')".
Смотрю в отладчике, "ТипWSПараметра " имеет Тип: Неопределено.

Кто-нибудь работал с этим веб-сервисом? Можете подсказать почему не получается получить тип параметра?
П.С. Метод "checkText" имеет обязательный параметр "text" тип String
 
 
   Cyberhawk
 
1 - 10.07.19 - 12:03
Ну так отладчиком в пакеты загляни для начала
   Nikifforoff96
 
2 - 10.07.19 - 12:04
я всегда начинаю с создания WSОпределения, потом получаю из него сервис, из сервиса получаю точку подключения, из точки подключения операцию сервиса. Параметры создаю через WSОпределения. Примерно так

ВСОпределение = Новый WSОпределения(АдресСервера, ИмяПользователя, ПарольПользователя);
        ВСервис = ВСОпределение.Сервисы.Получить("URI пространство имён","Сервис");
        ВТочкаВхода = ВСервис.ТочкиПодключения.Получить("ТвойсервисSoap");
        ВОперация = ВТочкаВхода.Интерфейс.Операции.Получить("НужнаяФункцияВСервисе");
        
        ПараметрXDTO = ВСОпределение.ФабрикаXDTO.Создать(ВОперация.Параметры.Получить("Параметр").Тип, Параметр);
        ВСПрокси = Новый WSПрокси(ВСОпределение,"URI пространство имён","Сервис","СервисSoap",,,, АдресСервера);
        ВСПрокси.Пользователь = ИмяПользователя;
        ВСПрокси.Пароль = ПарольПользователя;
        Авторизация = ВСПрокси.НужнаяФункцияВСервисе(ПараметрXDTO);
   1ctube
 
3 - 10.07.19 - 12:09
(1) В отладчике "Переменная не определена(Пакеты)"...
   PiotrLoginov
 
4 - 10.07.19 - 12:17
(3) Прокси.ФабрикаXDTO.Пакеты
   1ctube
 
5 - 10.07.19 - 12:20
(4) В отладчике: КоллекцияПакетовXDTO.
Когда раскрываю значение, то 2 строчки, первая с пространством имён "http://www.w3.org/2001/XMLSchema";
Вторая: "http://speller.yandex.net/services/spellservice";
   catena
 
6 - 10.07.19 - 12:25
Прокси = WSСсылки.Speller.СоздатьWSПрокси("http://speller.yandex.net/services/spellservice";, "SpellService", "SpellServiceSoap");
ТипWSПараметра = Прокси.ФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema","string";);
WSПараметр   = Прокси.ФабрикаXDTO.Создать(ТипWSПараметра);
   Cyberhawk
 
7 - 10.07.19 - 13:26
(5) А зачем ты получаешь тип с именем метода?
И зачем получать тип по имени от конкретно пакета, а не от фабрики?
   ptiz
 
8 - 10.07.19 - 14:04
(0) С яндекс.спеллером вообще можно готовый текст передавать:
Ответ = ПроксиВебСервиса.checkText(ТекстДляПроверки);

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует