Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web services WSDL文档和WSDL契约之间的区别_Web Services_Wsdl - Fatal编程技术网

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

Web services WSDL文档和WSDL契约之间的区别,web-services,wsdl,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

我相信它们是一样的,一个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契约之间有区别吗?

区别很细微。一个是指WSDL本身(文档),另一个是指WSDL表示的内容(契约)

WSDL是一种用于描述web服务的XML格式。XML内容(是否保存在文件中)表示WSDL。从很大意义上讲,文档表示一些结构化信息,您可以将其用于某些事情(例如,您可以有Word文档、PDF文档、XML文档和……WSDL文档)


WSDL文档的内容定义了web服务的契约:它有什么操作、必须如何调用它们、它需要什么参数、参数有什么类型等。基本上,它声明了能够与web服务成功交互的契约。

WSDL契约是一个概念,属于web服务的概念“合同优先法”。
xml表示是一种具体的表示形式,称为WSDL文档。它使用预定义的符号定义所有细节。

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