常见Web服务协议与技术介绍
1. XML - RPC与SOAP
在Web服务领域,XML - RPC是一种较早的远程过程调用协议。当使用XML - RPC时,客户端向服务器发送HTTP请求以执行远程过程调用,请求可包含多个参数,服务器则返回单个响应。XML - RPC协议为参数和结果定义了几种数据类型。
然而,XML - RPC不再被积极维护,目前也没有现代的C++实现标准。若要在现代代码中与XML - RPC Web服务进行交互,gSOAP工具包是个不错的选择,它支持XML - RPC及其他XML Web服务标准。有人批评XML - RPC,认为它相比发送普通XML请求和响应并没有提供更多价值,还使消息显著增大。随着标准的发展,XML - RPC演变成了SOAP。
SOAP最初代表简单对象访问协议(Simple Object Access Protocol),不过在1.2版本中不再使用该缩写。它由三部分组成:
- SOAP信封(SOAP Envelope) :定义消息的结构和处理规则。
- SOAP头规则(SOAP Header) :定义特定于应用程序的数据类型,可选。
- SOAP体(SOAP Body) :携带远程过程调用和响应。
以下是一个使用HTTP作为传输协议的SOAP消息示例:
POST /FindMerchants HTTP/1.1
Host: www.domifair.org
Content-Type: applicatio