用 C 实现 WebService
http://tech.ddvip.com 2007年03月17日 社区交流
本文详细介绍用 C 实现 WebService
shell>make
shell>./addserver 8888如果终端打印出“Socket connection successful: master socket = 3”,那么你的 server 已经在前台 run 起来了,应该是值得高兴的!打开IE,键入http://localhost:8888,显示XML,服务已...〕Socket connection successful: slave socket = 4”,表示服务接收到了一次soap的连接。
5、让我们再来写个客户端(这个只是将soap的客户端函数封装一下,具体的调用参见下面的addtest.c),创建文件addclient.c,内容如下:
#include "addStub.h"
#include "add.nsmap"
/**
* 传入参数:server:server的地址
* num1,num2:需要相加的数
* 传出参数:sum:num1和num2相加的结果
* 返回值:0为成功,其他为失败
*/
int add( const char* server, int num1, int num2, int *sum )
{
struct soap add_soap;
int result = 0;
soap_init(&add_soap);
soap_set_namespaces(&add_soap, add_namespaces);
// 该函数是客户端调用的主要函数,后面几个参数和add.h中声明的一样,前面多了3个参数,
// 函数名是接口函数名ns__add前面加上soap_call_
soap_call_ns__add( &add_soap, server, "", num1, num2, sum );
if(add_soap.error)
{
printf("soap error:%d,%s,%s
",
add_soap.error,
*soap_faultcode(&add_soap),
*soap_faultstring(&add_soap) );
result = add_soap.error;
}
soap_end(&add_soap);
soap_done(&add_soap);
return result;
}6、我们最终写一个可以运行的客户端调用程序,创建文件addtest.c,内容如下:
作者:求是赤子 责编:豆豆技术应用
正在加载评论...