SOAP是一个简单对象访问协议,它可看成HTTP与XML的结合,其中XML部分是作为HTTP报文的实体主体部分。
在iOS中使用SOAP,需要我们自己组装XML格式的字符串,当XML字符串比较长的时候回变得很麻烦。另外,我们在写XML格式的字符串时也要经常使用转义字符“\”
什么是WebService 从表面看 Webservice就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API.这就是说,你能够用变成的方法通过web来调用这个应用程序。
1、WebService都是放在Web服务器后面的,客户生成的SOAP请求会标嵌入在一个HTTP POST请求中发送到Web服务器来。
2、Web服务器再把这些请求转发给Web service请求处理器,这些请求处理器的作用在于,解析收到的soap请求,调用Web service,然后再生成相应的SOAP应答。
3、Web服务器得到SOAP应答后,会再通过HTTP应答的方式把它送回到客户端。
目前WebService的协议主要有SOAP1.0、SOAP1.1、SOAP1.2.SOAP协议的版本会影响请求是否成功。
HTTP在TCP/IP上通信。HTTP客户机使用TCP连接到HTTP服务器,在建立连接之后,客户机可向服务器发送HTTP请求消息。SOAP中HTTP请求消息:
POST /appserver/UserService.asmx HTTP/1.1 说明了SOAP请求方式是 HTTP POST请求
Host: 192.168.3.93 说明主机地址是:192.168.3.93 ,我们的接口地址是:http://192.168.3.93/appserver/UserService.asmx
Content-Type: application/soap+xml; charset=utf-8 说明了消息的MIME类型,以及用于请求或响应的XML主体的字符编码(可选)
Content-Length:length SOAP请求或响应主体的字节数
随后,服务器会处理此请求,然后向客户端发送一个HTTP响应,此响应包括
200 OK
Content-Type: text/plain
Content-Length: 200
在上面的例子中,服务器返回了一个 200 的状态代码。这是 HTTP 的标准成功代码。
假如服务器无法对请求进行解码,它可能会返回类似这样的信息:
400 Bad Request
Content-Length: 0
一条SOAP消息就是一个普通的XML文档,包括下列元素:
Envelope元素 必需 标识XML文档是一条SOAP消息
Header元素 可选 包含头部信息
Body元素 必需 包含所有调用和响应信息
Fault元素 可选 提供有关在处理此消息时所发生的错误信息
SOAP方法是指SOAP编码规则的HTTP请求/响应。
HTTP + XML = SOAP
题目:准备传入的参数,使用城市编码和签证类型,查询签证须知
下面是一个soap请求
本文参考以下文章:
SOAP web service用AFNetWorking实现请求 - 西北风的专栏
- 博客频道 - CSDN.NET