如何查找wsdl版本
How to find wsdl version
任何人都可以建议我如何找到我的 Web 服务公开的 wsdl 版本 -
来自 wsdl 的片段 -
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"
xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"
xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy"
xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://tempuri.org/"
xmlns:wsa10="http://www.w3.org/2005/08/addressing"
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
name="XXXService" targetNamespace="http://tempuri.org/">
我浏览了这些网页链接 -
https://coderanch.com/t/502335/certification/determine-wsdl-version
根据上面 post 是 1.2
而看着这个 -
https://www.soapui.org/docs/soap-and-wsdl/working-with-wsdls/
SoapUI 文档说“SoapUI 支持 WSDL 规范的 1.1 版本”。
因为我的 wsdl 在 SoapUI 中成功加载 - 它可以是版本 1.1 吗?
所以,我不确定我的 Web 服务公开的是哪个版本的 wsdl (1.1/1.2/2.0)。
有什么建议吗
有两个 WSDL 版本:1.1 和 2.0。在 Wikipedia page for WSDL.
上可以找到这些版本的历史
该页面上还有一张有用的图片,说明了它们之间的差异以及如何识别您正在处理的版本:
最简单的方法是查看 XML 中的根元素:
- 如果它被称为
<definitions>
那么它就是 WSDL 1.1;
- 如果它被称为
<description>
那么它就是一个 WSDL 2.0;
您会发现那里的大多数 WSDL 都是 1.1 版,但如果技术较新,也有可能检索到 WSDL 2.0。例如,请参阅 this post for more details 上关于检索 SOAP Web 服务的 WSDL 的一些约定的答案(如果它提供的话)。
任何人都可以建议我如何找到我的 Web 服务公开的 wsdl 版本 -
来自 wsdl 的片段 -
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"
xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex"
xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy"
xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://tempuri.org/"
xmlns:wsa10="http://www.w3.org/2005/08/addressing"
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
name="XXXService" targetNamespace="http://tempuri.org/">
我浏览了这些网页链接 -
https://coderanch.com/t/502335/certification/determine-wsdl-version
根据上面 post 是 1.2
而看着这个 -
https://www.soapui.org/docs/soap-and-wsdl/working-with-wsdls/
SoapUI 文档说“SoapUI 支持 WSDL 规范的 1.1 版本”。
因为我的 wsdl 在 SoapUI 中成功加载 - 它可以是版本 1.1 吗?
所以,我不确定我的 Web 服务公开的是哪个版本的 wsdl (1.1/1.2/2.0)。
有什么建议吗
有两个 WSDL 版本:1.1 和 2.0。在 Wikipedia page for WSDL.
上可以找到这些版本的历史该页面上还有一张有用的图片,说明了它们之间的差异以及如何识别您正在处理的版本:
最简单的方法是查看 XML 中的根元素:
- 如果它被称为
<definitions>
那么它就是 WSDL 1.1; - 如果它被称为
<description>
那么它就是一个 WSDL 2.0;
您会发现那里的大多数 WSDL 都是 1.1 版,但如果技术较新,也有可能检索到 WSDL 2.0。例如,请参阅 this post for more details 上关于检索 SOAP Web 服务的 WSDL 的一些约定的答案(如果它提供的话)。