gsoap常见使用方法

        网上有很多gsoap客户端或者服务器端最常见的例子,在这里我就不多讲了,主要讲解一下不太常见的一些内容,自己琢磨出来的一些东西,供给大家参考一下。

        通过wsdl2h -h可以查看wsdl2h命令的一些option,而最常用的一些有如下几个:

-s 命令意味着产生的头文件不要使用stl

-t 后面接typemap.dat文件,默认包含进typemap.dat

前缀名也可以通过在该文件中包含定义如下格式:

tt = "http://www.onvif.org/ver10/schema"

那么在"http://www.onvif.org/ver10/schema"该命名空间下的前缀全部变成tt为前缀。

-j,-k有时为了对包头掌控的很好也要使用到。

使用soapcpp2 -h时一些常用的option命令:

-1或-2 说明使用的soap的版本号。

-C,-S说明产生客户端或者服务器端代码。

-L不要产生soapClientLib/soaoServerLib

-I 在产生的头文件中如果包含了一些在gsoap的import文件夹下的头文件,

那么需要用到该命令。

-p命令使用后产生的文件前缀不在是soapC,soapClient,而是你所知名的nameC,nameClient.

-w,-x也是常用的,这样子就不会产生一大堆你不想看的中间文件了。

 

一些高级的特性:

对于添加支持ws-addressing和ws-security一般在wsdl2h生成的头文件中,添加

wsa.h 和wsse.h即可,然后在使用soapcpp2是用I命令选项指定路径即可。

而至于这两个标准的使用方式可以参考gsoap的samples文件夹下的wsa和wsse

这两个例子,这样子应该没啥大问题了。使用wsse时,注意事项可以参考gsoap文档。

至于openssl的配置,vc6.0,vc9.0应该都很easy了。要用gsoap的就试试吧。

不过寡人对gsoap的ws-discovery确实一无所知,希望会的高手们指点一二 。。。

 

-----------------------------------2010/11/16----------------------- 

至今天才发现gsoap集成了openssl和pthread这两个开源库,还各自去学习了这些开源库呢 。。。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
带gsoap-2.8源码,基于服务器客户端的实例,带自动生成服务客户端代码的批处理程序,及如何使用。带自己学习参考的教程; 0.解压附件,soapInterface.bat所在路径不得含中文 空格 1.新建头文件 取soapInterface.bat文件的同名:soapInterface.h 文件内编写接口,具体说明看附件参考的教程 //gsoap ns service name: gservice //gsoap ns service style: rpc int ns__add(int num1, int num2, int* result ); int ns__sub(int num1, int num2, int* result ); int ns__mult( int num1, int num2, int *result); int ns__divid( int num1, int num2, int *result); 2.从附件内gsoap-2.8包中搜索复制stdsoap2.h,stdsoap2.cpp,soapcpp2.exe, 存放于soapInterface.bat同级目录 3.双击soapInterface.bat运行。生成gClientSoap,gServerSoap两个文件夹,分别复制到服务器工程与客户端工程中使用 4.gClientSoap,gServerSoap两个文件夹内用到的文件功能说明,更多参考附件教程 1)soapC.cpp , soapH.h//soap的序列和反序列代码,它已经包含了soapStub.h 2)soapServer.c ppsoapServerLib.cpp //服务器端代码(纯C代码是soapServer.c soapServerLib.c ),soapServerLib.cpp文件则只是简单地包含soapServer.cpp和soapC.cpp 3)soapClient.cpp soapClientLib.cpp//客户端代码(纯C代码是soapClient.csoapClientLib.c ),soapClientLib.cpp文件则只是简单地包含soapClient.cpp和soapC.cpp 4) soapStub.h // soap的存根文件,定义了我们编写的头文件里对应的远程调用模型 5) add.nsmap //XML服务命名空间 6)服务器端要载入的文件有:soapServer.cpp,soapC.cpp,stdsoap2.cpp; 要包含的文件有:gservice.nsmap,soapH.h; 客户端要输入的文件有: soapClient.cpp,soapC.cpp,stdsoap2.cpp; 要包含的文件有:gservice.nsmap,soapH.h
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值