我们需要向客户端发送特定的名称空间别名,并且必须使用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中重命名别名?
答案 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。转换不会保留您的前缀,这意味着您必须使用它。