簡體   English   中英

在C ++ / Linux中為Gsoap使用WSSE插件

[英]Using WSSE plugin for Gsoap in C++/Linux

我們如何在C ++ / Linux中為Gsoap實現WSSE插件? 鏈接不提供所有信息。

問題是我必須包含在我的WSDL生成的頭文件中,使它與wsse兼容,以便soapcpp2 header.h生成足夠的代碼,以便我可以成功編譯wsseapi.c?

另外,如果可能的話請提供實現wsse插件的工作示例代碼(僅限C ++,沒有C plz)?

要自動將#import "wsse.h"添加到wsdl2h生成的頭文件(如果它尚未存在(wsdl2h使用WS-Policy檢測WS-Security要求)),則首先修改typemap.dat以包含以下三行:

[
#import "wsse.h"
]

然后(假設是C ++):

  1. 運行wsdl2h -Iimport -o service.h <your-wsdls-xsds-etc>並確保wsdl2h使用修改后的typemap.dat (如果它在當前dir中你沒問題)並且import選項指向gsoap import目錄用wsse.h
  2. 運行soapcpp2 service.h
  3. 編譯生成的soapC.cppsoapClient.cpp (如果客戶端), soapServer.cpp (如果服務器), stdsoap2.cppdom.cppplugin/wsseapi.cplugin/smdevp.cplugin/mecevp.c
  4. 在編譯上面的內容時,必須使用-DWITH_OPENSSL -DWITH_DOM
  5. 鏈接-lssl-lcrypto
  6. 啟用HTTP壓縮,與編譯-DWITH_GZIP和鏈路與-lz

在C中編譯時,請執行以上所有操作,但使用wsdl2h選項-c並使用.c文件。

請參閱WSSE文檔以及gsoap包中的gsoap/samples/wssedemo示例,該示例顯示了以幾種可能的方式使用WS-Security的API調用,告訴您如何注冊插件等。

我需要在頭文件中包含什么內容

#import "wsse.h"

(請參閱頭文件中的注釋,或者部分啟動“ 綁定策略啟動器”的生成文檔)

更新:從生成的文檔中復制和粘貼:

WS-Security (SOAP Message Security) 1.0 (accepts 1.1):

#import "wsse.h" // to be added to this header file for the soapcpp2 build step
#include "plugin/wsseapi.h"
soap_register_plugin(soap, soap_wsse); // register the wsse plugin in your code
// See the user guide gsoap/doc/wsse/html/index.html

(這可以在為綁定生成的doxygen文檔中找到)

另請參見操作方法部分

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM