我们将一个代理服务的版本存储在WSDL文档中 - 在元素/ definitions / documentation中:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://mynamespace.cz/1.0"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
name="MyService" targetNamespace="ttp://mynamespace.cz/1.0">
<wsdl:documentation>
<version>2.0</version>
</wsdl:documentation>
我可以将服务部署到Service Bus 12c(12.2.1),服务正常。当我从Service Bus控制台(所谓的资源WSDL)显示WSDL时,WSDL就像我期望的那样,包括:
<wsdl:documentation>
<version>2.0</version>
</wsdl:documentation>
但是,如果我通过URL获得有效的WSDL(由资源WSDL的Service Bus创建): http://myserver:port/sbresource?PROXY/MyService/MyService
元素文档被覆盖:
<WL5G3N0:documentation>
2.0
</WL5G3N0:documentation>
元素版本完全缺失,但其内容仍然存在。
您能否告知为何会发生这种情况以及是否有可用的解决方法?我们需要保留元素&#34;版本&#34;,以便解析器能够检索服务版本。
我的目标是为服务使用者提供一个易于使用的解决方案,即使用单个WSDL作为信息源,并让XPDL轻松解析尽可能简单的WSDL。
答案 0 :(得分:1)
我认为OSB在生成有效的WSDL时会采取捷径,而文档元素中的任何内容都会得到data()
&#39; d。
作为替代方案,如果有效的WSDL基于accessed the design-time WSDL,它会有所帮助吗?
e.g。 http://host:port/sbresource?WSDL/project_path/wsdl_name