Ошибка клиента при подключении к 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);