2017-02-20 153 views
1

我在本地機器上創建了兩個自由實例。我部署了一個戰爭模塊,其中包含服務器X中的遠程ejb,並在服務器Y中部署了另一場戰爭,該服務器必須遠程查找服務器X中的ejb。websphere liberty 8.5.5.9遠程ejb查找失敗

下面是從restful webservice中查找ejb的代碼。

Properties p = new Properties(); 
p.setProperty("java.naming.provider.url", "corbaname:iiop:localhost:2809"); 
InitialContext context = new InitialContext (p); 
context.lookup("corbaname:rir:#ejb/global/caching/CachingServiceBean!com%5c.ejb%5c.CachingService"); 

當我嘗試調用Web服務,我得到異常下面

DII操作不是由本地對象

enter image description here

附:支持 我已啓用兩個具有不同端口號的服務器上的ejbRemote功能。

我改變了我的查詢字符串 「corbaloc:IIOP:本地主機:2809 /名稱服務#EJB /全球/緩存/ CachingServiceBean COM%5c.ejb%5c.CachingService」,然後我得到下面的錯誤

enter image description here

然後,我改變了我的查詢字符串 「corbaname:IIOP:本地主機:2809 /名稱服務#EJB /全球/緩存/ CachingServiceBean COM%5c.ejb%5c.CachingService」,然後我得到了下面的錯誤

enter image description here

在GitHub上檢查apache geronimo-yoko實現後,我明白我必須使用corbaloc:iiop:localhost:2809。不過還是我越來越引起

org.omg.CORBA.OBJECT_NOT_EXIST例外:無法調度 - 受僱人或POA沒有找到

我用下面的網址,沒有運氣:

  1. corbaloc:IIOP:本地主機:2809 /全局/高速緩存/ CachingServiceBean com.ejb.CachingService
  2. corbaloc:IIOP:本地主機:2809 /#EJB /全局/高速緩存/ CachingServiceBean! com.ejb.CachingService 3.corbaloc:iiop:localhost:2809/caching/CachingServiceBean!com.ejb.CachingService 4.corbaloc:iiop:localhost:2809/ejb/global/caching/CachingServiceBean!com.ejb.CachingService
+1

請不要張貼堆棧痕跡的圖片。這使得閱讀和搜索非常困難。相反,將文本複製/粘貼到您的問題 –

+0

我很抱歉,我背後的代理不允許我發佈。我正在使用我的手機 –

+0

我嘗試了所有可能的方式,但沒有運氣。我試過corbaloc:iiop:localhost:2809/NameService#ejb/global/caching/CachingServiceBean!com.ejb.CachingService,corbaloc:iiop:localhost:2809/NameService/global/caching/CachingServiceBean!com.ejb.CachingService,corbaloc :iiop:localhost:2809/NameService#java:global/caching/CachingServiceBean!com.ejb.CachingService,corbaloc:iiop:localhost:2809 /#ejb/global/caching/CachingServiceBean!com.ejb.CachingService,corbaloc:iiop: localhost:2809 /#java/global/caching/CachingServiceBean!com.ejb.CachingService和更多的組合,沒有任何運氣。 –

回答

0

我覺得問題在於包裝。我把我的ejb打包在一個戰爭模塊中。

我按照此頁面提及的PDF中描述的步驟http://www.redbooks.ibm.com/redpieces/abstracts/sg248076.html,現在一切正常。

我用corbaname ::主持人:端口語法來查找遠程EJB,而不是corbaloc:IIOP:主機:端口

收拾EJB在耳後,然後它開始工作。