Имя: Пароль:
1C
1С v8
WEB сервис через прокси
0 SuperMario
 
29.08.21
11:11
Всем доброго времени суток!
При загрузке описания WS-ссылки по адресу http://10.10.ХХХ.ХХХ:10101/IntegrationService/IntegrationService.asmx?WSDL
не удается подключиться к сервису СоздатьWSПрокси дет ошибку о несуществовании IntegrationService. Причина в том, что адрес http://10.10.ХХХ.ХХХ:10101 не реальный , а адрес прокси-сервера.

Но т.к. в декларации явно прописано расположение

<wsdl:service name="IntegrationService">
<wsdl:port name="IntegrationServiceSoap" binding="tns:IntegrationServiceSoap">
<soap:address location="http://192.168.0.1:10101/IntegrationService/IntegrationService.asmx"/>
</wsdl:port>
<wsdl:port name="IntegrationServiceSoap12" binding="tns:IntegrationServiceSoap12">
<soap12:address location="http://192.168.0.1:10101/IntegrationService/IntegrationService.asmx"/>
</wsdl:port>
</wsdl:service>

то 1С не может по этому адресу подключиться.

Временно вышел из положения: сохранил  описание в лок. файл xml, исправил адреса и загрузил схему в Ws-ссылки.
Все работает, но таких адресов будет несколько и разных.

Соб-но вопрос: как то можно не прибегая к изменению адреса локации сервисов подключиться?

Пробовал изменить адрес при создании WSсервиса
Парс.Определение.Сервисы[0].ТочкиПодключения[0].Местоположение = "http://10.70.XXX.XXX:10101/IntegrationService/IntegrationService.asmx";

но он только на чтение.
1 SuperMario
 
30.08.21
10:43
up
2 arsik
 
гуру
30.08.21
12:03
8ка еще сырая.
3 Garykom
 
гуру
30.08.21
12:13
(2) это не 8-ка сырая а недопрограммисты
4 Garykom
 
гуру
30.08.21
12:13
(0) WSОпределения (WSDefinitions)
Из WSDL файла
Синтаксис:
Новый WSОпределения(<МестоположениеWSDL>, <ИмяПользователя>, <Пароль>, <ИнтернетПрокси>, <Таймаут>, <ЗащищенноеСоединение>, <ИспользоватьАутентификациюОС>)
Параметры:
<МестоположениеWSDL> (обязательный)
Тип: Строка.
Местоположение WSDL-файла, откуда будет получено определение веб-сервисов.
Местоположение указывается в виде строки. Для внешнего ресурса, работа с которым осуществляется по протоколу HTTP/HTTPS, строка автоматически кодируется под требования стандарта RFC 3986, с учетом особенностей:
не кодируются разделители сегментов пути,
если адрес ресурса содержит символ "%", то считается, что после него указан код закодированного символа и повторно он не кодируется.
Недопустимые символы, не являющиеся специальными символами URI, будут автоматически кодированы.
Примеры:
Обращение к ресурсу по адресу "/example%segment":
/example%25segment

Обращение к ресурсу "/example#segment", содержащему символ "#", в качестве сегмента, а не разделителя сегмента пути:
/example%23segment

Обращение к ресурсу "/пример"("/%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80"):
"/пример"

или
"/%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80"
<ИмяПользователя> (необязательный)
Тип: Строка.
Имя пользователя, которое будет использоваться для аутентификации при получении определений веб-сервисов.
<Пароль> (необязательный)
Тип: Строка.
Пароль пользователя, который будет использоваться для аутентификации при получении определений веб-сервисов.
<ИнтернетПрокси> (необязательный)
Тип: ИнтернетПрокси.
Содержит объект ИнтернетПрокси, используемый для загрузки WSDL документа по протоколу HTTP.
Если не указан, то используются настройки прокси по умолчанию.
Значение по умолчанию: Неопределено.
<Таймаут> (необязательный)
Тип: Число.
Таймаут соединения, осуществляемого для загрузки WSDL описания веб-сервиса, в секундах. 0 - не устанавливать таймаут.
Значение по умолчанию: 0.
<ЗащищенноеСоединение> (необязательный)
Тип: ЗащищенноеСоединениеOpenSSL, Неопределено.
Объект защищенного соединения для осуществления HTTPS соединения для загрузки WSDL описания веб-сервиса.
Значение по умолчанию: Неопределено.
<ИспользоватьАутентификациюОС> (необязательный)
Тип: Булево.
Включает использование аутентификации NTLM или Negotiate на сервере.
Значение по умолчанию: Ложь.
Описание:
Создает определение веб-сервисов из WSDL-файла.
Если используемый WSDL-файл некорректен, будет вызвано исключение.
Использование в версии:
Доступен, начиная с версии 8.1.
     Методическая информация
5 Garykom
 
гуру
30.08.21
12:14
(4)+ если не понял то можно WSDL скачать, записать на диск, изменить и подсунуть куда надо
6 Garykom
 
гуру
30.08.21
12:15
Определения = Новый WSОпределения("");
Прокси = Новый WSПрокси(Определения, "", "", "");
7 SuperMario
 
31.08.21
10:09
(5) внимательней прочитайте в (0)

Временно вышел из положения: сохранил  описание в лок. файл xml, исправил адреса и загрузил схему в Ws-ссылки.
8 Garykom
 
гуру
31.08.21
10:14
(7) ну так делай это программно кодом для "таких адресов будет несколько и разных"
9 Garykom
 
гуру
31.08.21
10:15
а не вручную

короче или прокси убрать или исправить wsdl или исправлять его ручками или программно