0

我最近成功地将 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),并且解析堆栈跟踪可能不稳定并且在下一个 Wildfly 版本中“中断”。在 JBoss 6 中,当凭证错误时会出现例如 EJBAccessExceptions,因此您可以找出问题所在。

有任何想法吗?

谢谢, 詹斯

4

1 回答 1

0

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

希望有帮助!

于 2016-01-03T22:58:36.727 回答