2012-04-16 11 views
0

webserviceメソッド内でマネージドBeanを呼び出そうとしています。 FacesContext.getCurrentInstance()nullを返すため、NullPointerExceptionがスローされます。webserviceがjsfのfacescontextに見つかりません

これはどのようにして発生しますか?これをどのように解決できますか?

答えて

1

JSFは、FacesServletによって実行されるコンポーネントベースのMVCフレームワークです。このサーブレットは、FacesContextの作成を担当するサーブレットです。まったく別のサーブレットによって制御される、完全に分離したスタンドアロンのWebサービスフレームワークを使用しているときと同じように、HTTPリクエストがFacesServletによって提供されない場合、FacesContextは単純に利用できません。 FacesContext#getCurrentInstance()nullを返します。

Webサービスメソッド内でJSFマネージドBeanをコールしようとすると意味がありません。仕事に間違ったツールを使用する場合と同じです。 JSFマネージドBeanとWebサービスクラスの両方で最終的にインポート/インジェクトする新しいクラスと別のクラスに実行する必要のあるコードをリファクタリングするだけです。

+0

コードをリファクタリングすることは不可能です。私はFacesServletを呼び出してfacescontextを初期化できますか? – Rekha

関連する問題