WS-ReliableMessaging 문제점 해결 팁
WS-ReliableMessaging 구성의 문제점을 해결하기 위한 팁입니다.
WS-ReliableMessaging의 문제점을 식별하고 해결하려면 WebSphere® Application Server 추적 및 로깅 기능을 사용할 수 있습니다. Eclipse 기반 도구를 사용 중인 경우, Eclipse에서 TCP/IP 모니터를 사용하여 클라이언트 애플리케이션과 신뢰할 수 있는 메시징 사용 웹 서비스 사이에 수행하는 메시지를 볼 수 있습니다.
- 관리된 서비스 품질(QoS) 중 하나의 경우는 다음과 같습니다.
org.apache.sandesha2*=all=enabled:com.ibm.ws.websvcs.rm*=all=enabled:org.apache.axis2*=all=enabled:com.ibm.ws.sib.wsrm*=all=enabled
- 관리되지 않은 비지속 서비스 품질(QoS)의 경우, 다음과 같습니다.
org.apache.sandesha2*=all=enabled:com.ibm.ws.websvcs.rm*=all=enabled:org.apache.axis2*=all=enabled
WS-ReliableMessaging을 사용할 때 적용하는 알려진 주요한 제한사항 목록이 WS-ReliableMessaging 알려진 제한사항에 제공됩니다.
WebSphere Application Server 시스템 메시지는 Application Server 컴포넌트 및 애플리케이션을 포함하여 다양한 소스로부터 로깅됩니다. Application Server 컴포넌트에 의해 로깅된 메시지 및 연관된 IBM 제품이 메시지를 발행한 애플리케이션 또는 컴포넌트를 표시하는 고유한 메시지 ID로 시작됩니다. WS-ReliableMessaging 컴포넌트에 대한 접두부는 CWSKA입니다.
문제점 해결자 참조: 메시지 주제에 메시지 접두부로 색인된 모든 WebSphere Application Server 메시지에 대한 정보가 포함됩니다. 각 메시지마다 문제점에 대한 설명과 문제점 해결을 위해 수행할 수 있는 조치에 대한 세부사항이 제공됩니다.
- 시퀀스가 재할당되면 예상보다 더 많은 시퀀스를 볼 수 있습니다.
신뢰할 수 있는 메시징이 클러스터에서 실행 중인 경우, 인바운드 또는 아웃바운드 시퀀스의 런타임 상태를 검사할 때 각 시퀀스에 대한 여러 항목을 보십시오.
인바운드 또는 아웃바운드 시퀀스의 런타임 상태를 검사할 때, 각 시퀀스에 대한 여러 항목을 볼 수 있습니다.
- 버전 6.1.0.9 또는 6.1.0.11에서 지속적인 WS-ReliableMessaging 메시지를 마이그레이션할 때 런타임 오류가 발생합니다.
- Application Server가 시작될 때, 신뢰할 수 있는 메시징에 사용되는 메시징 엔진은 사용 불가능한 것으로 보고됩니다.
- 클라이언트 애플리케이션은 신뢰할 수 있는 메시징 사용 웹 서비스를 호출할 수 없습니다.
- 시퀀스는 설정되지 않고 WS-ReliableMessaging은 메시지가 전송된다는 것을 확인할 수 없습니다.
- 시퀀스가 설정되지만 사용될 수 없고 WS-ReliableMessaging은 메시지가 전송된다는 것을 확인할 수 없습니다.
- 정책 세트 바인딩이 완전하거나 올바르지 않기 때문에 신뢰할 수 있는 메시징 관리 저장소가 초기화되지 않습니다.
- 서버가 사용 불가능하기 때문에 신뢰할 수 있는 메시징이 중단됩니다.
- 클러스터에서 다중 신뢰할 수 있는 메시징 클라이언트 애플리케이션을 실행할 때 소켓 제한시간 오류가 수신됩니다.
- 서버가 사용 불가능하게 된 후 메시지가 복구되지 않습니다.
- 예외 메시지는 보안 컨텍스트 토큰이 올바르지 않다는 것을 언급합니다.
관리되는 서비스 품질(QoS)을 사용할 때 하위(servant) 영역은 제한시간 이상 종료를 경험합니다.
시퀀스가 재할당되면 예상보다 더 많은 시퀀스를 볼 수 있습니다.
인바운드 및 아웃바운드 시퀀스의 런타임 상태를 검사할 때, 시퀀스 재할당으로 인해 예상하는 것보다 더 많은 시퀀스를 볼 수 있습니다.
시퀀스가 재할당되면 원래 및 새 시퀀스는 둘 다 가시적입니다. 다중 항목을 무시하십시오.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[IBM i]](../images/iseries.gif)
신뢰할 수 있는 메시징이 클러스터에서 실행 중인 경우, 인바운드 또는 아웃바운드 시퀀스의 런타임 상태를 검사할 때 각 시퀀스에 대한 여러 항목을 보십시오.
이는 신뢰할 수 있는 메시징만 클러스터에 있는 하나의 메시징 엔진에 바인드되지만 런타임 패널이 모든 클러스터 멤버에 대한 시퀀스 정보를 한 번만 계산하고 표시하기 때문입니다. 중복 항목은 무시하십시오. 각 중복 항목을 위해 표시되는 통계의 경미한 차이는 메시지에 대한 폴링을 계속하는 동안 순차적으로 작성되는 항목으로 인한 것임을 참고하십시오.
![[z/OS]](../images/ngzos.gif)
인바운드 또는 아웃바운드 시퀀스의 런타임 상태를 검사할 때, 각 시퀀스에 대한 여러 항목을 볼 수 있습니다.
이는 신뢰할 수 있는 메시징만 하나의 메시징 엔진에 바인딩되지만 런타임 패널이 모든 서번트 영역에 대한 시퀀스 정보를 한 번만 계산하고 표시하기 때문입니다. 중복 항목은 무시하십시오. 각 중복 항목을 위해 표시되는 통계의 경미한 차이는 메시지에 대한 폴링을 계속하는 동안 순차적으로 작성되는 항목으로 인한 것임을 참고하십시오.
버전 6.1.0.9 또는 6.1.0.11에서 지속적인 WS-ReliableMessaging 메시지를 마이그레이션할 때 런타임 오류가 발생합니다.
WebSphere Application Server 버전 6.1에서 마이그레이션하고 웹 서비스용 기능팩의 버전 6.1.0.9 또는 6.1.0.11을 사용하고 사용자 구성에 관리 지속적 서비스 품질(QoS)에 구성된 WS-ReliableMessaging이 포함되는 경우, 마이그레이션하기 전에 지속되는 모든 메시지를 제거해야 합니다.
- 신뢰할 수 있는 메시징 애플리케이션을 위한 인바운드 시퀀스 콜렉션 런타임 패널로 이동하십시오.
- 모든 인바운드 시퀀스를 선택한 다음 시퀀스 및 메시지 삭제를 클릭하여 시퀀스를 삭제하십시오.
- 아웃바운드 순서 콜렉션 런타임 패널로 이동한 다음 아웃바운드 시퀀스에 대한 이전 단계를 반복하십시오.
Application Server가 시작될 때, 신뢰할 수 있는 메시징에 사용되는 메시징 엔진은 사용 불가능한 것으로 보고됩니다.
관리 서비스 품질(QoS)로 신뢰할 수 있는 메시징을 사용할 때, Application Server가 시작될 때 다음 예외 메시지를 볼 수 있습니다.
CWSIT0019E: No suitable messaging engine is available on bus yourBus that matched the specified connection properties
네트워크 배치 환경에서 메시징 엔진이 신뢰할 수 있는 메시징 애플리케이션을 호스팅하는 서버보다 더 늦게 시작되는 클러스터 멤버 또는 Application Server에 있으므로 이것이 발생할 수 있습니다. 이 경우, 기다리기만 하면 됩니다. 신뢰할 수 있는 메시징은 메시징 엔진이 사용 가능하게 될 때까지 계속 연결하려고 시도합니다.
- 지정된 메시징 엔진 및 서비스 통합 버스가 존재하는지 확인하십시오.
- 메시징 엔진을 호스팅하는 서버가 시작되는지 확인하기 위해 시스템 로그를 확인하십시오.
클라이언트 애플리케이션은 신뢰할 수 있는 메시징 사용 웹 서비스를 호출할 수 없습니다.
- 엔드포인트는 사용 가능합니다.
- 서비스가 실행 중입니다.
- 서비스가 호출되었습니다.
- WS-ReliableMessaging이 실행 중입니다.
- WS-ReliableMessaging이 올바르게 구성됩니다. 특히 관리 서비스 품질 중 하나의 서비스 통합 버스 및 메시징 엔진에 대한 올바른 바인딩을 구성했는지 확인하고 메시징 엔진이 실행 중인지 확인합니다. 자세한 정보는 관리 콘솔을 사용하여 웹 서비스 애플리케이션에 WS-ReliableMessaging 정책 세트 첨부 및 바인드 또는 wsadmin 도구를 사용하여 웹 서비스 애플리케이션에 WS-ReliableMessaging 정책 세트 첨부 및 바인드의 내용을 참조하십시오.
- 단일 메시징 엔진을 공유하는 애플리케이션이 많지
않습니다. 참고: 많은 애플리케이션이 동일한 메시징 엔진을 사용할 때, 성능에 영향을 줄 수 있습니다. 고려할 요인은 이미 메시징 엔진, CPU 활용 및 메시지 처리량에 바인딩하는 애플리케이션의 수를 포함합니다. 단일 서버 구성에 대한 성능을 개선하려면 애플리케이션에 바인드하기 위한 새 메시징 엔진을 작성하십시오.
시퀀스는 설정되지 않고 WS-ReliableMessaging은 메시지가 전송된다는 것을 확인할 수 없습니다.
시퀀스를 설정한 후 WS-ReliableMessaging은 서비스에 대한 메시지 재전송을 제공합니다. 그러나, 시퀀스가 설정되지 않으면 메시지가 서비스에 전송되고 다음 예제와 유사한 메시지가 표시됩니다.
org.apache.axis2.AxisFault: The Create Sequence request has been refused by the RM Destination
초기 createSequence 메시지가 거절됩니다. 이는 다시 전파되고 클라이언트가 실패하도록 합니다. CreateSequence 및 CreateSequenceRefused에 대한 정보는 WS-ReliableMessaging: 지원되는 스펙 및 표준의 내용을 참조하십시오.
요청이 거부되는 이유에 대해 설명하는 데 도움이 되는 후속 메시지를 볼 수도 있습니다. 예를 들어 다음과 같습니다.
Caused by: javax.xml.ws.soap.SOAPFaultException: com.ibm.ws.sib.wsrm.exceptions.WSRMRuntimeException:
CWSJZ0202I: A messaging engine connection is unavailable for bus myBus
.- 정책 세트가 올바르게 적용되는지 확인하십시오. 특히, 대상이 신뢰할 수 있는 메시징을 올바르게 사용하는지 확인하십시오.
- 서버 측 문제점을 위해 로그를 확인하십시오.
- 관리되는 지속적 서비스 품질(QoS)의 경우, 연관된 메시징 엔진이 사용 가능한지 확인하십시오.
시퀀스가 설정되지만 사용될 수 없고 WS-ReliableMessaging은 메시지가 전송된다는 것을 확인할 수 없습니다.
다음 예외와 같은 예외가 발생하면, 시퀀스가 설정되지만 사용될 수 없습니다.
javax.xml.ws.WebServiceException: org.apache.axis2.AxisFault: The value of wsrm:Identifier is not a known Sequence identifier
.대부분의 공통 이유는 클러스터된 환경에서 작동하고 있지만 사용자의 서버 측 정책 세트가 비관리 비지속적 서비스 품질(QoS)을 지정하는 것입니다. 예를 들어, WS-I RSP 기본 정책 세트는 비관리 비지속적 서비스 품질(QoS)을 지정합니다. 클러스터된 환경에서 신뢰할 수 있는 비동기 메시징을 사용하려면, 클러스터 멤버가 신뢰할 수 있는 메시징 상태를 상호 관련시킬 수 있게 하기 위해 관리되는 서비스 품질(QoS)을 사용해야 합니다. 이를 수행하려면, WS-I RSP ND 기본 정책 세트를 사용하거나 WS-ReliableMessaging 정책이 관리되는 서비스 품질(QoS) 및 서비스 통합 버스와 메시징 엔진에 대한 연관된 바인딩을 지정하도록 사용자 정의 정책 세트를 수정하십시오. 이를 수행하는 방법에 대한 정보는 관리 콘솔을 사용하여 WS-ReliableMessaging 정책 세트 구성 및 관리 콘솔을 사용하여 웹 서비스 애플리케이션에 WS-ReliableMessaging 정책 세트 첨부 및 바인드의 내용을 참조하십시오.
정책 세트 바인딩이 완전하거나 올바르지 않기 때문에 신뢰할 수 있는 메시징 관리 저장소가 초기화되지 않습니다.
정책 세트가 관리되는 서비스 품질(QoS)을 지정하지만 해당 서비스 품질(QoS)을 지원하기 위해 메시징 엔진에 바인딩을 지정하지 않으면, 다음 예외 메시지를 가져옵니다.
CWSKA0102E: The managed web services reliable messaging storage manager could not be initialized because the policy set binding was incomplete or invalid
.관리되는 정책 세트를 애플리케이션에 첨부하고 기본 바인딩을 사용했을 수 있습니다(이는 관리되는 서비스 품질(QoS)을 지원하지 않음). 관리되는 서비스 품질(QoS)을 지원하기 위해 서비스 통합 버스 및 메시징 엔진을 지정하는 애플리케이션에 대해 새 바인딩을 작성해야 합니다. 이를 수행하려면 관리 콘솔을 사용하여 웹 서비스 애플리케이션에 WS-ReliableMessaging 정책 세트 첨부 및 바인드의 내용을 참조하십시오.
서버가 사용 불가능하기 때문에 신뢰할 수 있는 메시징이 중단됩니다.
클러스터링은 사용 불가능하게 되는 서버에 대한 최대의 보호를 제공합니다. 이는 고가용 서비스 엔드포인트를 제공하고 (서비스 통합 버스를 통해) 신뢰할 수 있는 메시징 계층의 고가용성을 제공합니다.
웹 서비스 및 메시징 엔진에 대한 고가용성을 구성하는 데 대한 자세한 정보는 워크로드 밸런싱 및 클러스터에 메시징 엔진 추가의 내용을 참조하십시오.
클러스터에서 다중 신뢰할 수 있는 메시징 클라이언트 애플리케이션을 실행할 때 소켓 제한시간 오류가 수신됩니다.
다수의 애플리케이션이 동일한 메시징 엔진을 사용할 때, 성능에 영향을 주고 경우에 따라서 제한시간 오류로 이어질 수 있습니다.
웹 서비스 및 메시징 엔진에 대한 고가용성을 구성하는 데 대한 자세한 정보는 워크로드 밸런싱 및 클러스터에 메시징 엔진 추가의 내용을 참조하십시오.
서버가 사용 불가능하게 된 후 메시지가 복구되지 않습니다.
신뢰할 수 있는 메시징 계층이 요청 메시지를 수신할 때 이는 수신확인을 전송한 다음 대상 서비스에 메시지를 전달합니다. 요청 메시지가 수신확인된 후와 전달되기 전에 신뢰할 수 있는 메시징 계층을 호스팅하는 서버가 사용 불가능하게 되는 미미한 가능성이 있습니다. 이런 경우, 관리되는 지속적 서비스 품질(QoS)과 순서대로 전달을 사용하는 경우에만 메시지가 복구됩니다. 순서대로 전달을 지정하려면 WS-ReliableMessaging 정책 구성에 설명된 대로 "보내진 순서로 메시지 전달"에 대한 WS-ReliableMessaging 정책 옵션을 선택하십시오.
예외 메시지는 보안 컨텍스트 토큰이 올바르지 않다는 것을 언급합니다.
지속적인 WS-I RSP 프로파일 및 WS-SecureConversation으로 신뢰할 수 있는 메시징을 사용할 때 예외 메시지는 보안 컨텍스트 토큰이 올바르지 않다는 것을 언급합니다.
CWWSS7215E: Cannot get valid security context token from the cache.
WS-ReliableMessaging이 해당 메시지를 복구하고 재전송할 수 있기 전에 범위 지정 보안 컨텍스트 토큰이 만료되지 않는다는 것을 확인하려면 WS-ReliableMessaging에 대한 작업을 위한 WS-SecureConversation 구성 태스크를 완료하십시오.
![[z/OS]](../images/ngzos.gif)
관리되는 서비스 품질(QoS)을 사용할 때 하위(servant) 영역은 제한시간 이상 종료를 경험합니다.
제한시간 이상 종료는 너무 높게 설정되는 sib.wsrm.tokenLockTimeout 사용자 정의 특성의 값에 의해 초래될 수 있습니다. 이 특성은 WS-ReliableMessaging 정책 바인딩에 지정되는 메시징 엔진에 설정됩니다. 값은 제어 영역이 비활성적 하위(servant) 영역을 종료하기 전에 기다리는 시간 미만이어야 합니다. 이 특성에 대한 자세한 정보는 서비스 통합 사용자 정의 특성 주제를 참조하십시오.