기존 JAX-RPC(Java™ API
for XML-based RPC) 웹 서비스 클라이언트를 사용으로 설정하여 전송 헤더의 값을 검색할 수 있습니다. HTTP를 사용하는 요청의 경우
전송 헤더는 HTTP 응답 메시지에 있는 HTTP 헤더에서 검색됩니다. JMS(Java Message
Service)를 사용하는 요청의 경우 JMS 응답 메시지에 있는 JMS 메시지 특성에서 전송 헤더가 검색됩니다.
시작하기 전에
전송 헤더를 검색하기 위해 사용으로 설정할 수 있는 웹 서비스 클라이언트가 필요합니다.
전송 헤더를 검색하는 것은
웹 서비스 클라이언트에 의해서만 지원되며 HTTP 및 JMS 전송에 대해서만 지원됩니다.
웹 서비스 클라이언트는
게이트웨이 기능과 같은 중간 계층을 통하지 않고 직접 JAX-RPC API를 호출해야 합니다. 웹 서비스 서버에서
전송 헤더를 보내고 검색하는 것은 웹 서비스 API가 아닌 API를 통해 수행됩니다.
이 태스크 정보
JAX-RPC 프로그래밍 모델을 사용하는 경우 전송 헤더의 값을 검색하려면
클라이언트는 스텁 또는 호출 오브젝트에서 특성을 설정해야 합니다. 이 특성을 설정하면
연관된 특성이 null로 설정되거나 스텁 또는 호출 오브젝트가 버려질 때까지
해당 스텁 또는 호출 인스턴스에 대한 후속 메소드 호출의 응답에서
값을 읽습니다.
인바운드 응답의 전송 헤더에서 값을 검색하려면 클라이언트 코드를 수정하십시오.
프로시저
- 수신되는 응답 메시지에서 검색할 전송 헤더의 이름을 포함하는 java.util.HashMap 오브젝트를 작성하십시오.
- 수신되는 모든 응답 메시지에서 값을 검색할 각 헤더의 HashMap에 항목을 추가하십시오.
- HashMap 항목 키를 전송 헤더 ID와 정확하게 일치하는 문자열로 설정하십시오. 예약 헤더 이름(예: HTTP의 경우에 Cookie)을 사용하여 헤더 ID를 정의할 수 있습니다. 또는 헤더 ID를 사용자가 정의할 수 있습니다(예: MyTransportHeader).
특정 헤더 ID는 고유한 방식으로 처리되지만 헤더 ID 값을 확인하기 위한 다른 검사는 수행되지 않습니다. 특별히 고려해야 하는 점이 있는 HTTP 헤더 ID에 대해 자세히
알아보려면 전송 헤더 특성 우수 사례를 읽어 보십시오. com.ibm.websphere.webservices.Constants 클래스에서
공통 헤더 ID 문자열 상수(예: HTTP_HEADER_SET_COOKIE)를 찾을 수 있습니다. HashMap 항목 값은 무시되고
설정할 필요가 없습니다. 예를 들면, 널이 아니지만 어떠한 키도 들어 있지 않은 비어 있는 HashMap의 경우
응답에서 모든 전송 헤더가 검색됩니다.
- com.ibm.websphere.webservices.Constants.RESPONSE_TRANSPORT_PROPERTIES
특성을 사용하여 스텁 또는 호출 오브젝트에서 HashMap 항목을 설정하십시오. HashMap이 설정되면 응답에서 헤더를 검색하기 위해 후속 호출에서 RESPONSE_TRANSPORT_PROPERTIES 특성이
사용됩니다. 이 특성을 null로 설정하면 응답에서 헤더가 검색되지 않습니다. 이러한 특성에 대해
자세히 알아보려면 전송 헤더 특성 문서를 참조하십시오.
- 스텁 또는 호출 오브젝트에 대해 원격 메소드 호출을 발행하십시오. 지정된 전송 헤더의 값이 응답 메시지에서 검색되어 HashMap에 배치됩니다.
특성이 올바르게 설정되지 않으면 JAXRPCException 오류의 원인이 되는 API 사용 오류가 발생할 수 있습니다. 다음 요구사항이
충족되어야 하며 그렇지 않을 경우 프로세스가 실패합니다.
- 스텁 또는 호출 오브젝트에서 설정되는 특성 값은 null이거나 HashMap의 인스턴스여야 합니다.
- 모든 HashMap 키는 문자열 데이터 유형이어야 하고 키는 널이 아니어야 합니다.
결과
수신되는 응답 메시지에서 전송 헤더를 수신할 수 있는 JAX-RPC 웹 서비스가 있습니다.