据我所知,SOAP和REST只是通信协议。
当编写Web服务时,它可以通过SOAP或REST或两者同时访问,还是仅限于特定的Web服务?
WSDL是Web服务的API规范,独立于使用SOAP还是REST。
为了回答这个问题,我们需要知道什么是WSDL、SOAP和REST。
1) Web服务描述语言(WSDL
)是一种基于XML
的接口定义语言,用于描述Web服务提供的功能。
2) SOAP
(最初的简单对象访问协议)是一种协议规范,用于在计算机网络中实现Web服务中的结构化信息交换。
3) WSDL
通常与SOAP
和XML Schema
结合使用,以在Internet上提供Web服务。连接到Web服务的客户端程序可以读取WSDL
文件以确定服务器上有哪些操作可用。使用XML Schema
将使用的任何特殊数据类型嵌入WSDL文件中。然后,客户端可以使用SOAP
以实际调用WSDL
文件中列出的操作之一,例如通过HTTP
使用XML
。
4) 表征状态转移(REST
)或RESTful
Web服务是提供Internet计算机系统之间互操作性的一种方式。REST
兼容的Web服务允许请求系统使用统一和预定义的无状态操作访问和操作Web资源的文本表示形式。存在其他形式的Web服务,它们公开其自己的任意操作集,例如WSDL
和SOAP
。
当编写Web服务时,它可以通过SOAP或REST或两者都访问,还是特定于Web服务?
这取决于Web服务的实现方式。
WSDL是Web服务的API规范吗?它是否独立于您使用SOAP或REST?
通常您选择使用WSDL和SOAP或REST或其他类似json-rpc的东西。