关于VC++与webservice例子

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.结果

你可能感兴趣的:(webservice,VC++)