SaslException в удаленном EJB-клиенте WildFly

Я получаю следующую ошибку на удаленном клиенте EJB при поиске EJB на сервере wildfly 8.2.1.

18: 04: 46,754 ОШИБКА [соединение] JBREM000200: сбой удаленного соединения: javax.security.sasl.SaslException: сбой аутентификации: сбой всех доступных механизмов аутентификации: 18:04:46,755 INFO [RemotingConnectionClusterNodeManager] Не удалось создать соединение для узла кластера ClusterNode{clusterName='ejb', nodeName='node-00', clientMappings=[ClientMapping{sourceNetworkAddress=/0:0:0:0:0:0:0:0, sourceNetworkMaskBits=0, destinationAddress='127.0.0.1', destinationPort=8080}], resolvedDestination=[Адрес назначения =127.0.0.1, порт назначения =8080]} в кластере ejb java.lang.RuntimeException: javax.security.sasl.SaslException: сбой аутентификации: сбой доступных механизмов аутентификации: в организации.jboss.ejb.client.remoting.IoFutureHelper.get(IoFutureHelper.java:92) в org.jboss.ejb.client.remoting.ConnectionPool.getConnection(ConnectionPool.java:77) в org.jboss.ejb.client..RemotingConnectionManager.getConnection(RemotingConnectionManager.java:51) в org.jboss.ejb.client.remoting.RemotingConnectionClusterNodeManager.getEJBReceiver(RemotingConnectionClusterNodeManager.java:79) по адресу org.jboss.ejb.client.ClusterContext$EJBReceiverAssociationTask.call(ClusterContext.jcj.ctec.java:379) в java.util.concurrent.FutureTask.run(неизвестный источник) в java.util.concurrent.ThreadPoolExecutor.runWorker(неизвестный источник) в java.util.concurrent.ThreadPoolExecutor$Worker.run(неизвестный источник) в java.lang.Thread.run(Неизвестный источник) Причина: javax.security.sasl.SaslException: сбой аутентификации: сбой всех доступных механизмов аутентификации: at org.jboss.remoting3.remote.ClientConnectionOpenListener.allMechanismsFailed(ClientConnectionOpenListener.java:113) org.jboss.remoting3.remote.ClientConnectionOpenListener$Capabilities.handleEvent(ClientConnectionOpenListener.java:443) в org.jboss.remoting3.remote.ClientConnectionOpenListener $ Capabilities.handleEvent (ClientConnectionOpenListe) ner.java:242) в org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) в org.xnio.channels.TranslatingSuspendableChannel.handleReadable(TranslatingSuspendableChannel.java:199) в org.s.Elang. Перевести: 92) в org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66) в org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:88) в org.xnorkio.io WorkerThread.java:539) в... асинхронный вызов...(неизвестный источник) в org.jboss.remoting3.EndpointImpl.doConnect(EndpointImpl.java:272) в org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:388) в org.jboss.ejb.client.remoting.NetworkUtil.connect(NetworkUtil.java:153) в org.jboss.ejb.client.remoting.NetworkUtil.connect(NetworkUtil.java:133) в org.jboss.ejb.client.remoting.ConnectionPool.getConnection(ConnectionPool.java:75) ... еще 8

WildFly запускается в доменном режиме при работающем 1 узле. Там свойства используются для создания начального контекста:

jboss.naming.client.ejb.context=false
java.naming.factory.initial=org.jboss.naming.remote.client.InitialContextFactory
remote.connections=node-00
remote.connection.node-00.connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT=false
remote.connection.node-00.connect.options.org.xnio.Options.SASL_DISALLOWED_MECHANISMS=${host.auth:JBOSS-LOCAL-USER}
endpoint.name=node-00-client-endpoint
remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false
remote.connection.node-00.host=localhost
remote.connection.node-00.username=user
remote.connection.node-00.password=pass
remote.connection.node-00.port=8080
java.naming.provider.url=http-remoting://localhost:8080
java.naming.factory.url.pkgs=org.jboss.ejb.client.naming
remote.cluster.ejb.connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT=false

Следующий код используется для создания удаленного соединения и контекста, используя вышеуказанные ejbProperties:

if (ejbProperties!= null) {
            final EJBClientConfiguration ejbClientConfiguration = new PropertiesBasedEJBClientConfiguration(ejbProperties);
            final ConfigBasedEJBClientContextSelector selector = new ConfigBasedEJBClientContextSelector(ejbClientConfiguration);
            EJBClientContext.setSelector(selector);
            EJBClientContext.getCurrent().registerInterceptor(0, new ClientInterceptor());
        }

        ctx = new InitialContext(ejbProperties);

Следующий код используется для поиска EJB:

appBean= (AppRemote) getCtx().lookup(getJNDIPrefix() + "AppBean!" + AppRemote.class.getName());

EJB lookip & call работает отлично, но SaslException, вставленный сверху, появляется в клиентской консоли. Я использую пользовательский домен безопасности LDAP и пользовательскую область безопасности для коннектора http-remoting. Даже если все работает нормально, мне интересно, что вызывает это исключение при вызове клиента.

0 ответов

Другие вопросы по тегам