2014-07-26 81 views
0

我正在使用gSoap 2.8.17與C++並需要從STS請求安全令牌。從STS請求安全令牌與gSoap

我按照這個WSEE添加到我的客戶端代碼:

運行wsdl2h -t typemap.dat上需要WS-Security頭的服務的WSDL。 typemap.dat文件用於識別和轉換用於XML簽名和加密的安全頭塊。 在由wsdl2h生成的頭文件上運行soapcpp2。 (重新編譯)stdsoap2.c/pp,dom.c/pp,smdevp.c,mecevp.c,wsseapi.c和生成的源文件,並設置-DWITH_DOM和-DWITH_OPENSSL編譯標誌。 smdevp.c,mecevp.c和wsseapi.c文件位於「插件」目錄中。

我不清楚如何將WS-Trust添加到我的客戶端代碼。 我生成WS-Trust.h這樣 wsdl2h -g -t .... \ WS \ WS-typemap.dat -x wsdl1.wsdl wsdl2.wsdl

WS-Trust.h包含請求令牌的功能,但我沒有看到這些實現。 ///頂級根元素「http://schemas.xmlsoap.org/ws/2005/02/trust」:類型爲「http://schemas.xmlsoap.org/ws/2005/02/trust」的RequestSecurityToken:RequestSecurityTokenType。 ///注意:使用wsdl2h選項-g自動生成頂層根元素聲明和處理代碼。

我是否將WS-Trust.h(11 MB文件)添加到我的客戶端代理中?

啓用客戶端使用WS-Trust的步驟是什麼?

回答

0

要在與其他wsdls相同的頭文件中生成WS-Trust函數,需要-o參數。

例子: wsdl2h -t typemap.dat -o myService.h -x myService1.wsdl myService2.wsdl ../../WS/WS-Trust.wsdl

運行soapcpp2後,我現在看到的請求令牌函數聲明和實現。