使用gsoap生成客户端代码

网络上提供一些免费的接口资源,比如天气预报、列车时刻表以及股票信息等服务,而这些接口使用的是Web Service规范,若要自己编写协议进行通信比较费劲,我们可以使用gsoap工具来生成Web Service客户端协议组装及发送代码,而我们只需要填充查询数据就能得到我们想要的内容。

gsoap可以在http://gsoap2.sourceforge.net/上下载到,使用步骤:

1.下载gsoap文件后解压,在gsoap/bin/win32目录下有soapcpp2.exe和wsdl2h.exe两个文件。

2.将这两个文件复制到gsoap目录中,然后使用wsdl2h命令生成.h文件,例如下面的命令是生成天气预报客户端代码


wsdl2h -o weather.h http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl

3.扫行完上面的命令后,会在gsoap目录中生成相应的.h文件,再使用soapcpp2命令生成.cpp文件,-C的意思是生成客户端代码,生成服务端代码是使用-S,例如将上面的weahter.h生成.cpp文件:


soapcpp2 -C -x -i -I "./import" -L?weather.h

5.然后将生成的.cpp文件及.h文件都复制到工程目录中进行编译

注意:在上面使用soapcpp2命令的时候,默认是生成第一版的协议,如果加上-2则生成第二版协议,若发现协议执行错误,不妨试试加上-2生成代码。

Comments are closed.