2016-08-11 57 views
0

使用Inno Setup創建安裝程序時,需要在安裝過程中驗證用戶的憑據。該應用程序已投入生產一段時間,並且只需遷移到安裝程序,這是因爲在Web瀏覽器中支持NPAPI將被棄用。在啓動應用程序之前,應用程序已經有一種方法可以驗證用戶的憑據,我試圖通過SOAP請求來利用這些應用程序。驗證過程只是不確定用戶是否已獲得授權,但也會爲其分配令牌,以防止在應用程序運行期間必須多次發送其信息。帶Inno設置的SOAP Web服務

我的問題是,有沒有辦法讓SOAP請求在安裝過程中驗證用戶的憑據?如果是這樣,這將如何完成?

回答

0

SOAP只是一個基於HTTP的XML。

所以,你可以使用WinHttpRequest class

WinHttpReq := CreateOleObject('WinHttp.WinHttpRequest.5.1'); 
WinHttpReq.Open('GET', 'http://soapserver.example.com/', False); 
WinHttpReq.SetRequestHeader('Content-Type', 'application/soap+xml;charset=UTF-8'); 
WinHttpReq.SetRequestHeader('SOAPAction', '...'); 
WinHttpReq.Send('<data/>'); 
{ WinHttpReq.ResponseText will hold the SOAP response } 

參見HTTP POST request in Inno Setup Script


爲了解析SOAP響應,您可以使用Msxml2.DOMDocument class

How to read and write XML document node values?