Имя: Пароль:
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 или исправлять его ручками или программно
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn