У меня мало опыта в этом направлении.
Задача: подключение к веб-сервису банка.
Банк прислал файлы wsdl и xsd и описание как интегрировать эти файлы в проекты на C# и VB.
Ссылок, как в интернет-примерах, типа "http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?WSDL" нет.
Я пробовал такую конструкцию
&НаКлиенте
Процедура Команда1(Команда)
Команда1НаСервере();
КонецПроцедуры
&НаСервере
Процедура Команда1НаСервере()
Определения = Новый WSОпределения("file://C:/WSDL&XSD/wsdl/ChangePasswordEIService.wsdl");
КонецПроцедуры
Я могу привести полный текст файла wsdl и xsd, но мне кажется, что смысла нет, потому что у меня не решена принципиальная задача:
как подключиться в веб-сервису, если у меня есть файл wsdl в локальной файловой системе?
Как можно решить проблему?
(14) Не помогло.
Я склоняюсь к мысли, что формат предоставленных мне wsdl файлов не отвечает стандартам. Возможно поэтому мне не предоставили ссылку а прислали именно файлы. Перелопачивая интернет, я прочитал, что 1С очень строго относится к тому, чтобы файл wsdl был корректным и соответствовал стандартам.
(4) Где его указать?
Там нет никуда обращения.
Я пытаюсь просто создать ссылку типа WSОпределения.
Я не могу загрузить сам файл wsdl, который лежит у меня на диске в локальной файловой системе.
(7) скорее всего, файл лежит на клиенте, а читаете на сервере, проверьте.
Я вот так извращался:
ДД = ПолучитьWSDLКакДвоичныеДанные(АдресWSDL);
ПрочитатьОтвет(Результат.ПолучитьТелоКакСтроку(),ПараметрыВыполнения, ДД);
&НаСервере
Процедура ПрочитатьОтвет(СтрокаОтвета,ПараметрыВыполнения, ДД) Экспорт
//Осипов 2024-04-01 чтобы из файла wsdl получать
//Определение = Новый WSОпределения("http://"+СокрЛП(ГИИС_Сервер.ЗаполнитьСтруктуруПодключенияСервер(Объект.Организация).Адрес)+":"+СокрЛП(ГИИС_Сервер.ЗаполнитьСтруктуруПодключенияСервер(Объект.Организация).Порт)+"/ws/v3/exchange3.wsdl");
ИмяВФ = ПолучитьИмяВременногоФайла("wsdl");
ДД.Записать(ИмяВФ);
Определение = Новый WSОпределения(ИмяВФ);
ЧтениеXML = Новый ЧтениеXML;
...
КонецПроцедуры