簡體   English   中英

從Tomcat Web應用程序調用在Weblogic上部署的遠程Ejb bean

[英]Remote Ejb bean deployed on Weblogic called from Tomcat web application

我已經使用EJB 3.1創建了一個遠程EJB bean,並將其部署在Web邏輯12c上。 現在,通過一個簡單的Java客戶端,我可以訪問遠程bean。 一切正常。

Java客戶端代碼:

Context ctx = null;
          Hashtable ht = new Hashtable();
          ht.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"); 
          ht.put(Context.PROVIDER_URL, "t3://localhost:7001");
        try {
            InitialContext ic = new InitialContext(ht);

}

我的下一個方法是在Tomcat 7中部署的Web應用程序中調用此遠程bean。

引起原因:java.lang.ClassNotFoundException:weblogic.jndi.WLInitialContextFactory。

我正在使用以下代碼來調用ejb bean:Properties properties = new Properties();

        properties.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
        properties.put("java.naming.factory.url.pkgs", "weblogic.jndi.factories:weblogic.corba.j2ee.naming.url");
        properties.put(Context.PROVIDER_URL, "t3://localhost:7001");
        properties.put( Context.SECURITY_PRINCIPAL, "weblogic");  
        properties.put( Context.SECURITY_CREDENTIALS, "weblogic1");
        try {
          Context ic = new InitialContext(properties); 
}

如何使其正常工作。

謝謝

您應該在Web應用程序類路徑上具有wlthint3client.jar或wlfullclient.jar。 兩者都可以從weblogic發行版中獲得。

有關其用法的更多信息,請參見此處

為我工作,在類路徑上添加wlclient.jar wlthint3client.jar(按此順序)。

就我而言,我試圖從測試類中調用EJB。 為了獲得實例,我這樣做:

weblogic.ejb.spi.BusinessObject obj = (weblogic.ejb.spi.BusinessObject) context.lookup("MyEJBRemoteMappedName#br.com.ejbclient.MyEJBRemote");
br.com.ejbclient.MyEJBRemote myEJB = (br.com.ejbclient.MyEJBRemote) obj._WL_getBusinessObjectHandle().getBusinessObject();

我正在使用wls12130。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM