2012-01-04 13 views
0

私の英語についての謝罪。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と互換性がない」

何が起こるか考えてみましょうか?

ありがとうございました!

+0

例外スタックトレースを含めてください。あなたがPortableRemoteObject.narrowの呼び出しを見逃しているように見えますが、あなたまたはサーバがそれを忘れたかどうかは不明です。 –

答えて

0

これは実際には7.0.0.17で修正されたWebSphere 7のバグです。私は7.0.0.15と同じ問題を抱えていました。回避策は、EJBを含むアプリケーションを再起動することです。

関連する問題