Подключение к веб-сервису банка по локальному файлу wsdl

1. newborn 13.06.22 11:23 Сейчас в теме
У меня мало опыта в этом направлении.
Задача: подключение к веб-сервису банка.
Банк прислал файлы wsdl и xsd и описание как интегрировать эти файлы в проекты на C# и VB.
Ссылок, как в интернет-примерах, типа "http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?WSDL" нет.
Я пробовал такую конструкцию

&НаКлиенте
Процедура Команда1(Команда)
	Команда1НаСервере();
КонецПроцедуры

&НаСервере
Процедура Команда1НаСервере()
	Определения = Новый WSОпределения("file://C:/WSDL&XSD/wsdl/ChangePasswordEIService.wsdl");
КонецПроцедуры
Показать


Выдаёт ошибку:

Неверный формат.
по причине:

message.ChangePasswordRequest
part.parameters
Элемент не найден
namespace: http://www.mygemini.com/schemas/mygemini
localName: ChangePasswordRequestIo


Я могу привести полный текст файла wsdl и xsd, но мне кажется, что смысла нет, потому что у меня не решена принципиальная задача:
как подключиться в веб-сервису, если у меня есть файл wsdl в локальной файловой системе?
Как можно решить проблему?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
8. koln 13.06.22 13:42 Сейчас в теме
(1)А если загрузить в конфигурацию xsd файл ("Общие - XDTO-пакеты - Импорт XML-схемы)
9. newborn 13.06.22 13:57 Сейчас в теме
(8) У меня была такая мысль. Я импортировал файл xsd в конфигурацию. Не помогло.
10. koln 13.06.22 14:03 Сейчас в теме
(9)Ну пакет со структурой сервиса появился?
11. newborn 13.06.22 14:14 Сейчас в теме
12. koln 13.06.22 14:36 Сейчас в теме
(11)А адрес конечной точки подключения к сервису у Вас есть? Ссылка на адрес сервиса.
13. newborn 13.06.22 15:00 Сейчас в теме
(12) Есть. Но у меня до этого не доходит. У меня не выполняется процедура WSОпределения для локального файла. Других действий нет.
14. koln 14.06.22 06:02 Сейчас в теме
(13)Попробуйте в браузере, к адресу сервиса добавить ".wsdl" (или "?wsdl"). Должен отобразиться файл формата xml
15. newborn 16.06.22 02:04 Сейчас в теме
(14) Не помогло.
Я склоняюсь к мысли, что формат предоставленных мне wsdl файлов не отвечает стандартам. Возможно поэтому мне не предоставили ссылку а прислали именно файлы. Перелопачивая интернет, я прочитал, что 1С очень строго относится к тому, чтобы файл wsdl был корректным и соответствовал стандартам.
16. koln 16.06.22 05:45 Сейчас в теме
(15)А можете саму ссылку показать? Если есть веб-сервис, то и описание должно отображаться.
19. newborn 18.06.22 23:25 Сейчас в теме
(16) Не могу. Не потому, что не хочу, а потому, что заказчик не давал такого разрешения.
17. RustamZz 16.06.22 08:45 Сейчас в теме
(15) Если wsdl успешно импортируется, с файлом лучше уже не работать.
Прокси = WSСсылки.ExternalSystemCardsProcessing.СоздатьWSПрокси("http://processing.cards.ru/",
"ExternalSystemsProcessingService", 
"ExternalSystemsProcessingPort");
 
ТипСтрока = Прокси.ФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema", "string");
ТипСумма  = Прокси.ФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema", "long");
ТипДата   = Прокси.ФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema", "dateTime");
Результат = Прокси.chargeOnBonusAccount(Прокси.ФабрикаXDTO.Создать(ТипСтрока, НомерКарты),
	Прокси.ФабрикаXDTO.Создать(ТипСумма,  БонусСчет),
	Прокси.ФабрикаXDTO.Создать(ТипСумма,  Сумма),
	Прокси.ФабрикаXDTO.Создать(ТипДата,   ДатаПополнения));
Показать

Но я склоняюсь к мысли, что или банк вас троллит, или вы нас. Какие еще веб сервисы у себя он открыл? ShutUpTakeMyMoney.mem?
Прикрепленные файлы:
18. newborn 18.06.22 23:24 Сейчас в теме
(17) wsdl не импортируется. Иначе бы у меня проблемы не возникло.
2. ignorant 13.06.22 11:47 Сейчас в теме
Судя по ошибке, от вас ожидают аутентификацию: Имя / Пароль.
3. newborn 13.06.22 11:49 Сейчас в теме
(2) Да я пока ещё определение создать не смог
4. ignorant 13.06.22 11:59 Сейчас в теме
Файл локальный - попробуйте указать _свои_ пользователь + пароль.
5. newborn 13.06.22 12:06 Сейчас в теме
(4) Где его указать?
Там нет никуда обращения.
Я пытаюсь просто создать ссылку типа WSОпределения.
Я не могу загрузить сам файл wsdl, который лежит у меня на диске в локальной файловой системе.
6. ignorant 13.06.22 12:16 Сейчас в теме
WSОпределения (WSDefinitions)
Из WSDL файла
Синтаксис:
Новый WSОпределения(<МестоположениеWSDL>, <ИмяПользователя>, <Пароль>, <ИнтернетПрокси>, <Таймаут>, <ЗащищенноеСоединение>, <ИспользоватьАутентификациюОС>)
7. newborn 13.06.22 12:35 Сейчас в теме
(6) Это не решило проблему. Я не думаю что в этом проблема. Файл локально лежит, доступ к нему свободный.
20. fixin 4278 01.04.24 14:56 Сейчас в теме
(7) скорее всего, файл лежит на клиенте, а читаете на сервере, проверьте.

Я вот так извращался:

ДД = ПолучитьWSDLКакДвоичныеДанные(АдресWSDL);
 ПрочитатьОтвет(Результат.ПолучитьТелоКакСтроку(),ПараметрыВыполнения, ДД);

 &НаСервере
 Процедура ПрочитатьОтвет(СтрокаОтвета,ПараметрыВыполнения, ДД) Экспорт     
	 
	 
	 
	 //Осипов 2024-04-01 чтобы из файла wsdl получать
	 //Определение = Новый WSОпределения("http://"+СокрЛП(ГИИС_Сервер.ЗаполнитьСтруктуруПодключенияСервер(Объект.Организация).Адрес)+":"+СокрЛП(ГИИС_Сервер.ЗаполнитьСтруктуруПодключенияСервер(Объект.Организация).Порт)+"/ws/v3/exchange3.wsdl");	
	 ИмяВФ = ПолучитьИмяВременногоФайла("wsdl");
	 ДД.Записать(ИмяВФ);
	 Определение = Новый WSОпределения(ИмяВФ);	

	 
	 ЧтениеXML = Новый ЧтениеXML;
...
КонецПроцедуры
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот