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