Ошибка клиента при подключении к ESB с использованием Java

Я пытаюсь подключиться к брокеру ESB, используя код Java, как показано ниже. Я проверил правильность имени пользователя и пароля, которые мы используем. Тем не менее я получаю эту ошибку. Что может быть причиной этой ошибки?

Caused by: [2101] progress.message.client.EInauthenticClient: Inauthentic Client
               at progress.message.client.EGeneralException.<init>(EGeneralException.java:43)
               at progress.message.client.ESecurityGeneralException.<init>(ESecurityGeneralException.java:23)
               at progress.message.client.ESecurityPolicyViolation.<init>(ESecurityPolicyViolation.java:32)
               at progress.message.client.EInauthenticClient.<init>(EInauthenticClient.java:27)
               at progress.message.zclient.Connection.connectWithRecoveryOpt(Connection.java:1055)
               at progress.message.zclient.ReconnectHelper.connectAndChaseSingleFailoverRedirect(ReconnectHelper.java:534)
               at progress.message.zclient.ReconnectHelper.connect(ReconnectHelper.java:367)
               at progress.message.zclient.Connection.connect(Connection.java:1562)
               at progress.message.jimpl.Connection.<init>(Connection.java:854)

Java-код:

Hashtable env = new Hashtable();
       env.put("java.naming.factory.initial", JNDI_FACTORY);
       env.put("java.naming.provider.url", provideURL);
       env.put(Context.SECURITY_PRINCIPAL, userName);
       env.put(Context.SECURITY_CREDENTIALS, password);
       env.put(com.sonicsw.jndi.mfcontext.domain, domainName);

InitialContext ctx = new InitialContext(env);
 qconFactory = (QueueConnectionFactory)ctx.lookup(JMS_FACTORY);
 qcon = qconFactory.createQueueConnection();

1 ответ

Это работало с кодом ниже. Добавлены параметры имени пользователя и пароля для метода createQueueConnection, и это сработало.:)

Hashtable env = new Hashtable();
       env.put("java.naming.factory.initial", JNDI_FACTORY);
       env.put("java.naming.provider.url", provideURL);
       env.put(Context.SECURITY_PRINCIPAL, userName);
       env.put(Context.SECURITY_CREDENTIALS, password);
       env.put(com.sonicsw.jndi.mfcontext.domain, domainName);

InitialContext ctx = new InitialContext(env);
 qconFactory = (QueueConnectionFactory)ctx.lookup(JMS_FACTORY);
 qcon = qconFactory.createQueueConnection(userName, password);
Другие вопросы по тегам