2017-04-07 115 views
0

如果EJB调用部署在本地计算机上,则EJB调用会成功。当如果它是由远程JBoss机器叫,下面抛出异常的骆驼context.xml中使用Apache驼峰远程EJB调用通过JBOSS失败EAP 6.4

Exchange-exception :java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver available for handling [appName:, moduleName:ejbmavendemo-0.0.1-SNAPSHOT, distinctName:] combination for invocation context [email protected] 
at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:747) 
at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:116) 

配置如下

click on this link to view the xml details

不知道,所缺少的。请指点

回答

0

它可以有几个问题:

  • 连接:连接破
  • 安全:用户名/密码无效
  • EJB丢失:连接,但是EJB是不是有
  • SSL

EJBClientContext将所有可用的接收器保留在服务器名称为关键字的映射中。如果有多个具有相同名称的服务器,则这些条目将丢失。

如果它位于服务器实例内部,则该实例将首选,并且具有相同服务器名称的所有其他实例都将被隐藏。 在这种情况下,不能访问仅在此类服务器上可用的EJB。

  • 检查出站连接
  • 检查在目标服务器的用户名和密码(注意:必须是EAP应用程序的用户,而不是管理用户)
  • 检查在目标服务器
  • 检查的秘密值在jboss-ejb-client.properties文件中指定属性后没有剩余空格。
  • 启用org.jboss.ejb.client和org.jboss.remoting以使TRACE日志记录查看客户端调用的详细消息。

JBoss的维护与其他服务器的持久连接,因此当客户看到这个消息,这意味着有是有,你试图调用EJB服务器没有连接,所以消息将被记录在连接失败的另一台服务器。