簡體   English   中英

gSOAP HTTP認證

[英]gSOAP HTTP Authentication

我正在使用gSOAP 2.8.15,並且正在嘗試遵循gsoap文檔( http://www.cs.fsu.edu/~engelen/soapdoc2.html#tth_sEc19 .14 )。

唯一的區別是文檔中介紹的代碼是用C編寫的,但我是用C ++編寫的。

這是我的Web服務客戶端代碼

// The variable wsp is a instance of web service proxy generated by soapcpp2.
// The proxy is a sub-class of the class soap
wsp.userid = "user";
wsp.passwd = "password";
// call the function of web service
wsp.get_version(&result);

在服務器端,我使用以下代碼檢查身份驗證:

// The variable wss is the a instance of web service service generated by soapcpp2. 
if (wss.userid == NULL || wss.passwd == NULL)
    //......

問題是當我使用客戶端代碼調用Web服務的功能時,在服務器端,userid和passwd始終為NULL。 但是,當我通過以搶占式授權方式傳遞userid和passwd來使用soapUI調用相同的功能時,服務器將毫無問題地獲得信息。

如果有人可以幫助我解決問題,我將不勝感激。 感謝您的關注。

我已經使用tcpdump捕獲了Web服務服務器和客戶端之間發送的程序包,我發現當客戶端調用Web服務的功能時沒有HTTP標頭發送。 所以我在gSOAP的文檔中做了一些搜索,發現了這句話:

客戶端可以使用http://前綴。 如果不存在,則不會發送HTTP標頭,也不會將基於HTTP的信息傳遞給服務。

它解決了我的問題...

暫無
暫無

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

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