我有一個來自wsdl的c#代理構建。 我正在嘗試將基本身份驗證添加到請求的標頭。 我試圖調用的webservice不在c#中。 (PHP的可能)將基本身份驗證添加到SOAP請求的標頭 - WebService
隨着小提琴手,我可以看到,「沒有授權頭存在」
而且我的電話的結果是:錯誤的用戶名/密碼
以下是我已經添加我的代理
protected override System.Net.WebRequest GetWebRequest(Uri uri){
System.Net.HttpWebRequest request;
request = (System.Net.HttpWebRequest)base.GetWebRequest(uri);
if (PreAuthenticate){
System.Net.NetworkCredential networkCredentials =
Credentials.GetCredential(uri, "Basic");
if (networkCredentials != null)
{
byte[] credentialBuffer = new System.Text.UTF8Encoding().GetBytesnetworkCredentials.UserName + ":" + networkCredentials.Password);
request.Headers["Authorization"] = "Basic" + Convert.ToBase64String(credentialBuffer);>
}
else
{
throw new ApplicationException("No network credentials");
}
}
return request;
}
你不應該一直使用標題。只需設置request.Credentials? –
這個webservice的設計者說,在頭文件中發送證書是強制性的。我甚至嘗試了request.Crendentials。 – mappy
當然,憑證在標題中,但一般來說,你不是那個應該把它們放在那裏的人。 –