确定失败的远程EJB调用的原因

时间:2016-01-02 19:40:54

标签: java jboss ejb wildfly wildfly-9

我最近成功地将j-lawyer.org从JBoss 6迁移到Wildfly 9.0.2,并提出以下问题:

我正在使用一个访问远程EJB的Swing应用程序(启用了安全性)。启动应用程序时,用户可以选择指定服务器和端口以及提供凭据。

问题:如何区分连接问题(服务器或端口错误)和身份验证问题(凭据错误)?

如果发生任何故障,我得到的只是

java.lang.IllegalStateException: EJBCLIENT000025: No EJB receiver
available for handling [appName:j-lawyer-server, moduleName:j-lawyer
server-ejb, distinctName:] combination for invocation context
org.jboss.ejb.client.EJBClientInvocationContext@10a4ea27

我对EJB远程调用一般没有任何问题 - 一切正常。

为了向最终用户提供有意义的错误消息,我想找出连接失败的根本原因。 #getCause没有帮助(再次是IllegalStateException),并且解析堆栈跟踪可能不稳定并且" break"随着下一个Wildfly发布。使用JBoss 6,例如凭据错误时EJBAccessExceptions,因此您可以找出问题所在。

有什么想法吗?

谢谢, 延

1 个答案:

答案 0 :(得分:0)

您是否相应地更新了客户端代码,以确保JNDI条目和存根代码与您的新服务器兼容?查看一些相关问题并查看具体代码。 Here,或here,最后但并非最不重要的是检查远程EJB调用here中的官方Jboss(Wildfly)页面,还有一个可以使用的特定于Wildfly的API。

希望有所帮助!