一、 前言
之前的文章中介绍了使用C++实现Webservice的服务端和客户端的通讯,这里再介绍一下如何调用第三方的Webservice服务。
二、 调用Webservice
假如有一个第三方的Webservice地址:http://localhost:2488/Service1.asmx,对应的wsdl文件地址为:
http://localhost:2488/Service1.asmx?WSDL。在写客户端的代码之前,要利用wsdl2h.exe和soapcpp2.exe这
两个工具和wsdl文件生成一些必要的cpp和头文件。
首先运行,cmd,然后打开gsoap\bin\win32,运行wsdl2h.exe
用法:
wsdl2h -o 头文件名 WSDL文件名或URL 例子:
wsdl2h -o test.h http://localhost:2488/Service1.asmx?WSDL可以看到win32里面多了一个test.h文件。
win32里面多了一个头文件test.h之后,在命令行里面运行soapcpp2.exe,
用法:soapcpp2.exe 头文件名
soapcpp2常用选项
-C 仅生成客户端代码
-S 仅生成服务器端代码
-L 不要产生soapClientLib.c和soapServerLib.c文件
-c 产生纯C代码,否则是C++代码(与头文件有关)
-I 指定import路径(见上文)
-x 不要产生XML示例