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