【发布时间】:2014-11-05 14:26:33
【问题描述】:
我在做什么:
我正在尝试开发一个用于从另一个域调用 EJB 的小程序。
版本
EJB 3.0
WebLogic 10.3.6
Machine1 和 Machine2 上有 2 个域,因此托管服务器是
domain1_cluster1_machine1 domain1_cluster1_machine2
domain2_cluster1_machine1 domain2_cluster1_machine2
(希望我说清楚)
我关注这个博客来开发程序: http://edwin.baculsoft.com/tag/weblogic/
我在域1_cluster1_machine1和域1_cluster1_machine2上部署了EJB,状态为Active,可以在JNDI树中找到。
然后部署客户端应用程序在域2_cluster1_machine1 和域2_cluster1_machine2
所有代码与博客相同,除了提供者网址:
t3://[IP of Machine1]:[Listen port of domain**1**_cluster1_machine1]
当我从域2_cluster1_machine1 运行客户端应用程序时,出现以下异常:
javax.naming.CommunicationException [根异常是 java.rmi.UnmarshalException:解组类失败 java.lang.对象;嵌套异常是: java.lang.ClassNotFoundException: com.edw.ejb3.HelloEJBRemote]
当我在查找中输入错误时,即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'
因此,我是否可以断定客户端能够从 domain1 找到 EJB,因为异常不是 NameNotFoundException?
那这有什么问题呢?和安全有关吗?
我是 Weblogic 和 EJB 的新手。您的帮助将不胜感激。谢谢!
【问题讨论】:
-
客户端应用程序中是否有关联的接口类?说
HelloEJBRemoteimpl 部署在cluster1 上,它的接口HelloEJBRemote应该是cluster2 部署的一部分吗? -
感谢您的评论。我忘记了cluster2中的接口。谢谢! :)
-
根据您的评论,我正在回答您的问题
标签: ejb-3.0 weblogic11g