SoapUI工具中的用戶名和密碼如何用net代碼實現傳入


問題:

最近公司與陶氏SAP對接時,陶氏IT要求我們通過SoapUI調用接口時,要讓SoapUI工具里面輸入用戶名和密碼才可以調用。

 

CSDN高分提問:

為此還在CSDN中出高分提了一個問題,如下:

“一般的我們做Soap接口時候,在程序中我們一般都是把用戶名和密碼寫在SoapHeader里面,但是如何編碼,可以把用戶名和密碼傳到SoapUI屬性中的用戶名和密碼里面呢?
net如何把用戶名和密碼傳到SoapUI屬性里面?”

但一直沒來回答,只好自己慢慢研究,通常我們接口時,用戶名和密碼都是在SoapHeader里面,再者因為沒了解SoapUI工具輸入的用戶名和密碼的機制,直接通過抓包工具看到 Base Authorization才慢慢的才到方向,

所以這里記錄一下,以分享給遇到相同問題的同學們。

 

解決的方法:

(1).這種驗證方式流程是,如果在瀏覽中打開地址時,會彈出輸入用戶名和密碼,只有當用戶名和密碼輸入正確后,接口地址才能正常顯示。

(2).實際上SoapUI工具中的用戶名和密碼方式使用的認證方式是 “基本身份驗證”,所以需要在IIS中把 “身份驗證”方式中 “基本身份驗證”啟用,原先默認的 “匿名身份驗證”方式禁用。

(3).接口中不需要做修改。

(4).客戶端調用:

   private void button1_Click(object sender, EventArgs e)
        {
            ServicePointManager.ServerCertificateValidationCallback += dowapi.Service1.RemoteCertificateValidate;//驗證服務器證書回調自動驗證
            dowapi.Service1 serverapi = new dowapi.Service1();
            //驗證用戶名和密碼
            string username = "username";
            string password = "password";
            string url = "https://xxx/xx.asmx?wsdl/";
            CredentialCache mycache = new CredentialCache();
            mycache.Add(new Uri(url), "Basic", new NetworkCredential(username, password));
            serverapi.Credentials = mycache;

            string returnmessage = serverapi.ShipmentDeliveryChinaChoice_Request_MT(action, sb.ToString());

        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM