Я пытаюсь соединить две машины, на которых работает JBoss EAP 7.1.0, с помощью моста JMS.Машина 1 должна выступать в качестве веб-сервера и имеет развернутый файл WAR, который доступен, а машина 2 должна выступать в качестве сервера приложений, и все необходимые компоненты развернуты просто отлично.
Это ошибка, которую я получаю:
WARN [org.apache.activemq.artemis.jms.bridge] (Пул потоков ServerService - 72) AMQ342010: Не удалось подключитьсяJMS Bridge N / A: javax.naming.CommunicationException: WFNAM00018: Не удалось подключиться к удаленному хосту [Исключением корня является javax.security.sasl.SaslException: Ошибка аутентификации: сбой всех доступных механизмов аутентификации: JBOSS-LOCAL-USER: javax.security.sasl.SaslException: ELY05128: [JBOSS-LOCAL-USER] Не удалось прочитать файл вызова [Вызвано java.io.FileNotFoundException: /.../.../jboss/standalone/tmp/auth/local3093626581916142639.challenge (неттакой файл или каталог)]] в org.wildfly.naming.client.remote.RemoteNamingProvider.getPeerIdentityForNaming (RemoteNamingProvider.java:110) в org.wildfly.naming.client.remote.RemoteNamingProvider.getPeerIdentityFor53ide ()org.wildfly.naming.client.NamingProvider.getPeerIdentityForNamingUsingRetry (NamingProvider.java:105) в org.wildfly.naming.client.remote..performExceptionAction (NamingProvider.java:222) в org.wildfly.naming.client.remote.RemoteContext.performWithRetry (RemoteContext.java:100) в org.wildfly.naming.client.remote.RemoteContext.lookupNative (RemoteConte) .18.поиск (WildFlyRootContext.java:144) в javax.naming.InitialContext.lookup (InitialContext.java:417) в javax.naming.InitialContext.lookup (InitialContext.java:417) в org.apache.activemq.artemis.jmsb..impl.JNDIFactorySupport.createObject (JNDIFactorySupport.java:46) в org.apache.activemq.artemis.jms.bridge.impl.activemq.artemis.jms.bridge.impl.JMSBridgeImpl.start (JMSBridgeImpl.java:398) по адресу org.wildfly.extension.messaging.activemq.jms.bridge.JMSBridgeService.startBridge (JMSBridgeService.java:11ild.jpg).extension.messaging.activemq.jms.bridge.JMSBridgeService $ 1.run (JMSBridgeService.java:84) в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149) в java.util.concurrent.ecread $(ThreadPoolExecutor.java:624) на java.lang.Thread.run (Thread.java:748) на org.jboss.threads.JBossThread.run (JBossThread.java:320)
Соединениек целевой машине (серверу приложений), поскольку путь к JBoss - это путь к машине, который я проверил, протестировав в среде сервера приложений Windows ипуть был правильным путем Windows к каталогу, в котором должен находиться файл запроса, поэтому очевидно, что соединение устанавливается при доступе к каталогам.Однако файл .challenge не появляется каждый раз, что, по понятным причинам, вызывает сообщение об ошибке.
Я уже несколько дней искал форумы SO и JBoss, и моя проблема не решалась.
Я видел это сообщение: JBOSS-LOCAL-USER: javax.security.sasl.SaslException: Не удалось прочитать запрос сервера
Это та же проблема, с которой я сталкиваюсь, ноответ, помеченный как правильный, мне не очень помогает.Решение, в данном случае, состояло в том, чтобы заменить ApplicationRealm по умолчанию областью JAAS, но я не знаю, является ли это тем, что мне нужно, и, конечно, у меня его сейчас нет.Я исследовал это, но это, казалось, не применимо к моей установке, но я мог ошибаться.
Я также попробовал это решение: https://access.redhat.com/solutions/3209281 (доступ только по подписке)
Это решение заключалось в том, чтобы удалить default-user = "$ local" отсюда:
<security-realm name="ApplicationRealm">
<authentication>
<local default-user="$local" allowed-users="*" skip-group-loading="true"/>
Я сделал это для обоих файлов standalone-full.xml на обеих машинах, и это, похоже, не имело никакого значения.
Я создал пользователей приложений на обеих машинах и дал им привилегии суперпользователя черезКонсоль JBoss, как я понял, вероятно, была проблема с разрешениями при попытке записать файл, но это тоже было безрезультатно.Я также проверил правильность обоих учетных данных пользователя.