基本認証でWebサービスを使用しています。Web サービスの所有者がバランシング サービスを実装するまで、すべて問題なく機能していました。これは、リクエストを Web サービスの別のインスタンスにリダイレクトするだけです。
問題は、リダイレクトされた後に基本認証が失敗することです。「要求認証資格情報が渡されませんでした」という例外があります。
追加情報:
リクエストを手動で作成する必要があります。
var req = (HttpWebRequest)WebRequest.CreateDefault(new Uri(Settings.Default.HpsmServiceAddress)); req.Headers.Add("Authorization", "Basic aaaaaaaaaaa"); req.PreAuthenticate = true; req.AuthenticationLevel = AuthenticationLevel.MutualAuthRequested; req.UserAgent = "Apache-HttpClient/4.1.1 (java 1.5)"; req.KeepAlive = false; ServicePointManager.Expect100Continue = false; req.ContentType = "text/xml; charset=utf-8"; req.Method = "POST"; req.Accept = "gzip,deflate"; req.Headers.Add("SOAPAction", actionName); byte[] buffer = Encoding.UTF8.GetBytes(envelop); Stream stm = req.GetRequestStream(); stm.Write(buffer, 0, buffer.Length); stm.Close(); WebResponse response = req.GetResponse(); string strResponse = new StreamReader(response.GetResponseStream()).ReadToEnd(); response.Dispose();
HTTP 307 リダイレクトでリダイレクトされます