您的位置:首页 > 其它

WebService学习笔记3

2010-06-23 22:21 162 查看
在开发客户端程序前,需要使用前面提到的两个工具生成一些必要的文件。

首先使用wsdl2h生成头文件。用法:wsdl2h -o 头文件名 WSDL文件名或URL这时会生成一个头文件。(网上很多是wsdl2h -c...,尝试后发现有问题)

接下来使用soapcpp2生成相应源码。用法:soapcpp2 头文件名
soapcpp2常用选项

-C:仅生成客户端代码

-S:仅生成服务端代码

-L:不要产生soapClientLib.c和soapServerLib.c文件

-c:产生纯C代码,否则是C++代码(与头文件有关)

-I:指定import路径

-x:不要产生XML示例文件

-i:生成C++包装,客户端为*Proxy.h(.cpp),服务端为*Service.h(.cpp)

注:如果报错:Critical error: #import: Cannot open file "stlvector.h" for reading.
Hint: use option -I (you can define multiple paths separated with ';')则要要使用-I选项指定gSOAP的import文件路径,这个路径是"$gsoap\share\gsoap\import"(linux,gSOAP2.7):
soapcpp2 -C test.h -I /usr/local/gSOAP/share/gsoap/import

将生成的nsmap、h和cpp文件以及gSOAP安装目录下的stdsoap2.h和stdsoap2.cpp共7个文件添加到客户端工程中,再添加代码:
#include "*.nsmap"

到这里,编写客户端之前的准备工作都已经完成了,剩下的就是调用服务端的web method进行客户端编程了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: