HTTP 핸들러

HTTP 는 속성으로 구성된 Java™ 컴포넌트입니다. 핸들러는 HTTP 또는 HTTPS 프로토콜을 사용하여 아웃바운드 통합 메시지를 URL에 전달합니다. HTTP 핸들러는 외부 시스템에서 수신된 응답 코드도 평가합니다.

HTTPEXIT 특성

이 선택적 특성은 사용자 정의에 사용되며 HTTP 응답을 해석하는 Java 클래스의 완전한 이름을 지정합니다. 또한 이 특성은 외부 시스템에서 HTTP 응답을 해석하는 데 필요한 코드를 구현하도록 지원합니다.

: 자동화 스크립트를 사용하여 HTTP 핸들러 종료도 구성할 수 있습니다. 스크립트를 이용한 구성에 대한 자세한 내용은 스크립트를 이용한 HTTP 정의를 참고하세요.

Java 클래스가 애플리케이션 EAR 파일에서 사용 가능해야 하며 핸들러의 클래스 경로에 있어야 합니다.

표 1. 특성 값
특성
Java 클래스 DefaultHTTPExit.java
패키지 psdi.iface.router
HTTPEXIT 특성 psdi.iface.router.DefaultHTTPExit

이 특성에 값을 지정하지 않은 경우 DefaultHTTPExit 종료 클래스가 실행되며 psdi.iface.router.HTTPExit 인터페이스를 구현합니다. Java 클래스에는 다음 키 메소드가 있습니다.

표 2. Java 클래스의 키 메소드
메소드 서명 설명
processResponseData() public void processResponseData(int responseCode, String responseMsg, byte[] msgBodyData) throws MXException

기본 구현은 외부 시스템의 응답 코드를 올바른 코드의 범위(값 200 - 299)에 비교합니다. 응답 코드가 해당 범위를 벗어나는 경우, 시스템은 메시지가 외부 시스템으로 전달되지 않았다고 가정합니다. 예외가 발생하고 메시지는 큐에 남아있게 됩니다.

특정 구현을 위해 추가 처리가 필요한 경우, 기본 구현을 확장하고 processResponseData() 메소드를 겹쳐쓰십시오. 대체로 psdi.iface.router.HTTPExit 인터페이스를 구현할 수 있습니다. 외부 시스템에서 수신되는 응답이 이 클래스의 유효성 검증을 전달하지 못하는 경우, 겹쳐쓰기 메소드에서 예외가 발생해야 합니다.

이 특성에 값을 정의하지 않은 경우, HTTPExit의 기본 구현이 실행됩니다.

getURLProperties() public Map String, String getURLProperties(Map String,? metaData, byte[] data, Map String,MaxEndPointPropInfo httpInfo) url?prop1=value1&.. 양식으로 URL에 추가되는 URL 특성의 맵을 리턴합니다. 기본 구현에서는 널값을 리턴합니다.
getHeaderProperties() public Map String, String getHeaderProperties(Map String,? metaData, byte[] data, Map String,MaxEndPointPropInfo httpInfo) 요청에 대해 HTTP 헤더 특성의 맵을 리턴합니다. 헤더 특성 맵이 HEADERPROPS 키가 있는 메타데이터 맵과 연관되어 있지 않는 한 기본 구현으로 널값을 리턴합니다.
transformPayloadToFormData() public Map String, String transformPayloadToFormData
(Map String,? metaData, byte[] data,Map String,MaxEndPointPropInfo destinationMap)
XML 페이로드를 데이터로 변환합니다. 기본 구현에서는 널값을 리턴합니다.
오류가 발생할 경우 다음 메소드를 사용하여 예외를 제어할 수 있습니다. 이러한 메소드 중 하나가 포함된 스크립트를 작성하는 경우, 스크립트 프로세서가 이러한 메소드에 맵핑되는 스크립트 함수를 호출할 수 있도록 메소드 호출 허용 선택란을 선택하십시오.
테이블 3. 예외 사용자 정의를 위한 메소드
메소드 설명
urlProps() 구성된 URL에 조회 매개변수를 추가합니다. psdi.iface.router.ScriptHTTPReq 인터페이스가 요청 오브젝트를 구현합니다.
getUrl() HTTP 호출에 대한 URL을 설정합니다.
headerProps() HTTP 호출에 대한 요청 헤더를 설정합니다.
processResponse() HTTP 응답을 처리합니다. psdi.iface.router.ScriptHTTPResp 인터페이스가 응답 오브젝트를 구현합니다.

CONNECTTIMEOUT 특성

이 선택적 특성은 연결 시간초과 값(밀리초)을 지정합니다.

READTIMEOUT 특성

이 선택적 특성은 읽기 시간초과 값(밀리초)을 지정합니다.

HTTPMETHOD 특성

이 필수 특성은 엔드포인트에서 수행하는 유효한 HTTP 메소드를 지정합니다. 유효한 HTTP 메소드는 GET, POST, PUT, PATCH 및 DELETE입니다.

HTTPHEADER 특성

이 선택적 특성에서는 쉼표로 구분된 이름 및 값 목록을 HTTP 메시지의 헤더 섹션에 추가할 수 있습니다. 이 목록에는 Headername1:Headervalue1, Headername2:Headervalue2 형식의 이름 및 값 정보가 포함됩니다. 특성에 값을 제공하지 않으면 사용자 정의 코드에서 호출 채널 처리 중에 트랜잭션 컨텍스트로 값을 주입할 수 있습니다.

URL 특성

이 선택적 특성에서는 XML 데이터가 게시될 수 있는 올바른 URL을 지정하거나 HTTP GET 조작을 수행할 수 있는 위치를 지정합니다.

USERNAME 및 PASSWORD 특성

URL이 기본 인증을 요청하는 경우, 이들 특성은 필수 값을 지정합니다. 두 값은 MIME 인코드되어 URL로 전달됩니다.

OAUTHCLIENT 특성

이 선택적 특성은 외부 서비스에 액세스하기 위해 OAuth를 구성하는 데 사용되는 MAXOAUTHCLIENT 오브젝트의 기본 키를 지정합니다.