網上有很多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這兩個開源庫,還各自去學習了這些開源庫呢 。。。