이 주제는 다음 절을 포함합니다.
메시지 플로우에서 처리할 웹 서비스 요청을 수신하려면 HTTPInput 노드를 사용하십시오. HTTPReply 및 HTTPRequest 노드와 HTTPInput 노드를 사용하여 브로커는 웹 서비스에 대한 중개자 역할을 할 수 있으며 웹 서비스 요청은 WebSphere Message Broker에서 지원하는 다른 메시지 형식과 동일한 방법으로 변환 및 라우트될 수 있습니다. 웹 서비스 요청은 표준 HTTP(1.0 또는 1.1) 형식이나 HTTP over SSL(HTTPS) 형식으로 수신할 수 있습니다. HTTPS 사용 등록 정보를 설정하여 HTTP 또는 HTTPS 요청 처리 여부를 선택할 수 있습니다.
메시지 플로우에 HTTPInput 노드를 포함시킬 경우, 동일한 플로우에 HTTPReply 노드를 포함시키거나 HTTPReply 노드가 포함된 다른 플로우에 메시지를 전달해야 합니다(예: MQOutput 노드를 통해 MQIntput 노드로 시작되는 두 번째 플로우로). 후자의 경우 클라이언트가 보낸 요청 및 받은 응답은 로컬 환경에 저장된 요청 ID로 통합됩니다(아래 설명됨).
HTTPInput 노드는 다음과 같은 메시지 도메인 내의 메시지를 핸들링할 수 있습니다.
HTTPInput 노드가 웹 서비스 클라이언트로부터 메시지를 수신할 경우, 적절한 구문 분석기를 호출하여 메시지의 헤더 및 본문을 해석하고 메시지 플로우에서 내부적으로 사용하는 메시지 트리를 작성합니다. 노드는 입력 메시지에 적합한 고유한 ID를 작성하고 이 ID를 24바이트의 2진 배열로 LocalEnvironment 트리의 LocalEnvironment.Destination.HTTP.RequestIdentifer에 저장합니다. 이 값은 HTTPReply 노드에서 사용하고 어떤 식으로든 수정할 수 없습니다.
HTTP 메시지는 항상 비지속적이며 메시지와 연관된 순서는 없습니다.
HTTP 메시지는 트랜잭션 방식이 아닙니다. 그러나 메시지 플로우가 데이터베이스 또는 WebSphere MQ 큐와 같은 다른 외부 자원과 상호작용할 경우, 이 상호작용은 트랜잭션 방식으로 수행됩니다. HTTPInput 노드는 메시지 플로우가 종료되는 방법, 오류 핸들링에 대해 구성된 방법(예: failure 터미널이 연결된 방법)에 따라 확약 또는 롤백을 제공합니다. 이 노드에서 메시지 플로우를 롤백할 경우, 결함 메시지가 생성되어 웹 서비스 클라이언트로 리턴됩니다. 결함 형식은 결함 형식 등록 정보로 정의됩니다.
이 메시지 플로우에서 예외가 다운스트림에 발생하고 포착이 되지는 않으나 이 노드로 리턴될 경우, 노드는 클라이언트에 대한 오류 응답을 구성합니다. 이 오류는 예외에서 도출된 것이며 오류 형식은 결함 형식 등록 정보로 정의됩니다.
HTTPInput 노드로 시작하는 메시지 플로우에 출력 노드를 포함시킬 경우, 사용자 정의 출력 노드를 비롯한 지원되는 모든 출력 노드를 사용할 수 있습니다. 메시지 플로우를 구성하여 브로커에게 필요한 변환을 제공해 달라고 요청할 수 있기 때문에 웹 서비스 클라이언트에서 메시지를 수신한 다음 지원되는 모든 전송 방식을 사용하여 브로커에 연결하는 클라이언트에 대한 메시지를 생성하는 메시지 플로우를 작성할 수 있습니다.
서브플로우로 사용하기 위한 메시지 플로우를 작성하는 경우, 표준 입력 노드를 사용할 수 없기 때문에 서브플로우에 대한 터미널에서 작성할 첫 번째 노드로서 입력 노드 인스턴스를 사용해야 합니다.
메시지 플로우가 웹 서비스 요청을 수신하지 않을 경우, 지원되는 입력 노드 중 하나를 선택할 수 있습니다.
HTTPInput 노드는 Workbench에서 다음 아이콘으로 표시됩니다.
HTTPRequest 노드는 HTTP 또는 HTTPS메시지를 승인해야 하는 메시지 플로우에서 사용할 수 있습니다. 이에 대한 가장 일반적인 예는 웹 서비스를 구현하는 메시지 플로우입니다. 웹 서비스 응용프로그램에 대한 정보는 웹 서비스 응용프로그램을 참조하십시오.
HTTPInput 노드 인스턴스를 메시지 플로우에 넣었으면 이 노드를 구성할 수 있습니다. 편집기 보기에서 이 노드를 마우스 오른쪽 단추로 누른 후 등록 정보를 누르십시오. 등록 정보 대화 상자에 노드의 기본 등록 정보가 표시됩니다.
값을 입력해야 하는 모든 필수 등록 정보(정의된 디폴트 값이 없는 등록 정보)는 등록 정보 대화 상자에서 별표(*)로 표시됩니다.
다음과 같이 HTTPInput 노드를 구성하십시오.
XML, XMLNS, XMLNSC, JMS, MIME 및 BLOB 구문 분석기에 대해서는 메시지 세트 필드를 공백으로 남겨 두십시오.
XML, XMLNS, XMLNSC, JMS, IDOC, MIME 및 BLOB 구문 분석기에 대해서는 메시지 유형을 공백으로 남겨 두십시오.
XML, XMLNS, XMLNSC, JMS, MIME 및 BLOB 구문 분석기에 대해서는 메시지 형식 필드를 공백으로 남겨 두십시오.
자세한 정보는 메시지 유효성 검증 및 MRM 도메인에서 메시지의 유효성 검증 등록 정보를 참조하십시오.
대화 상자를 닫고 등록 정보에서 작성한 모든 변경을 제거하려면 취소를 누르십시오.
HTTPInput은 검색한 각 메시지를 out 터미널로 라우트합니다. 메시지 유효성 검증에 실패할 경우, failure 터미널로 메시지가 라우트됩니다. 이 조건을 핸들링하기 위해 이 터미널에 노드를 연결할 수 있습니다. failure 터미널이 연결되어 있지 않으면, 메시지가 제거되고 최대 클라이언트 대기 시간이 만기되며 TCP/IP 리스너는 클라이언트로 오류를 리턴합니다. 메시지가 failure 터미널로 라우트되는 경우는 없습니다.
메시지 플로우에서 추가적인 예외가 전달된 후 이 노드에서 메시지가 포착되면, 메시지가 catch 터미널로 라우트됩니다. catch 터미널이 연결되어 있지 않으면, 메시지가 제거되고 최대 클라이언트 대기 시간이 만기되며 TCP/IP 리스너는 클라이언트로 오류를 리턴합니다.
다음 표에는 HTTPInput 노드 터미널이 설명되어 있습니다.
터미널 | 설명 |
---|---|
Failure | 오류가 발생할 경우 메시지가 라우트될 출력 터미널. |
Out | 검색이 완료되었을 경우 메시지가 라우트될 출력 터미널. |
Catch | 예외에서 다운스트림이 전달되어 이 노드에서 포착되었을 경우 메시지가 라우트될 출력 터미널. |
다음 표에는 노드 등록 정보가 설명되어 있습니다. 앞에 M이 표시된 열은 등록 정보가 필수임을 나타내며(디폴트가 정의되지 않았을 때 값을 입력해야 하는 경우 등록 정보 대화 상자에 별표(*)로 표시됨) 앞에 C가 표시된 열은 등록 정보가 구성 가능함을 나타냅니다(메시지 플로우를 BAR 파일에 추가하여 전개할 때 값을 변경할 수 있음).
다음 표에는 HTTPInput 노드 기본 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
URL 선택자 | 예 | 예 | 웹 서비스 요청을 검색할 위치를 식별합니다. 원하는 URL이 http://<hostname>[:<port>]/[<path>]이면, /<path> 또는 /<path fragment>/*를 지정하십시오. 여기서 *는 일치를 의미하기 위해 사용할 수 있는 와일드카드입니다. | |
최대 클라이언트 대기 시간 | 예 | 아니오 | 180 | 클라이언트로 다시 오류 메시지를 송신하기 전에 리스너가 대기하는 시간(초). 올바른 범위는 0(무한 대기)에서 231)-1까지입니다. |
결함 형식 | 아니오 | 예 | SOAP 1.1 | 등록 정보 값은 SOAP 1.1, SOAP 1.2 또는 HTML이 될 수 있습니다. 이 등록 정보는 클라이언트로 리턴되는 HTTP 오류 형식을 정의합니다. |
HTTPS 사용 | 아니오 | 예 | 아니오 | 노드가 보안 HTTP를 승인하는지 여부를 식별합니다. |
다음 표에는 HTTPInput 노드 디폴트 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
메시지 도메인 | 아니오 | 아니오 | 들어오는 메시지를 구문 분석하는 데 사용하는 도메인 | |
메시지 세트 | 아니오 | 아니오 | 들어오는 메시지를 정의하는 메시지 세트의 이름 또는 ID | |
메시지 유형 | 아니오 | 아니오 | 들어오는 메시지의 이름 | |
메시지 형식 | 아니오 | 아니오 | 들어오는 메시지의 물리적 형식 이름 |
다음 표에는 HTTPInput 노드의 유효성 검증 등록 정보가 설명되어 있습니다.
이 등록 정보에 대한 자세한 설명은 MRM 도메인에서 메시지의 유효성 검증 등록 정보를 참조하십시오.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
유효성 검증 | 아니오 | 예 | 없음 | 유효성 검증이 발생하는지의 여부. 올바른 값은 없음,컨텐츠 및 값 및 컨텐츠입니다. |
실패 조치 | 아니오 | 아니오 | 예외 | 유효성 검증에 실패한 경우의 조치. 유효성 검증을 컨텐츠 또는 컨텐츠 및 값으로 설정한 경우에만 이 등록 정보를 설정할 수 있습니다. 올바른 값은 사용자 추적, 로컬 오류 로그, 예외 및 예외 목록입니다. |
모든 값 제한조건 포함 | 아니오 | 아니오 | 선택 | 이 등록 정보는 편집할 수 없습니다. 선택될 선택란에 표시되는 디폴트 조치는 컨텐츠 및 값 유효성 검증 내에 기본 값 제한조건 점검이 포함되어 있는 것입니다. |
수정사항 | 아니오 | 아니오 | 없음 | 이 등록 정보는 편집할 수 없습니다. |
다음 표에는 HTTPInput 노드의 일반 메시지 옵션 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
구문 분석 타이밍 | 아니오 | 아니오 | 요청시 | 이 등록 정보는 입력 메시지를 구문 분석하는 시기를 제어합니다.
올바른 값은 요청시,
즉시 및
완료입니다. 이 등록 정보에 대한 자세한 설명은 요청시 구문 분석을 참조하십시오. |
MQRFH2 도메인에 MQRFH2C 압축 구문 분석기 사용 | 아니오 | 아니오 | 지우기 | 이 등록 정보는 MQRFH2 헤더에 MQRFH2 구문 분석기 대신 MQRFH2C 압축 구문 분석기를 사용하는지 여부를 제어합니다. |
다음 표에는 HTTPInput 노드의 XMLNSC 구문 분석기 옵션 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
XMLNS 도메인에 XMLNSC 압축 구문 분석기 사용 | 아니오 | 아니오 | 지우기 | ![]() ![]() |
혼합 컨텐츠 보유 모드 | 아니오 | 아니오 | 없음 | 이 등록 정보는 XMLNSC 구문 분석기가 입력 메시지에서 혼합 텍스트를 발견할 경우 메시지 트리에서 요소를 작성하는지 여부를 제어합니다. 올바른 값은 없음 및 모두입니다. 모두를 선택하면 혼합 텍스트에 대해 요소가 작성됨을 의미합니다. 없음을 선택하면 혼합 텍스트가 무시되고 요소가 작성되지 않음을 의미합니다. |
주석 보유 모드 | 아니오 | 아니오 | 없음 | 이 등록 정보는 XMLNSC 구문 분석기가 입력 메시지에서 주석을 발견할 경우 메시지 트리에서 요소를 작성하는지 여부를 제어합니다. 올바른 값은 없음 및 모두입니다. 모두를 선택하면 주석에 대해 요소가 작성됨을 의미합니다. 없음을 선택하면 주석이 무시되고 요소가 작성되지 않음을 의미합니다. |
처리 지시사항 보유 모드 | 아니오 | 아니오 | 없음 | 이 등록 정보는 XMLNSC 구문 분석기가 입력 메시지에서 처리 지시사항을 발견할 경우 메시지 트리에서 요소를 작성하는지 여부를 제어합니다. 올바른 값은 없음 및 모두입니다. 모두를 선택하면 처리 지시사항에 대해 요소가 작성됨을 의미합니다. 없음을 선택하면 처리 지시사항이 무시되고 요소가 작성되지 않음을 의미합니다. |
다음 표에는 HTTPInput 노드 설명 등록 정보가 설명되어 있습니다.
등록 정보 | M | C | 디폴트 | 설명 |
---|---|---|---|---|
간단한 설명 | 아니오 | 아니오 | 노드에 대한 간략한 설명. | |
자세한 설명 | 아니오 | 아니오 | 메시지 플로우에서 노드의 목적을 설명하는 텍스트. |