通过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这两个开源库,还各自去学习了这些开源库呢 。。。