残念ながら、EJBはビジネスロジックであり、直接あなたのWebアプリケーションではないため、あなたの質問の説明は明確ではありませんでした。 EJBには、JAXWSを持つWebサービス以外のリクエスト自体に関する情報がないためです。
あなただけにして@Harald Wellmannが書いたようにあなたが使用することができ、サーバーではなくWebアプリケーションへのルートパスが必要になります。 System.getProperty("jboss.home.dir")
を、あなたのサーバーのルートパスを取得します。
アプリへのパスが必要な場合、あなたは一例
標準的な動作としてあなた
/WEB-INF/classes
フォルダのパスをお渡しします
this.getClass().getProtectionDomain().getCodeSource().getLocation()
のために使用することができます。
JSF、JSP、またはサーブレットを使用する場合は、はるかに簡単で、前に書いたように、getServletContext().getRealPath("/")
というHttpServletRequestオブジェクトから直接情報を取得できます。
そして、あなたはこのようなHttpServletRequestオブジェクトを取得注入できJAXWSとEJBと:サーバディレクトリ(サーバー/ビン)へ
@Context
private HttpServletRequest httpRequest;
あなたはどのようなWebフレームワークを使用していますか?あなたは 'getServletContext()。getRealPath("/")'のようなものを使うことができました。 – Pintus
ejb Bean、CDIを使っています.... – CommanderHP
多分もっと良い質問をしなければなりませんでした。どこに道が必要ですか? EJBの内部か、JSP、JSF、Servlet、JAX-RSなどのフロントエンドの内部? – Pintus