WSDL文档和WSDL契约之间的区别

时间:2012-03-22 05:10:21

标签: web-services wsdl

我相信它们是相同的,XML格式的文件,如下例所示:

<definitions name="HelloService"
     targetNamespace="http://www.examples.com/wsdl/HelloService.wsdl"
     xmlns="http://schemas.xmlsoap.org/wsdl/"
     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
     xmlns:tns="http://www.examples.com/wsdl/HelloService.wsdl"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  //other code

</definitions>

WSDL文档和WSDL合同之间是否存在差异?

3 个答案:

答案 0 :(得分:5)

差异很微妙。一个引用WSDL本身(文档),另一个引用WSDL表示的内容(契约)。

WSDL是一种用于描述Web服务的XML格式。 XML内容(保存在文件中或不保存)表示WSDL document。从广义上讲,文档代表了一些可用于某些事情的结构化信息(例如,您可以拥有Word文档,PDF文档,XML文档和...... WSDL文档)。

WSDL文档的内容定义了Web服务的契约:它具有哪些操作,如何调用它们,它需要什么参数,参数具有哪些类型等等。基本上它表示contract that you must follow能够成功地与Web服务进行交互。

答案 1 :(得分:2)

WSDL契约是一个概念,属于WebService“契约第一法”的概念。 作为具体表示的xml表示称为WSDL文档。它使用预定义的符号定义所有细节。

答案 2 :(得分:0)

没有WSDL合同这样的东西。有一个Web服务契约,WSDL是其技术规范的一部分。还有其他规范可以作为Web服务合同的一部分,例如WS-I的基本配置文件或基本安全配置文件,它们不直接反映在WSDL中,而是定义了WSDL实例的方式。这意味着您可以定义完全符合WSDL标准的WSDL,但会破坏Web服务合同,例如不符合基本安全配置文件。