|
Сторонний веб-сервис и wsdl файл | ☑ | ||
---|---|---|---|---|
0
Night_Wolf
24.12.14
✎
12:14
|
Добрый день.
Подскажите как понять какие методы есть в стороннем веб-сервисе и как к ним обратиться? Хотелось бы знать вообще, независимо от сервиса. В данный момент делаю проверку контрагента по ИНН и КПП. Есть только ссылка: http://npchk.nalog.ru/FNSNDSCAWS?WSDL Делаю так: Определения = Новый WSОпределения("http://npchk.nalog.ru/FNSNDSCAWS?WSDL",,,5); Сервис = Определения.Сервисы[0]; Прокси = Новый WSПрокси(Определения,Сервис.URIПространстваИмен, Сервис.Имя,Сервис.ТочкиПодключения[0].Имя); Это всё корректно отрабатывает. Но я не знаю какие там методы, сколько их, какие принимают параметры. Можете направить на путь истинный? |
|||
1
Эмбеддер
24.12.14
✎
12:16
|
в WSСсылки импортировать
http://npchk.nalog.ru/FNSNDSCAWS?WSDL |
|||
2
Night_Wolf
24.12.14
✎
12:24
|
(1) - Как импортировать? Я создавать в конфигурации не могу свой веб-сервис. хочу подключиться с помощью внешней обработки.
|
|||
3
Господин ПЖ
24.12.14
✎
12:28
|
||||
4
Эмбеддер
24.12.14
✎
12:30
|
(2) и даже в тестовой конфигурации нельзя импортировать?
|
|||
5
EugeniaK
24.12.14
✎
12:31
|
(0) Открой в браузере ссылку и смотри параметры и методы http://npchk.nalog.ru/FNSNDSCAWS?WSDL
|
|||
6
Jaap Vduul
24.12.14
✎
12:36
|
Если есть сложности с пониманием wsdl, то можно и программно описание получить:
для каждого ТочкаПодключения из Сервис.ТочкиПодключения цикл для каждого Операция Из ТочкаПодключения.Интерфейс.Операции цикл Сообщить(Операция.Имя); Сообщить("параметры:"); для каждого Параметр Из Операция.Параметры цикл Сообщить(Параметр.Имя + " " + Параметр.НаправлениеПараметра + " " + Параметр.Тип); конеццикла; конеццикла; конеццикла; |
|||
7
Jaap Vduul
24.12.14
✎
12:42
|
+(5)
Только надо учесть, что там ещё две вложенных схемы: http://npchk.nalog.ru:80/FNSNDSCAWS?xsd=1 http://npchk.nalog.ru:80/FNSNDSCAWS?xsd=2 |
|||
8
Night_Wolf
24.12.14
✎
12:46
|
Спасибо за ответы. Посмотрел файлик - понял что есть параметр NP. Пытаюсь получить:
ТипПараметра = Прокси.ФабрикаXDTO.Тип(Сервис.URIПространстваИмен,"NP"); пишет Неопределено. Как такое может быть? (7) Непонятно насчет вложенных схем. Как-то по-другому обращение идет? |
|||
9
Night_Wolf
24.12.14
✎
12:47
|
(4) - в тестовой можно. Но хотелось бы понять именно как смотреть по самому wsdl и понимать где там методы, где параметры и каких они типов.
|
|||
10
Jaap Vduul
24.12.14
✎
12:48
|
(8)
>>Посмотрел файлик - понял что есть параметр NP Нет, есть параметр np_in со свойством NP. Структура NP описана в http://npchk.nalog.ru:80/FNSNDSCAWS?xsd=1 |
|||
11
DmitrO
24.12.14
✎
12:49
|
есть универсальная обработка для испытания веб-сервисов:
http://www.dev.citykirov.ru/ WSTest можно построить любой параметр, выполнить любой метод, и увидеть результат |
|||
12
Господин ПЖ
24.12.14
✎
12:50
|
>Но хотелось бы понять именно как смотреть по самому wsdl и понимать где там методы, где параметры и каких они типов.
зачем? нормальные среды по описанию сами генерят всю "обвязку" для работы с сервисом. Классы, свойства нужных типов... |
|||
13
DmitrO
24.12.14
✎
12:54
|
(11)+ ну и методы посмотреть тоже можно
|
|||
14
Night_Wolf
24.12.14
✎
14:51
|
(10) Так тоже не получается:
Прокси.ФабрикаXDTO.Тип(Сервис.URIПространстваИмен,"np_in"); Сервис.URIПространстваИмен = "http://ws.unisoft". По идее тип параметра я должен получить из фабрики сторонней, но возвращает Неопредлено. Пространство имен не то? |
|||
15
Jaap Vduul
24.12.14
✎
14:54
|
(14)
Во-первых, np_in это имя параметра, а не типа (NdsRequest). Ну и пространство имён у него отличается (http://ws.unisoft/FNSNDSCAWS/Request). |
|||
16
Night_Wolf
24.12.14
✎
14:58
|
(15) - про пространство догнал что надо такое http://ws.unisoft/FNSNDSCAWS/Request, а про имя типа нет. Спасибо!
А ещё вопрос: Я получу структуру (насколько я понимаю), загоню в неё дату, ИНН и КПП, как потом обратиться к процедуре веб-сервиса, чтобы она отработала? Имя у неё будет NdsRequest? |
|||
17
Jaap Vduul
24.12.14
✎
15:02
|
(16)>>NdsRequest
Да. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |