ISA 对 WSDL 中包含的架构 URL 进行了错误翻译

ISA 对 WSDL 中包含的架构 URL 进行了错误翻译

我在 ISA 服务器后面有一个 WSDL。WSDL 包含一个架构 <xsd:include schemaLocation="myschema.xsd"/>

但是,当通过 ISA 访问时,某些隐式映射会将服务器名称更改为应用程序名称“TEST”,如下面的 xsd:include 行所示

<xsd:include schemaLocation="http://TEST:8345/myservice?xsd=myschema.xsd"/>

可以使用以下 URL 访问 WSDL - https://services.mycompany.com/myservice?wsdl

可以使用以下 URL 访问该架构 - https://services.mycompany.com/myservice?xsd=myschema.xsd

问题在于 WSDL 中模式的翻译 URL 不正确。需要

<xsd:include schemaLocation="https://services.mycompany.com/myservice?xsd=myschema.xsd"/>

代替

<xsd:include schemaLocation="http://TEST:8345/myservice?xsd=myschema.xsd"/>

ISA 人员是否需要为此设置一些 ISA 规则(用于替换 WSDL 中的 URL)?他需要创建/更改什么规则?

答案1

您需要排除 XML 的翻译。有几种方法可以做到这一点,但这是我的方法。转到防火墙策略 > 工具箱 > 内容类型 > HTML 文档 > 内容类型。从可用类型列表中选择 text/xml 并点击添加。应用您的更改并重试。

相关内容