2012-05-10 21 views
2

Rational Application Developer for WebSphere 8.0.4ヘルプのチュートリアルに従って、WSDLファイルからJAX-WS WebサービスとEJBスケルトンを作成しました。WebSphere Application Server 8でEJBが使用できるプロパティファイルを作成する方法

私は、EJBコードを含むEJBプロジェクトを作成しました。 earファイルを作成するためのEJBEarプロジェクトを作成しました。 warファイルを作成するためにRouterWebProjectを作成しました。

RouterWebProjectはサーブレット情報を提供するので、EJBのWebサービスコードにルーティングするためにサーブレットにHTTP SOAPリクエストを送信できます。

EJBサービスコードは、私がAppSDKExamples.propertiesは私ができるどこでもファイルを配置しようとした名前AppSDKExamples.properties

static { 
    ResourceBundle props = ResourceBundle.getBundle("AppSDKExamples", Locale.getDefault()); 
    brokerPartnerId = props.getString("broker.partner.id"); 
    buyPartnerId = props.getString("svc.dealer.partner.id"); 
    sellPartnerId = props.getString("platform.partner.id"); 
    sellPartnerId2 = props.getString("platform.partner.id2"); 
    accountNumber = props.getString("account.number"); 
} 

を持つプロパティファイルを読むためのResourceBundleを使用するのと同じEJBプロジェクト内のクラスを呼び出します私はいつもjava.util.MissingResourceExceptionを取得すると思います。

このプロパティファイルをEJBコードで使用できるようにするにはどうすればよいですか?

現在、EJBの耳には次のようになります。

  • のlib/AppSDKExamples.properties
  • のlib/AppSDKExamples_en_US.properties
  • その他/
  • libにjarファイル
  • META-INF/MANIFEST.MF(これにはクラスパスは含まれていません。設定方法がわかりません)。
  • EJB.jar
  • WebProject.war

ejb.jarなどは次のようになります/プロパティファイルを探し

  • COM/activant /ウェブ/サービス/例/クラスファイル
  • COM/activant /ウェブ/サービス/ iaptest Webサービス
  • META-INF/MANIFEST.MFのクラスファイル(これはクラスパスでAppSDKExamples.propertiesとAppSDKExamples_en_US.propertiesを持っている)
  • AppSDKExamples.properties
  • AppSDKExamples_e n_US.properties

warファイルは次のようになります。/ libにejb.jarなど:ejb.jarなどのファイルは

  • META-INF(クラスパスを持っているよう

    • libには、同じjarファイルが含まれています)
    • WEB-INF/classesこのフォルダには両方のプロパティファイルが含まれています。
    • WEB-INF/libこのフォルダには、両方のプロパティファイルが含まれています。
    • WEB-INF/IBM-ウェブ-bnd.xml
    • WEB-INF/IBM-ウェブext.xml
    • WEB-INF /ウェブ。xml

    これに関するお手伝いをいただければ幸いです。おかげさまで

  • 答えて

    2

    プロパティファイルがEJBのルートにある場合、EJBクラスはプロパティファイルを見つけることができるはずです。 Java 2セキュリティを有効にして実行している場合は、FilePermissionを与える必要があります。 $ {webComponent}と$ {ejbComponent}のPROFILE_HOME/config/cells/CELL/nodes/NODE/app.policyを参照してください。

    EAR/lib /ディレクトリがクラスパスにないため、単にプロパティファイルをEAR/libに配置するだけで、クラスパス内の.jarファイルのみが存在します。 Class-Path: lib/をEJB jar MANIFEST.MFに追加することもできますが、ディレクトリー・クラス・パスはJavaEE仕様では必要ないため、WebSphere Application Serverでサポートされているかどうかわかりません。

    MANIFEST.MFクラスパスで直接プロパティファイルを参照することは、JARとディレクトリだけがサポートされているため、機能しません(上記のJavaEEのディレクトリに関する注意事項を参照)。

    一般に、先頭のスラッシュは/libから削除することをお勧めします。 JavaEEプラットフォームの仕様では、EARのlibディレクトリかマシンファイルシステムのルートディレクトリを参照するべきかどうかは不明です。

    関連する問題