Apache連携でAjax4JSFが無効化される事象
現場での事象で詳細なログなど手元にないので説明中心の記事になってしまいますが、SeamアプリをJBoss ASにデプロイ、起動してポート8080から直接アクセスすると正常に動作していたA4Jが、Apache連携してApache経由でアクセスしたところ、まったく動作しなくなりました。
はじめはApacheからJBossへの受け渡しのところかと思いましたが、ApacheのアクセスログをみるとそもそもApacheへA4Jリクエストが正常に飛んでいない状態。
Firebugのコンソールから確認してみると、
http://コンテキストルート//a4j_3_2_1-SNAPSHOTorg.ajax4jsf.javascript.AjaxScriptが見つからなくて、A4Jオブジェクトが・・
的なエラーが起きています。直接アクセスしてみると確かに404をくらいます。
調べたところ、
http://コンテキストルート/a4j_3_2_1-SNAPSHOTorg.ajax4jsf.javascript.AjaxScript
で正常にアクセスできていたので
proxy_ajp.confのロケーション設定で末尾についていたスラッシュを除去してApache再起動。
・・・・(略)↓
・・・・(略)
A4Jライブラリにアクセスできるようになり、Ajax機能も問題なく動作するようになりました。ちょっと要注意ポイントかなと。