У меня есть WSDL за ISA-сервером. WSDL включает схему <xsd:include schemaLocation="myschema.xsd"/>
Однако при доступе через ISA некоторое неявное сопоставление меняет имя сервера на имя приложения «TEST», как показано в строке xsd: include ниже
<xsd:include schemaLocation="http://TEST:8345/myservice?xsd=myschema.xsd"/>
WSDL доступен по URL-адресу - https://services.mycompany.com/myservice?wsdl
Схема доступна по URL-адресу - https://services.mycompany.com/myservice?xsd=myschema.xsd
Проблема в том, что переведенный URL-адрес схемы в WSDL неверен. Это должно быть
<xsd:include schemaLocation="https://services.mycompany.com/myservice?xsd=myschema.xsd"/>
вместо того
<xsd:include schemaLocation="http://TEST:8345/myservice?xsd=myschema.xsd"/>
Нужно ли парню ISA для этого установить какие-то правила ISA (для замены URL в WSDL)? Какое правило ему нужно создать / изменить?
Вам нужно исключить XML из перевода. Есть несколько способов сделать это, но я заставил свой работать. Перейдите в Политика брандмауэра> Панель инструментов> Типы контента> Документы HTML> Типы контента. Выберите text / xml из списка доступных типов и нажмите «Добавить». Примените изменения и попробуйте еще раз.