我在做什麼:
我想開發一個小程序來調用另一個域的EJB。從另一個域調用EJB
版本
EJB 3.0
的Weblogic 10.3.6
有2個域上MACHINE1和機器2,因此管理服務器
domain1_cluster1_machine1 domain1_cluster1_machine2
domain2_cluster1_machine1 domain2_cluster1_machine2
(希望我使它清除)
我跟着這個博客開發在PROG: http://edwin.baculsoft.com/tag/weblogic/
我部署在域 _cluster1_machine1和域 _cluster1_machine2與Active狀態的EJB,它可以在JNDI樹中找到。
然後客戶端應用程序部署在域 _cluster1_machine1和域 _cluster1_machine2
所有的代碼是一樣的博客,除了提供網址:
t3://[IP of Machine1]:[Listen port of domain**1**_cluster1_machine1]
當我運行來自域的客戶端應用程序 _cluster1_machine1,我得到以下例外:
javax.naming.CommunicationException [根異常是 java.rmi.UnmarshalException:未能解組類 java.lang.Object;嵌套的異常是: 拋出java.lang.ClassNotFoundException:com.edw.ejb3.HelloEJBRemote]
當I型錯在查找即ic.lookup("com.edw.ejb3.HelloEJBRemote")
,例外的是:
javax.naming中。 NameNotFoundException:嘗試查找時 'com.edw.ejb3.HelloEJBRemote'未找到子上下文'com'。已解決 '[根異常是javax.naming.NameNotFoundException:嘗試使用 查找'com.edw.ejb3.HelloEJBRemote'未找到子上下文'com'。 已解決''];剩餘名稱「COM/EDW/EJB3/HelloEJBRemote」
因此,我可以斷定的是,客戶端能夠找到域1的EJB作爲例外不NameNotFoundException
?
那麼這有什麼不對?它與安全有關嗎?
我是Weblogic和EJB的新手。您的幫助將不勝感激。謝謝!
Bean的仰望
Cluster 1
你有沒有在相關的接口類客戶端應用程序?比如'HelloEJBRemote' impl部署在cluster1上,其接口'HelloEJBRemote'應該部署cluster2部分? – Patton 2014-11-09 12:24:53謝謝你的評論。我忘記了cluster2中的接口。謝謝! :) – Janice 2014-11-11 01:41:30
根據您的評論我回答你的問題 – Patton 2014-11-11 10:07:16