新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式环境下Web Service技术的实现

嵌入式环境下Web Service技术的实现

作者: 时间:2012-03-21 来源:网络 收藏

SOAP在HTTP上的远程调用的具体过程大致如下:客户端通过SOAP工具生成基于XML文档的SOAP消息,在该SOAP消息里包含有客户请求的服务名称及调用服务程序所需的参数,并使用HTTPPOST方法通过网络向应用程序所在的服务端发送SOAP请求;另一方面,当服务端接到HTTP信息之后,又从中提取出SOAP消息,启动XML文档解析器进行解析,获取客户需要调用的方法名及其参数,以此来调用相应的服务程序,之后以类似的方法将运行结果打包成SOAP消息返回给客户,完成应用程序的远程调用。
2.2.1 HTTP协议的简单
HTTP是基于请求/响应模式的协议,客户端的通信过程一般分为4个步骤:建立连接、发送请求消息、接收响应信息、关闭连接。HTTP定义了众多请求方法(Method),如GET,POST,HEAD,DELETE等,由于SOAP主要使用POST方法来发送请求,因此HTTP的集中在POST方法上。SOAP协议中规定POST请求至少包含两个HTTP头,Content-Type(定义MIME类型)和Content-Length(定义消息的长度)。
例如:
POST/test HTTP/1.1
Content-Type:application/soap+xml;
Content-Length:250
如图2所示,程序利用1wIP提供的API创建一个监听连接,绑定到HTTP的80号熟知端口上,当接收到POST请求时检查必要的HTTP头,之后开始接收HTTP正文(SOAP请求),并将接收到的请求存放在预先开辟的缓冲区中,再交由XML解析器处理。为了节省资源,将SOAP消息解析和HTTP接收放在同一线程,一次只处理一个SOAP请求,因此整个解析过程只需要一个缓冲区。同时开启连接超时机制,如果客户端连接后长时间无动作,接收程序将切断连接,避免后续请求无法得到响应。

本文引用地址:https://www.eepw.com.cn/article/149382.htm

d.JPG

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

c++相关文章:c++教程




评论


相关推荐

技术专区

关闭