私はこの問題に困惑しており、専門家にアドバイスを求めて謙虚になりました。
Siteminder が有効になっている ASP.NET MVC アプリがあります。さらに、このアプリには、別のアプリケーションにデータを提供する Web サービスである URL のセクションがあります。これらの URL は、Siteminder セットアップで Siteminder 認証を「バイパス」するように構成されています。Siteminder の設定が正しいことを確認するために、バイパスを再確認しました。これらの URL をブラウザーに入力すると、JSON データが Siteminder 認証「なし」で表示されます。でも....
問題は、siteminder が有効になっているときに HttpWebResponse、Stream、および StreamReader を使用して JSON データを取得すると、JSON 形式のデータの代わりに StreamReader.ReadToEnd() が呼び出されたときに、文字列として Siteminder の「ログイン ページ HTML」を取得することです。
ここにいる別の開発者が同じ Web サービスにアクセスし、PYTHON アプリで「正しい」JSON 形式のデータを取得できるため、これは不可解です。また、通常の ASP.NET アプリに配置したので、MVC の問題ではありません。同じ結果が得られます。
使用すべき別のクラスまたはライブラリはありますか? Web サービス呼び出しに渡す必要がある構成設定はありますか? どんな助けでも大歓迎です。
以下は、Web サービス呼び出しの 1 つのコードです。
public static string GetData()
{
string host = (string)System.Configuration.ConfigurationManager.AppSettings["WEBSERVICE_GET"];
string URL = host + "Api/GetData";
var end = string.Empty;
try
{
HttpWebRequest request = WebRequest.Create(URL) as HttpWebRequest;
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
using (Stream responseStream = response.GetResponseStream())
{
if (response.StatusCode != HttpStatusCode.OK && response.StatusCode != HttpStatusCode.Created)
{
throw new HttpException((int)response.StatusCode, response.StatusDescription);
}
using (StreamReader reader = new StreamReader(responseStream))
{
end = reader.ReadToEnd();
reader.Close();
}
responseStream.Close();
response.Close();
}
}
catch (Exception ex)
{
EmailNotification.SendErrorEmail("Could not get Data from WEBSERVICE + ex);
}
return end;
}