下载地址:http://sourceforge.net/projects/gsoap2
官方网站:http://genivia.com/Products/gsoap/index.html
一、服务器端
1、首先编写 add.h文件:
2、用gsoap/bin目录下的soapcpp2.exe程序,生成一些文件。
方法:用cmd执行soapcpp2.exe add.h。
soapcpp2.exe可以带参数执行,具体执行soapcpp2.exe -h查看。(示例:http://www.cppprog.com/2009/0723/138_2.html)
在这个目录下会自动生成许多将来有用的文件,如add.namap,soapH.h,soapC.cpp,soapClient.cpp,soapServer.cpp等文件。
3、新建一个win32控制台工程,加入wsock32.lib库,将刚才生成的那些文件添加到工程中。
然后编写addserver.cpp主程序:
4、编译
编译这个程序,会提示错误,将gsoap_win32目录下stdsoap2.cpp,stdsoap2.h文件加入工程,重新编译如果还有错误,可能是你将add.h生成的文件添加入工程出错的原因。
实际上在编写server程序时,无须带Client的那些文件,还有带Lib的文件也无须添加到工程中。
调试成功之后,在cmd中执行gsoap.exe文件,并设定第一个参数为4567。在IE中输入http://localhost:4567,如果显示xml页面,说明程序已经启动。
二、客户端
1、 客户端程序代码如下:
(输出:1+2=3)
2、客户端程序既可以新建一个新的win32控制台程序,将刚才生成的nsmap,soapH.h,soapClient.h等文件加入工程,编译既可。
网上一段话解释soap我觉得不错
【我对SOAP的理解是这样的:以http协议为基本的通信协议,以xml文件形式请求远程服务http://blog.chinaunix.net/u1/55091/showart_431009.html】
20100130
nsmap文件里会有 命名空间等内容 我也不是很清楚做什么用的
{"php", "http://tempuri.org/php.xsd", NULL, NULL},
{"ns1", "http://tempuri.org/ns1.xsd", NULL, NULL},
这些之类的,反正连不上就多看看 就能连上了