WebSphere Application Server 7에서 JMS 연결을 작성하려고하지만 JMSWMQ2013을 계속 가져 오려고합니다 (MQ 이유 코드 2035 포함). 분명히 이것은 인증 문제이며, 나는 일반적인 문제에 대한 대략적인 생각을 가지고 있으므로 seemanyothersimilarreports입니다.WAS에서 MQ로 연결할 때
채널의 정확한 구성에 대한 운영 팀의 의견을 기다리고 있습니다. 그러나 그 동안 나는 당황한 한 가지 견해를 가지고 있습니다. WebSphere의 JAAS 인증을 사용하여 사용자 ID를 제공하면 항상 JMSWMQ2013
오류가 발생합니다. 그러나 명시 적으로 userid를 createQueueConnection()
에 대한 JMS 대기열 연결 팩토리 호출에 전달하면 인증 오류가 발생하지 않습니다.
솔직히 말해서, 두 기술이 일관되게 동작 할 것으로 기대했을 것입니다. JMS 큐 연결 팩토리에 대한 자격 증명을 제공하기 위해 JAAS를 사용하여 누락 된 일부 미묘한 점이 있습니까?
편집 :*=info: JMSApi=all: JMSServer=all: Messaging=all: JMS_WASTraceAdapter=all: com.ibm.mq.*=all: jmsApi=all
을 사용하여 WAS에서 JMS 추적을 작동시키고 출력을 한 줄씩 비교했습니다.
JAAS를 사용하는 경우 확실히 하지 채널의 MCAUSER
에 정의 된 사용자입니다 내 WAS 인스턴스가 실행중인 사용자 ID를 (반환 깊은 실제로 WMQConnection.getProcessUserId()
를 호출 JmsXAQueueConnectionImpl
의 창자에있는 것을 볼 수 있습니다).
매우 이상합니다 ... JAAS 인증 항목을 전혀 선택하지 않는 것 같습니다. 내 QCF는 DefaultPrincipalMapping의 매핑 구성 별칭과 함께 CLIENT 전송을 사용하고 있지만 어떤 이유로 JAAS 사용자 ID 대신 프로세스의 사용자 ID를 사용하고 있습니다.
감사합니다. 크레이그
내 이해를 확인해 주셔서 감사합니다. 사용자 ID 검사에 대한 생각을 바탕으로 원래 질문을 업데이트하여 좀 더 자세한 정보를 제공했습니다. JAAS 자격 증명이 무시되고있는 것처럼 보입니다. –