1.下载 gsoap-2.8 并解压
wsdl2h.exe :生成指向web service网站的链头头文件
soapcpp2.exe : 根据链头生成调用函数cpp及相关头文件
解压后打开gsoap-2.8\gsoap\bin\win32,有两个文件so2apcpp2.exe && wsdl2h.exe
2.选择平台
打开cmd命令提示符,打开gsoap-2.8\gsoap\bin\win32目录,然后用盘符切换当前路径。
cd D:\QQDownload\gsoap\gsoap-2.8\gsoap\bin\win32
D:
注:linux386是linux系统使用;macosx是Mac系统使用;win32是Win系统使用
3.下面以天气Weather Web Service为例
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
调用wsdl2h.exe生成链头文件,cmd中输入
wsdl2h –o WeatherService.h http://www.webxml.com.cn/WebServices/Weath
erService.asmx?WSDL
wsdl2h.exe的参数如下:
-o 文件名,指定输出头文件
-n 名空间前缀 代替默认的ns
-c 产生纯C代码,否则是C++代码
-s 不要使用STL代码
-t 文件名,指定type map文件,默认为typemap.dat
-e 禁止为enum成员加上名空间前缀
使用形式 是 wsdl2h [-命令] [文件名] [http链接]
成功后会生成一个名为WeatherService.h的文件,大小几十到几百kb不等。
如果文件大小是0KB,就是生成指令输错了,检查下。
出现error也是生成指令输错了,检查下。
链接末尾的?WSDL是必须输入的,指向xml描述页面。
4.修改文件
切换文件目录gsoap-2.8\gsoap\import,将import目录中这几个文件拷贝到gsoap\gsoap-2.8\gsoap\bin\win32当中,soapcpp2.exe需要用。
运行指令soapcpp2.exe WeatherService.h, 将生产cpp和xml文件
win32目录下生成的文件
5.程序案例
打开vs2015, 新建Win32控制台应用程序ConsoleApplication1。
将gsoap\gsoap-2.8\gsoap\bin\win32中的 soapH.h & soapStub.h & soapC.cpp & soapClient.cpp & WeatherServiceSoap.nsmap拷贝到ConsoleApplication1的目录下。
打开目录gsoap\gsoap-2.8\gsoap,将stdsoap2.h & stdsoap2.cpp也拷贝到ConsoleApplication1的目录下。
soap\gsoap-2.8\gsoap\bin\win32中文件
gsoap-2.8\gsoap中文件 拷到工程:
设置soapC.cpp & soapClient.cpp & stdsoap2.cpp三个文件,去掉预编译头属性
6.结果