13

私は、WebLogic Server v10 で実行されている Struts ベースのアプリケーションに Ajax 呼び出しを行う Internet Explorer で実行されている JavaScript を使用する (社内の) アプリケーションを継承しました。

システム内の特定のサーバー側の操作に 3 分以上かかっています。ユーザーは、Ajax 呼び出しが 3 分で 503 エラーを返すことに一貫して気付きました。ユーザーは 3 分以上待つことができますが、503 エラーによって作業が中断されます。

このアプリケーションはパフォーマンスを調整する必要がありますが、503 エラーが返されるまでの時間を延長するための一時的な回避策が必要です。

現在の理論では、503 エラーは IE XMLHttpRequest オブジェクトによって発生しているというものです。WebLogic の専門家と思われるチームが、私たちのコードと WebLogic ログを詳しく調べ、サーバー側でタイムアウトが発生していないと宣言しました。しかし、私には疑問があります。

私の質問は、どのソフトウェアが 503 エラーを引き起こしているのかということです: ブラウザ、Ajax JavaScript、またはサーバーのどれですか? また、このタイムアウト期間は変更できますか?

4

4 に答える 4

4

503 エラーは、通常はサーバー側で発生するさまざまな種類のエラーの一種です。あなたの場合、サーバーが特定のタイムアウト後に接続を拒否し、503 で応答して、サーバーが過負荷になっているか、要求を処理できないことを示している可能性があります。

多くの場合、Web サービスでは、サーバー コードが例外またはエラーをスローすると 503 が返されます。サーバーコードがエラーを適切に処理しない場合、サーバーにバブルアップし、サーバーは一般的な 503 で応答するだけです。

http://www.checkupdown.com/status/E503.html

エラー コード 5xx (別の定義)

RFC2616

于 2009-04-01T01:35:36.093 に答える
3

503はサーバーエラーです。XMLHttpRequest は喜んで 3 分以上待機します。最初に行うべきことは、telnet や netcat などで問題の URL にアクセスし、javascript を使用した 503 が表示されていないことを確認して、満足することです。

次に、サーバー側でタイムアウトを見つけることができます。

于 2009-04-01T01:37:24.607 に答える
2

Web サーバーには、実行時間の長いサービス リクエストによってトリップしているリクエスト応答タイムアウトがあります。これは、WebLogic サーバーまたはプロキシの可能性があります。それは確かにクライアントではありません。

すぐに応答される非同期 HTTP 要求を送信し、最終的な結果を得るために別の場所をポーリングすることを検討しましたか? 3 分は約 170 秒では長すぎます。

于 2009-04-01T01:34:44.440 に答える