버스 인에이블된 웹 서비스 문제점 해결 팁
이 특정 팁 세트를 사용하면 서비스 통합 버스 인에이블된 웹 서비스에서 발생할 수 있는 문제점을 해결하는 데 도움이 될 수 있습니다.
버스 인에이블된 웹 서비스의 문제점 식별 및 해결을 도우려면 컴포넌트 추적(CTRACE) 설정에 설명된 대로 WebSphere Application Server 추적 및 로깅 기능을 사용하십시오.
버스 인에이블된 웹 서비스에 대한 추적을 사용으로 설정하려면 애플리케이션 서버 추적 문자열을 com.ibm.ws.sib.webservices.*=all=enabled로 설정하십시오. 버스 인에이블된 웹 서비스와 관련된 것으로 판단되는 문제점이 발생하는 경우 WebSphere Application Server 관리 콘솔 및 애플리케이션 서버 SystemOut.log 파일에서 오류 메시지를 확인할 수 있습니다. 또한 애플리케이션 서버 디버그 추적을 사용하여 자세한 예외 덤프를 제공할 수도 있습니다.
버스 인에이블된 웹 서비스를 사용할 때 적용되는 알려진 기본 제한사항 목록은 버스 인에이블된 웹 서비스: 알려진 제한사항에서 제공됩니다.
WebSphere Application Server 시스템 메시지는 Application Server 컴포넌트 및 애플리케이션을 포함하여 다양한 소스로부터 로깅됩니다. 애플리케이션 서버 컴포넌트 및 연관된 IBM 제품에 의해 로그되는 메시지는 메시지를 발생한 컴포넌트 또는 애플리케이션을 표시하는 고유 메시지 ID로 시작됩니다. 버스 인에이블된 웹 서비스 컴포넌트의 접두부는 CWSWS입니다.
메시지 주제에는 메시지 접두부로 색인화되어 있는 모든 WebSphere Application Server 메시지에 대한 정보가 포함되어 있습니다. 각 메시지마다 문제점에 대한 설명과 문제점 해결을 위해 수행할 수 있는 조치에 대한 세부사항이 제공됩니다.
- 버스 인에이블된 웹 서비스를 보안 서비스 통합 버스에 연결할 수 없음
- WebSphere Application Server 버전 5.1에서 실행되고 있는 JAX-RPC 클라이언트가 JMS를 통한 SOAP을 사용하여 웹 서비스를 호출하는 중 오류 발생
- 버스가 WSDL 문서를 검색하기 위해 인증 프록시 서버를 통해 메시지를 전달해야 하는 경우 WSDL을 명령행을 통해 검색해야 함
- HTTPS를 통한 SOAP 메시지를 전송하려고 시도하는 중에 잘못된 양식 URLException 오류 발생
- sibwsauthbean.ear 파일 설치 시 오류가 리턴됨
- 아웃바운드 서비스가 대상 서비스의 응답을 대기하는 동안 서비스 통합 버스가 제한시간을 초과함
- 버스 인에이블된 웹 서비스 애플리케이션 또는 자원을 수동으로 설치해야 함
- 클라이언트 애플리케이션이 WebSphere Application Server 버전 5.1에서 작동하지만 이후 버전에서는 문제점 발생
- SDO 저장소에서 사용할 Informix 데이터베이스를 작성하려고 시도하는 중에 오류 발생
- UDDI 레지스트리에 공개된 인바운드 서비스가 나열되지 않고 재공개에 실패함
- 원격 버스에 연결하기 위해 JMS를 사용하려면 웹 서비스 클라이언트가 버스에 연결할 수 있도록 하는 추가 구성이 필요함
- 서비스 통합 버스를 통해 큰 첨부 파일을 전달하면 JVM(Java Virtual Machine)에서 메모리 부족 오류 발생
- 관리 콘솔을 사용하여 새 엔드포인트 리스너 구성을 작성하려고 시도 중에 오류 발생
- 관리 콘솔을 통해 새 인바운드 서비스를 작성하려고 시도하는 중에 오류 발생
- 첨부 파일이 있는 SOAP 메시지 처리 관련 문제점
- 다른 머신에 있는 JMS 자원이 같은 이름을 가지는 경우 JNDI 검색 오류 발생
- SOAP 결함 메시지에서 정확한 문제점을 판별할 수 없음
- JMS를 통한 SOAP 엔드포인트 리스너를 사용하여 큰 메시지가 전달될 때 리스너 포트 제한시간 오류 발생
버스 인에이블된 웹 서비스를 보안 서비스 통합 버스에 연결할 수 없음
CWSIV0801E: The exception javax.resource.ResourceException:
CWSIV0958E: The authorization exception
com.ibm.wsspi.sib.core.exception.SINotAuthorizedException:
CWSIP0302E: A user HostServer is not authorized to access the messaging engine
xyzNode01.server1-xyz on bus xyz. was thrown while attempting to create a
connection to messaging engine 221C86B845BE5E8B using the activation
specification [<activation_specification_field_trace>].
was thrown during the creation of a connection
to messaging engine xyzNode01.server1-xyz on bus xyz.
기본적으로 버스 인에이블된 웹 서비스 컴포넌트는 서비스 통합 자원 어댑터를 통해 보안 버스 대상에 연결할 수 있습니다. 따라서 구성은 어떠한 방식으로든 변경되었음이 틀림없습니다.
- 버스에 대한 액세스는 버스 커넥터 역할을 통해 구성됩니다. 기본적으로 모든 버스 커넥터 역할은 서버라는 그룹을 포함합니다. 이 그룹의 멤버는 버스에 연결할 권한이 있습니다.
- 서비스 통합 자원 어댑터는 J2C 활성화 스펙을 사용하여 버스와 통신합니다. 기본적으로 활성화 스펙에는 true로 설정되는 부울 사용자 정의 특성 useServerSubject가 있습니다. 이 특성을 사용하여 서비스 통합 자원 어댑터는 서버 그룹의 주제(Subject)(멤버)로 버스에 연결됩니다.
서비스 통합 자원 어댑터가 버스에 액세스하는 데 사용하는 인증 별명을 정의하여 이 기본 구성을 대체할 수 있습니다. 자세한 정보는 버스 사용 웹 서비스와 보안 버스 간의 기본 보안 구성 대체의 내용을 참조하십시오.
기본 구성 및 이 구성의 수정 또는 대체의 영향에 대한 세부 정보는 보안 버스에 액세스하기 위한 버스 인에이블된 웹 서비스 기본 구성의 내용을 참조하십시오.
- Creating connection with Userid and password 문구는 J2C 활성화 스펙에 대해 구성된 인증 별명을 시스템이 찾고 사용하려고 시도하고 있음을 나타냅니다.
- No userid/password passed. Creating connection using server subject 문구는 시스템이 서버 주제를 찾았고 사용하려고 시도하고 있음을 나타냅니다.
아웃바운드 서비스가 대상 서비스의 응답을 대기하는 동안 서비스 통합 버스가 제한시간을 초과함
java.net.SocketTimeoutException: Socket operation timed out before it could be completed
기본 제한시간 값은 60초이므로 대상 웹 서비스가 응답하는 데 60초를 초과한 시간이 걸리는 경우 이 오류가 발생합니다. 인바운드 포트 [Settings]에서 설명한 대로 인바운드 포트에서 timeout 사용자 정의 특성을 설정하여 제한시간 값을 늘릴 수 있습니다.
버스 인에이블된 웹 서비스 애플리케이션 또는 자원을 수동으로 설치해야 함
- 버스 인에이블된 웹 서비스 애플리케이션(사용자가 서비스 통합 버스를 통해 웹 서비스를 구성하고 액세스할 수 있도록 하는 애플리케이션)입니다.
- 서비스 통합 기술 자원 어댑터(아웃바운드 포트에서 웹 서비스를 호출하는 데 사용됨)입니다.
- 엔드포인트 리스너 애플리케이션(인바운드 서비스를 위한 메시지가 수신되는 위치를 사용으로 설정하는 데 사용됨)입니다.
그러나 다음 애플리케이션 중 하나를 수동으로 설치해야 하는 경우 제공된 sibwsInstall.jacl 스크립트를 사용하고 WebSphere Application Server 버전 6.0.x 주제: 버스 인에이블된 웹 서비스 애플리케이션 및 자원 설치의 지시사항에 따라 수동 설치를 수행할 수 있습니다.
클라이언트 애플리케이션이 WebSphere Application Server 버전 5.1에서 작동하지만 이후 버전에서는 문제점 발생
WebSphere Application Server 버전 5.1에서 작동하는 클라이언트 애플리케이션이 있지만 이후 버전에서는 잘못 구성된 요청 또는 응답으로 인해 문제점이 발생합니다.
버스 인에이블된 웹 서비스는 WebSphere Application Server 버전 5.1에서 수행할 때보다 더 철저하게 웹 서비스 메시지의 유효성을 검사합니다. 결과적으로, 잘못 형성된 요청 또는 응답을 사용하는 일부 클라이언트 애플리케이션(여기서 메시지 파트의 이름이 잘못 지정됨) 및 버전 5.1을 사용할 때 해당 작업이 나중 버전에서 잘못 형성된 것으로 식별됩니다. 문제점을 해결하기 위해 사용한 단계에 대해서는 잘못 구성된 SOAP 메시지의 허용의 내용을 참조하십시오.
WebSphere Application Server 버전 5.1에서 실행되고 있는 JAX-RPC 클라이언트가 JMS를 통한 SOAP을 사용하여 웹 서비스를 호출하는 중 오류 발생
WebSphere Application Server 버전 5.1에서 실행되고 있는 JAX-RPC 클라이언트가 JMS를 통한 SOAP을 사용하여 버전 5 애플리케이션 서버에서 실행 중인 웹 서비스를 호출합니다. 대상 MQ Series 큐에서는 사용자 ID 또는 비밀번호가 필요하지 않습니다. 애플리케이션 서버가 이후 버전으로 기본 메시징을 사용하도록 마이그레이션되면 이제 기본 인증이 사용으로 설정되어 클라이언트 요청이 실패합니다.
SibMessage W [:] CWSIT0009W: A client request failed in the
application server with endpoint <endpoint_name> in bus your_bus
with reason: CWSIT0016E: The user ID null failed authentication
in bus your_bus.
문제점을 해결하기 위해 수행할 단계는 다음 서비스 통합 기술 문제점 해결 팁 버전 5.1 애플리케이션 서버를WebSphere Application Server 버전 7.0 이상에 마이그레이션의 내용을 참조하십시오.
SDO 저장소에서 사용할 Informix 데이터베이스를 작성하려고 시도하는 중에 오류 발생
SDO 저장소에서 사용할 Informix® 데이터베이스를 작성하려는 시도에 실패하고 비로깅 데이터베이스에 대한 트랜잭션 격리가 없음 메시지를 수신합니다.
비로깅 데이터베이스에 대한 트랜잭션 격리가 없음이 예외 메시지의 일부로 표시되면 이는 사용 중인 Informix 데이터베이스에서 로깅이 사용 안함으로 설정되어 있기 때문입니다. SDO 저장소에서 Informix 데이터베이스를 사용하려면 로깅을 사용으로 설정해야 합니다.
javax.transaction.TransactionRolledbackException:
CORBA TRANSACTION_ROLLEDBACK 0x0 No;
nested exception is:
org.omg.CORBA.TRANSACTION_ROLLEDBACK:
javax.transaction.TransactionRolledbackException: ;
nested exception is:
javax.ejb.TransactionRolledbackLocalException: ;
nested exception is:
com.ibm.ws.ejbpersistence.utilpm.PersistenceManagerException:
PMGR1013E: Exception occurred when verifying current backend id
INFORMIX_V94: javax.resource.spi.ResourceAllocationException:
DSRA0080E: An exception was received by the Data Store Adapter.
See original exception message:
No Transaction Isolation on non-logging dbs., error code:
DSA_ERROR, error code: DSA_ERROR vmcid: 0x0 minor code: 0
completed: No
- CREATE DATABASE SDOREP WITH LOG;
- CREATE DATABASE SDOREP WITH BUFFERED LOG:
- CREATE DATABASE SDOREP WITH LOG MODE ANSI;
UDDI 레지스트리에 공개된 인바운드 서비스가 나열되지 않고 재공개에 실패함
관리 콘솔에 따르면 UDDI 레지스트리에 공개되는 인바운드 서비스가 있습니다. UDDI 레지스트리 선택 시 서비스가 그 위치에 나열되지 않음을 발견합니다. 관리 콘솔을 사용하여 UDDI에 서비스를 재공개하려고 시도하는 경우 시도가 실패합니다.
서비스가 UDDI 레지스트리에 공개되었고 WebSphere Application Server 관리 콘솔에 표시된 서비스 구성에 UDDI 서비스 키가 포함되지만 WebSphere Application Server 마스터 구성에 해당 업데이트가 적용되지 않은 상태에서 서비스가 UDDI에서 후속적으로 공개 해제되지 않았습니다. 이 상황이 발생할 수 있는 한 가지 경우는 관리 콘솔을 사용하여 UDDI 레지스트리에 공개되는 인바운드 서비스를 삭제한 다음 변경사항을 저장하지 않은 상태에서 관리 콘솔에서 로그아웃하는 경우입니다. 이 경우, 서비스는 UDDI 레지스트리에서 공개 해제되지만 WebSphere Application Server에서는 삭제되지 않습니다(삭제 요청이 확인되지 않고 따라서 이 요청이 적용되지 않기 때문임).
- 탐색 분할창에서 를 클릭하십시오.이 인바운드 서비스에 대한 현재 설정이 표시됩니다.
- 템플리트 WSDL 다시 로드를 클릭한 다음 변경사항을 저장하십시오.
- UDDI에서 공개 해제를 클릭한 다음 변경사항을 저장하십시오.
- UDDI에 공개를 클릭한 다음 변경사항을 저장하십시오.
버스가 WSDL 문서를 검색하기 위해 인증 프록시 서버를 통해 메시지를 전달해야 하는 경우 WSDL을 명령행을 통해 검색해야 함
버스가 WSDL 문서를 검색하기 위해 인증 프록시 서버를 통해 메시지를 전달해야 하는 경우 명령행 도구를 사용하여 WSDL을 검색해야 합니다.
원격 버스에 연결하기 위해 JMS를 사용하려면 웹 서비스 클라이언트가 버스에 연결할 수 있도록 하는 추가 구성이 필요함
JMS를 사용하여 원격 버스에 연결하는 경우 웹 서비스 클라이언트가 버스에 연결할 수 있도록 하는 추가 구성이 필요합니다.
버스의 멤버인 서버에서 실행 중인 웹 서비스 클라이언트 애플리케이션은 해당 버스에서 메시징 엔진을 찾을 수 있습니다. 애플리케이션 서버 외부에서 실행 중인(예: WebSphere Application Server 환경 외부에서 실행되고 있음) 웹 서비스 클라이언트 애플리케이션은 연결할 적합한 메시징 엔진을 대상 버스에서 직접 찾을 수 없습니다. 마찬가지로 다른 셀에 있는 대상 버스에 연결해야 하는 한 셀의 서버에서 실행 중인 웹 서비스 클라이언트 애플리케이션은 대상 버스에서 연결할 적합한 메시징 엔진을 직접 찾을 수 없습니다.
웹 서비스 클라이언트 애플리케이션이 원격 버스에 있는 대상 메시징 엔진에 접속할 수 있도록 하려면 클라이언트가 사용하는 JMS 연결을 클라이언트가 원격 버스에 있는 부트스트랩 메시징 엔진에 연결할 수 있도록 구성하십시오. 그러면 부트스트랩 메시징 엔진이 대상 엔진을 식별하고 대상 엔진에 액세스하는 데 필요한 정보가 클라이언트에게 다시 전달됩니다. 부트스트랩 프로세스를 가능하게 하려면 클라이언트가 사용하는 연결 팩토리에서 한 개 이상의 제공자 엔드포인트를 구성하십시오. 자세한 정보는 비기본 부트스트랩 서버에 대한 연결 구성의 내용을 참조하십시오.
서비스 통합 버스를 통해 큰 첨부 파일을 전달하면 JVM(Java Virtual Machine)에서 메모리 부족 오류 발생
서비스 통합 버스를 통해 큰 첨부 파일을 전달하면 JVM(Java Virtual Machine)에서 메모리 부족 오류가 발생합니다.
이 오류가 발생하면 버스 사용 웹 서비스 조정에 설명된 대로 힙 크기를 늘리십시오.
관리 콘솔을 사용하여 새 엔드포인트 리스너 구성을 작성하려고 시도 중에 오류 발생
관리 콘솔을 사용하여 새 엔드포인트 리스너 구성을 작성하기 위해 엔드포인트 리스너 콜렉션 패널에서 새로 작성을 클릭하면 "기다리십시오" 아이콘이 표시되지만 대상 패널은 표시되지 않습니다.
이 문제점은 Mozilla 웹 브라우저의 이전 버전에서만 발견됩니다. 브라우저를 버전 1.4 이상으로 업그레이드하십시오. 임시 해결책으로 New를 다시 클릭하면 대상 패널이 표시됩니다.
관리 콘솔을 통해 새 인바운드 서비스를 작성하려고 시도하는 중에 오류 발생
관리 콘솔을 통해 새 인바운드 서비스를 작성하려고 시도하는 경우 대상의 드롭 다운 목록이 비어 있고 대상을 선택해야 함 오류 메시지로 마법사가 1단계에서 중지됩니다.
이 문제점은 인바운드 서비스를 작성 중인 서비스 통합 버스에 메시징 엔진이 없는 경우에만 발생할 수 있습니다. 메시징 엔진을 작성한 다음 서비스 대상을 작성하고 마법사를 다시 실행하여 새 인바운드 서비스 구성을 작성하십시오.
첨부 파일이 있는 SOAP 메시지 처리 관련 문제점
서비스 통합 버스를 통해 큰 첨부 파일을 전달하면 JVM(Java Virtual Machine)에서 메모리 부족 오류가 발생함의 내용을 참조하십시오.
HTTPS를 통한 SOAP 메시지를 전송하려고 시도하는 중에 잘못된 양식 URLException 오류 발생
HTTPS를 통한 SOAP 메시지를 전송하려고 시도하는 중에 잘못된 양식 URLException 오류를 수신합니다.
서비스 통합 기술은 SSL(Secure Sockets Layer)을 사용하여 해당 주소에 https://를 포함하는 외부 웹 서비스를 호출할 수 있습니다. 자세한 정보는 HTTPS를 통해 아웃바운드 서비스 호출의 내용을 참조하십시오.
다른 머신에 있는 JMS 자원이 같은 이름을 가지는 경우 JNDI 검색 오류 발생
다른 머신에 있는 애플리케이션 서버에서 실행되는 JMS 메시징 큐와 큐 연결 팩토리에 같은 이름을 사용하면 JNDI 검색 오류가 발생합니다.
다른 머신에 있는 애플리케이션 서버에서 실행되는 JMS 메시징 큐와 큐 연결 팩토리에 같은 이름을 사용하면 안 됩니다. 서비스 통합 기술은 항상 로컬로 JMS 대상을 먼저 찾고 대상을 로컬로 찾을 수 없는 경우에만 전체 JNDI 참조를 사용하기 때문입니다. 원격 머신에서 호스팅되는 웹 서비스를 아웃바운드 서비스로 구성하고 원격 머신과 아웃바운드 서비스가 호스팅되는 머신에서 메시징 큐와 큐 연결 팩토리에 같은 이름을 사용하는 경우 서비스 통합 기술은 원격 JNDI 대상이 WSDL 서비스 정의로 완전하게 제공되더라도 로컬 큐를 찾아 사용합니다.
sibwsauthbean.ear 파일 설치 시 오류가 리턴됨
웹 서비스 조작을 비밀번호로 보호하지만 sibwsauthbean.ear 파일을 설치할 때 WebSphere Application Server 관리 콘솔에 JNDI(Java Naming and Directory Interface) 문제점에 대해 세부적으로 설명하는 오류 메시지가 표시됩니다.
웹 서비스 조작을 비밀번호로 보호하는 경우 권한 부여 세션 Bean의 "EJB 참조"에 가져온 웹 서비스 엔터프라이즈 Bean의 올바른 JNDI 이름을 입력했는지 확인하십시오. 이 홈은 대소문자를 구분함에 유의하십시오.
SOAP 결함 메시지에서 정확한 문제점을 판별할 수 없음
SOAP 결함 메시지가 발생하지만 결함 메시지에서 정확한 문제점은 판별할 수 없습니다.
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring>1.1</faultstring>
이 메시지는 Apache SOAP 동작과 일치하지만 버스 인에이블된 웹 서비스로 정정할 수 없습니다.
JMS를 통한 SOAP 엔드포인트 리스너를 사용하여 큰 메시지가 전달될 때 리스너 포트 제한시간 오류 발생
동기 엔드포인트 리스너를 사용할 때와 마찬가지로 제한시간 오류가 발생할 수 있습니다. 제한시간 초과 오류의 빈도를 최소화하려면 엔드포인트 리스너의 제한시간 설정을 증가시키십시오. 문제점이 지속되면 애플리케이션 서버 추적 문자열을 com.ibm.ws.sib.webservices.*=all=disabled로 설정하여 서비스 통합 기술의 추적 및 로깅을 사용 안함으로 설정하십시오.