基于soap协议的开发模型(转)

xiaoxiao2021-02-28  106

3.编写具体的SOAP消息处理代码 上图中的协议转换模块用于接收, 解析soap消息, 然后转换为内部约定好的消息结构。该模块主要有三个功能: 1, 接收SOAP消息 2, 处理SOAP消息 3, 解析SOAP消息并进行组装 下面是具体说明。 (1)接收SOAP消息

soap_init(&soap);//初始化soap m = soap_bind(&soap, IpAdr, Port, BACKLOG);//绑定IP和端口号 while(!soap_valid_socket(m)) //循环直到服务套接字合法 { m = soap_bind(&soap, IpAdr, Port, BACKLOG); } ...... for(; ;) { s = soap_accept(&soap);//接收到soap消息 if(!soap_valid_socket(s))//对错误消息的处理 { ...... } //将接收到的soap消息放入队列工处理 EnQueue(data); }

(2)处理SOAP消息 该流程的伪代码如下:

“` for(; ;) //用一个死循环来不停的处理soap消息 { DeQueue(&data); //将soap消息从队列中取出来处理 …. soap_set_namespace(tsoap, namespaces);//设置命名空间 soap_server(tsoap);//具体处理SOAP消息的函数 soap_destroy(tsoap);//处理完成后销毁该SOAP消息 soap_end(tsop);//结束本次循环 } (3)解析SOAP消息并进行组装 这一步需要我们实现soapTtub.h文件中的_ns1_CreateUser函数。 这个流程因为具体业务不同而不同,在此不再具体说明。 以上三个流程中用的函数均为我们利用wsdl文件生成的SOAP代码框架中已经封装好了的函数。

转载请注明原文地址: https://www.6miu.com/read-41736.html

最新回复(0)