我最近成功地将 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,因此您可以找出问题所在。
有任何想法吗?
谢谢, 詹斯