如何防止 Oracle Service Bus (OSB) 上的服务将 xmlns prefix/aliases 更改为随机内容?

How to prevent service on Oracle Service Bus (OSB) from changing xmlns prefix/aliases to random things?

我们要求向客户端发送特定名称space 别名,并且必须使用 OSB。代理服务更改了我们精心设计的公开 WSDL 的名称 space 别名。我找不到阻止 OSB 这样做的选项。

例如

对于namespacehttp://schemas.xmlsoap.org/wsdl/,原来的wsdl start有

    <soap:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/"/>

但是 OSB 像这样公开 WSDL

    <WL5G3N0:definitions xmlns:WL5G3N0="http://schemas.xmlsoap.org/wsdl/"/>

原始别名 "soap" 被 OSB 自动更改为 "WL5G3N0" 并导致出现问题。许多引用的 XSD 文件也发生了相同类型的重命名。

我们如何防止在 OSB 中重命名别名?

我从 Oracle 社区论坛得到了答案,我将关闭此。似乎对 OSB 很了解的人说他没有关闭自动重命名的已知方法。

看来答案是"No, you cannot turn off the automatic renaming of xmlns prefix in OSB"

Support.oracle.com 回复了我的 SR 3-10633538571,他们正式确认不能在 OSB 11g 中禁用自动重命名前缀。

服务总线获取您的 WSDL(称为资源 WSDL)并通过替换原始 WSDL 的端口、服务和其他部分从中创建有效的 WSDL。

命名空间前缀的重命名是此转换的一部分。您无法避免创建有效的 WSDL。转换不会保留您的前缀,这意味着您必须忍受它。