それらの間で通信する 2 つの Web アプリケーションがあります。Cassini サーバーで両方のアプリケーションをテストしましたが、正常に動作します。
次に、両方のアプリケーションを SSL として IIS にデプロイしました。アプリケーションの 1 つが完全に機能します。他のアプリケーションも動作します。ただし、ある時点で、このアプリケーションは他のアプリケーションに Web サービス要求を行い、要求元のアプリケーションに URL を返します。要求側のアプリケーションは、ユーザーをその URL にリダイレクトします。
残念ながら、リダイレクトは「接続中」のままであるという意味では機能していませんが、何もロードされません。これの根本的な原因は何ですか?有効な証明書がないためですか?他の誰かがこの問題を経験しましたか? どうすれば解決できますか?
これは、Web サービスから JObject で URL を渡す方法です。
obj["URL"] = "https://localhost:2001/CheckOut.aspx?GUID=" + guid;
これは、「クライアント」(リクエストを行うアプリケーション) で URL をロードする方法です。
string script_value = "window.open('CheckOutConfirmation.aspx', '_newtab');";
script_value += "window.location.href = '" + response_object.URL + "';";
Page.ClientScript.RegisterStartupScript(Page.GetType(), null, script_value, true);
IIS を使用していない場合でも、このコードが正しく機能したことを明確にしたいと思います。IIS にデプロイしたときに、新しいアドレスとポートを反映するように URL を変更しました。プロジェクトのアドレス バーに URL を貼り付けて、URL が機能していることを確認しました。さらに、アドレスバーに表示されているように、Web サービス呼び出しが行われています"localhost:2001/CheckOut.aspx?GUID=etc etc etc"
。ただし、タイムアウトが発生するまで「接続」したままになります。
アップデート
URL に表示されるアドレスの前に https:// を追加すると、機能します。リクエストしているアプリケーションがアドレスを "localhost:2001/CheckOut.aspx?GUID=etc etc" としてロードするのはなぜですか? 実際には "https://localhost:2001/CheckOut.aspx?GUID=" + guid;?