WebSphere 6 にデプロイされた IceFaces 1.8.2 を使用して構築された Web アプリケーションがあります。
- サーバーの IP アドレスまたはホスト名を使用して (たとえば、10.250.46.80:8080/myApplication または host.domain.com:8080/myApplication を呼び出して) アクセスしようとすると、すべて正常に動作します。
- エイリアス (www.myapplication.com など) でアクセスしようとすると、アプリケーションはウェルカム ページをロードし、問題なく jspx ページにリダイレクトしますが、数秒間何かをロードし続け、http エラー 500 が表示されます。 :
Error Message: javax.faces.FacesException: javax.faces.FacesException: Problem in renderResponse: User session has expired or it was invalidated.
Error Code: 500
Target Servlet: Persistent Faces Servlet
Error Stack:
java.lang.Exception: javax.faces.FacesException: javax.faces.FacesException: Problem in renderResponse: User session has expired or it was invalidated.
at com.icesoft.faces.context.View.servePage(View.java:153)
at com.icesoft.faces.webapp.http.core.SingleViewServer.service(SingleViewServer.java:52)
...
...
at com.icesoft.faces.context.View$2$1.respond(View.java:49)
at com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:201)
at com.icesoft.faces.context.View$2.serve(View.java:78)
at com.icesoft.faces.context.View.servePage(View.java:150)
... 44 more
同期更新を有効にしようとしたところ、アプリケーションがクラッシュしなくなりましたが、たとえば ValueChange リスナーのように機能する Ajax 機能がないことに気付きました。ドロップダウン リスト (部分的な送信) の値を変更すると、ブラウザーが何かの読み込みを開始し、エラー 500 が再び表示されます。
これは、ブラウザとして Google Chrome を使用している場合にのみ発生します。IE、Opera、Firefox、Safari では発生しません。
Chrome コンソールで send-recieve-updates の Ajax リクエストを手動で呼び出そうとしましたが、応答は <session-expired/> でした Firefox では通常のコンテンツを取得しました。
ヘッダーの整列などのランダムなことを試しましたが、Chrome ではほとんどのヘッダーの変更が禁止されているため、Firefox のヘッダーと整列してテストすることはできません。
似たようなことを経験した人はいますか?