1

IBM RAD 7.5(Eclipse)およびWebSphere7を備えたJavaEEベースのWebアプリがあります。このアプリにはリモートインターフェースを備えたEJBがあります。正常に動作します。

JUnitテスト用の新しいプロジェクトを作成し、EJBのJNDIルックアップを実行してテストしようとしていますが、次のエラーが発生します。

「ClassCastException:org.omg.stub.java.rmi._Remote_Stubはcom.myapp.UserServiceRemoteと互換性がありません」

この問題を解決するには、WebSphere createEJBStubsコマンドを実行してリモートスタブを生成する必要があることを理解しています。これにより、JUnitアプリ(別のアプリケーションとして実行されている)がEJBを検索できるようになります。

私の質問は:

myappEARプロジェクトを右クリックし、[実行]> [サーバーで実行]を選択してWebSphere内からアプリを実行すると、WebSphereは実行中のEARファイルをどこに配置しますか?つまり、どのフォルダにありますか?

私の理解では、createEJBStubsコマンドを実行することになっているので、質問します。これにより、スタブが生成され、それらのスタブがEARに配置されます。

どんなアドバイスも大歓迎です、ありがとう!

ロブ

4

2 に答える 2

0

参考までに、ここでの手順に従って、スタブが含まれているEJBjarを構築するためのANTスクリプトを作成しました。

http://www-01.ibm.com/support/docview.wss?uid=swg21393419

于 2012-06-22T17:26:47.180 に答える
0

処理を高速化するために、EARは実際には構築されていません。代わりに、各モジュールまたはJARファイルがRADワークスペースからロードされるようにアプリケーションが構成されます。EARを(RADまたはWAS管理コンソールから)エクスポートしてから、結果にcreateEJBStubsを使用することをお勧めします。

于 2012-06-25T13:59:27.603 に答える