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

时间:2015-04-22 18:44:42

标签: xsd wsdl osb

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

例如

对于名称空间http://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中重命名别名?

3 个答案:

答案 0 :(得分:0)

我从Oracle社区论坛得到了答案,我正在关闭此。一个似乎对OSB有所了解的人说他没有办法让他自动重命名。

似乎答案是&#34;不,你不能关闭OSB&#34中的xmlns前缀的自动重命名;

答案 1 :(得分:0)

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

答案 2 :(得分:0)

Service Bus采用您的WSDL(称为资源WSDL),并通过替换原始WSDL的端口,服务和其他部分,从中创建有效的WSDL。

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

相关问题