私の英語についての謝罪。WAS 7でリモートEJB3を呼び出すミステリアス
私はEJB 3技術を試しています。私は2つの耳のアプリケーションを持っています。そのうちの1つはWebアプリケーションであり、もう1つはEJB 3.0を使用するリモートEJBを持つアプリケーションです。 Websphere 7と同じサーバーにそれらをデプロイし、正常に起動します。私のテストでは@EJBアノテーションを介してEJBを呼び出し、「ルックアップ」するとWebアプリケーションに@EJBアノテーションを使用したEJBでの参照を持つサーブレットとリモートインタフェースでのその他の参照、すなわち
clipboardprintにplaincopyが表示されます。
import org.icabanas.pruebaconcepto.dominio.Producto;
import org.icabanas.pruebaconcepto.facade.ProductoSessionFacade;
public class ProductoServlet extends HttpServlet {
@EJB(name="EJB/ProductoSessionFacade")
private ProductoSessionFacade productoSessionFacade;
private ProductoSessionFacade productoSessionFacadeJndi;
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
Producto producto = getProductoFromRequest(req);
try{
System.out.println("INJECTION");
productoSessionFacade.alta(producto);
}
catch (Exception e) {
System.out.println("Error in INJECTION");
System.out.println(e.getMessage());
}
try{
System.out.println("JNDI");
productoSessionFacadeJndi = (ProductoSessionFacade) lookupJNDI("org.icabanas.pruebaconcepto.facade.ProductoSessionFacade");
productoSessionFacadeJndi.alta(producto);
}
catch (Exception e) {
System.out.println("Error in JNDI");
System.out.println(e.getMessage());
}
}
.......
}
私は、次のような問題を持っている:私はすべてが正常に動作するアプリケーションを起動すると、私は、EJBがannotedとJNDIルックアップを介して取得するが、私は再起動するか、Webアプリケーションを含む耳を再発行するとき、私は、EJBがannonted取得し、それが正常に動作しますが、私はJNDIルックアップを使用してEJBを取得しようとすると、私は次のエラーを取得する:
「org.icabanas.pruebaconcepto.facade._ProductoSessionFacade_Stub org.icabanas.pruebaconcepto.facade.ProductoSessionFacadeと互換性がない」
何が起こるか考えてみましょうか?
ありがとうございました!
例外スタックトレースを含めてください。あなたがPortableRemoteObject.narrowの呼び出しを見逃しているように見えますが、あなたまたはサーバがそれを忘れたかどうかは不明です。 –