Rational Application Developer for WebSphere 8.0.4 ヘルプのチュートリアルに従って、WSDL ファイルから JAX-WS Web サービスと EJB スケルトンを作成しました。
私の EJB コードを含む EJB プロジェクトを作成しました。ear ファイルをビルドするための EJBEar プロジェクトを作成しました。war ファイルを作成するために RouterWebProject を作成しました。
RouterWebProject はサーブレット情報を提供するので、HTTP SOAP リクエストをサーブレットにポストして、EJB の Web サービス コードにルーティングできます。
EJB サービス コードは、ResourceBundle を使用して AppSDKExamples.properties という名前のプロパティ ファイルを読み取る同じ EJB プロジェクト内のクラスを呼び出します。
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");
}
AppSDKExamples.properties ファイルを考えられるあらゆる場所に配置しようとしましたが、常に java.util.MissingResourceException が発生します。
このプロパティ ファイルを EJB コードで使用できるようにするにはどうすればよいですか?
現在、EJB ear は次のようになっています。
- lib/AppSDKExamples.properties
- lib/AppSDKExamples_en_US.properties
- lib/その他の jar ファイル
- META-INF/MANIFEST.MF (これにはクラスパスが含まれていません。設定方法がわかりません。)
- EJB.jar
- WebProject.war
EJB.jar は次のようになります。
- プロパティ ファイルを探す com/activant/web/services/examples/class ファイル
- Web サービスの com/activant/web/services/iaptest/class ファイル
- META-INF/MANIFEST.MF (クラスパスに AppSDKExamples.properties と AppSDKExamples_en_US.properties があります)
- AppSDKExamples.properties
- AppSDKExamples_en_US.properties
war ファイルは次のようになります。
- lib には、EJB.jar ファイルと同じ jar ファイルが含まれています。
- META-INF (クラスパス: /lib EJB.jar)
- WEB-INF/classes このフォルダーには、両方のプロパティ ファイルが含まれています。
- WEB-INF/lib このフォルダには、両方のプロパティ ファイルが含まれています。
- WEB-INF/ibm-web-bnd.xml
- WEB-INF/ibm-web-ext.xml
- WEB-INF/web.xml
これに関するヘルプは大歓迎です。ありがとう。