HTTPInput 노드

이 주제는 다음 절을 포함합니다.

목적

메시지 플로우에서 처리할 웹 서비스 요청을 수신하려면 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 노드는 다음과 같은 메시지 도메인 내의 메시지를 핸들링할 수 있습니다.

  • MRM
  • XML
  • XMLNS
  • XMLNSC
  • JMS
  • JMSStream
  • IDOC
  • MIME
  • BLOB

HTTPInput 노드가 웹 서비스 클라이언트로부터 메시지를 수신할 경우, 적절한 구문 분석기를 호출하여 메시지의 헤더 및 본문을 해석하고 메시지 플로우에서 내부적으로 사용하는 메시지 트리를 작성합니다. 노드는 입력 메시지에 적합한 고유한 ID를 작성하고 이 ID를 24바이트의 2진 배열로 LocalEnvironment 트리의 LocalEnvironment.Destination.HTTP.RequestIdentifer에 저장합니다. 이 값은 HTTPReply 노드에서 사용하고 어떤 식으로든 수정할 수 없습니다.

HTTP 메시지는 항상 비지속적이며 메시지와 연관된 순서는 없습니다.

HTTP 메시지는 트랜잭션 방식이 아닙니다. 그러나 메시지 플로우가 데이터베이스 또는 WebSphere MQ 큐와 같은 다른 외부 자원과 상호작용할 경우, 이 상호작용은 트랜잭션 방식으로 수행됩니다. HTTPInput 노드는 메시지 플로우가 종료되는 방법, 오류 핸들링에 대해 구성된 방법(예: failure 터미널이 연결된 방법)에 따라 확약 또는 롤백을 제공합니다. 이 노드에서 메시지 플로우를 롤백할 경우, 결함 메시지가 생성되어 웹 서비스 클라이언트로 리턴됩니다. 결함 형식은 결함 형식 등록 정보로 정의됩니다.

이 메시지 플로우에서 예외가 다운스트림에 발생하고 포착이 되지는 않으나 이 노드로 리턴될 경우, 노드는 클라이언트에 대한 오류 응답을 구성합니다. 이 오류는 예외에서 도출된 것이며 오류 형식은 결함 형식 등록 정보로 정의됩니다.

HTTPInput 노드로 시작하는 메시지 플로우에 출력 노드를 포함시킬 경우, 사용자 정의 출력 노드를 비롯한 지원되는 모든 출력 노드를 사용할 수 있습니다. 메시지 플로우를 구성하여 브로커에게 필요한 변환을 제공해 달라고 요청할 수 있기 때문에 웹 서비스 클라이언트에서 메시지를 수신한 다음 지원되는 모든 전송 방식을 사용하여 브로커에 연결하는 클라이언트에 대한 메시지를 생성하는 메시지 플로우를 작성할 수 있습니다.

서브플로우로 사용하기 위한 메시지 플로우를 작성하는 경우, 표준 입력 노드를 사용할 수 없기 때문에 서브플로우에 대한 터미널에서 작성할 첫 번째 노드로서 입력 노드 인스턴스를 사용해야 합니다.

메시지 플로우가 웹 서비스 요청을 수신하지 않을 경우, 지원되는 입력 노드 중 하나를 선택할 수 있습니다.

HTTPInput 노드는 Workbench에서 다음 아이콘으로 표시됩니다.

HTTPInput 노드 아이콘

메시지 플로우에서 노드 사용

HTTPRequest 노드는 HTTP 또는 HTTPS메시지를 승인해야 하는 메시지 플로우에서 사용할 수 있습니다. 이에 대한 가장 일반적인 예는 웹 서비스를 구현하는 메시지 플로우입니다. 웹 서비스 응용프로그램에 대한 정보는 웹 서비스 응용프로그램을 참조하십시오.

HTTPInput 노드 구성

HTTPInput 노드 인스턴스를 메시지 플로우에 넣었으면 이 노드를 구성할 수 있습니다. 편집기 보기에서 이 노드를 마우스 오른쪽 단추로 누른 후 등록 정보를 누르십시오. 등록 정보 대화 상자에 노드의 기본 등록 정보가 표시됩니다.

값을 입력해야 하는 모든 필수 등록 정보(정의된 디폴트 값이 없는 등록 정보)는 등록 정보 대화 상자에서 별표(*)로 표시됩니다.

다음과 같이 HTTPInput 노드를 구성하십시오.

  1. URL 선택자에 이 노드가 웹 서비스 요청을 수신할 URL의 경로 부분을 입력하십시오. 전체 URL을 제공하지 마십시오.
  2. 최대 클라이언트 대기 시간 시간 종료 간격을 초 수로 입력하십시오. 이는 웹 서비스 클라이언트로부터 입력 메시지를 수신하는 TCP/IP 리스너가 메시지 플로우의 HTTPReply 노드로부터 응답을 기다리는 시간입니다. 이 시간 내에 응답이 수신되면 리스너가 응답을 클라이언트로 전달합니다. 이 시간 내에 응답이 수신되지 않으면, 리스너는 클라이언트에게 해당 시간 종료가 만기되었다는 SOAP 결함 메시지를 송신합니다.
  3. 결함 형식SOAP 1.1, SOAP 1.2 또는 HTML 중 하나로 선택하십시오.
  4. 노드가 보안 HTTP를 승인할 경우 HTTPS 사용 선택란을 선택하십시오.
  5. 등록 정보 대화 상자 네비게이터에서 디폴트를 선택한 후 수신되는 메시지의 구문을 분석하는 방법을 판별하기 위해 노드가 사용하는 메시지 도메인, 메시지 세트, 메시지 유형 및 메시지 형식을 설명하는 등록 정보의 값을 설정하십시오.
    • 메시지 도메인 필드에서는 드롭다운 목록에서 사용 중인 구문 분석기의 이름을 선택하십시오. 다음에서 선택할 수 있습니다.
      • MRM
      • XML
      • XMLNS
      • XMLNSC
      • JMSMap
      • JMSStream
      • IDOC
      • MIME
      • BLOB
    • MRM 또는 IDOC 구문 분석기를 사용 중인 경우, 메시지 세트 필드의 드롭다운 목록에서 올바른 메시지 세트를 선택하십시오. 이 목록은 MRM 또는 IDOC를 도메인으로서 선택할 때 사용 가능한 메시지 세트로 채워집니다.

      XML, XMLNS, XMLNSC, JMS, MIME 및 BLOB 구문 분석기에 대해서는 메시지 세트 필드를 공백으로 남겨 두십시오.

    • MRM 구문 분석기를 사용 중인 경우, 메시지 유형의 드롭다운 목록에서 올바른 메시지를 선택하십시오. 이 목록은 선택한 메시지 세트에 정의되어 있는 메시지로 채워집니다.

      XML, XMLNS, XMLNSC, JMS, IDOC, MIME 및 BLOB 구문 분석기에 대해서는 메시지 유형을 공백으로 남겨 두십시오.

    • MRM 또는 IDOC 구문 분석기를 사용 중인 경우, 메시지 형식 필드의 드롭다운 목록에서 메시지 형식을 선택하십시오. 이 목록에는 이 메시지 세트에 대해 정의한 모든 물리적 형식이 포함됩니다. da

      XML, XMLNS, XMLNSC, JMS, MIME 및 BLOB 구문 분석기에 대해서는 메시지 형식 필드를 공백으로 남겨 두십시오.

  6. 메시지 세트로부터 생성된 사전에 대한 메시지 본문의 유효성을 검증하기 위한 MRM 구문 분석기가 필요하면, 등록 정보 대화 상자 네비게이터에서 유효성 검증을 선택하십시오. (메시지가 노드의 failure 터미널로 전달될 경우에는 유효성이 검증되지 않습니다.)

    자세한 정보는 메시지 유효성 검증MRM 도메인에서 메시지의 유효성 검증 등록 정보를 참조하십시오.

  7. 등록 정보 대화 상자 네비게이터에서 일반 메시지 옵션을 선택하십시오. 기본적으로, 구문 분석 타이밍요청시로 설정됩니다. 이에 따라 부분 구문 분석에 의해 구문 분석될 때까지 유효성 검증이 지연됩니다. 이를 즉시로 변경할 경우, 즉시 해석할 수 없는 메시지 또는 선택 작성의 복합 유형을 제외하고 부분 구문 분석이 대체되어 메시지의 모든 것이 구문 분석되고 유효성 검증됩니다. 이를 완료로 변경할 경우, 부분 구문 분석이 대체되어 메시지의 모든 것이 구문 분석되고 유효성 검증됩니다. 당시에 해석할 수 없는 메시지 또는 선택 작성의 복합 유형이 있으면 유효성 검증에 실패합니다.
  8. 간단한 설명, 자세한 설명 또는 둘 다를 입력하려면, 등록 정보 대화 상자 네비게이터에서 설명을 선택하십시오.
  9. 적용을 누르면 등록 정보 대화 상자를 닫지 않고도 HTTPInput 노드를 변경할 수 있습니다. 확인을 눌러 변경사항을 적용하고 등록 정보 대화 상자를 닫으십시오.

    대화 상자를 닫고 등록 정보에서 작성한 모든 변경을 제거하려면 취소를 누르십시오.

터미널 연결

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 압축 구문 분석기 사용 아니오 아니오 지우기 변경 시작이 등록 정보는 XMLNS 도메인의 메시지에 대해 XMLNSC 압축 구문 분석기를 사용하는지 여부를 제어합니다. 이 등록 정보를 설정하면 입력 RFH2 헤더 또는 디폴트 등록 정보 도메인이 XMLNS일 때 출력 터미널에 연결되는 노드의 XMLNSC 아래에 메시지 데이터가 표시됩니다. 변경 끝
혼합 컨텐츠 보유 모드 아니오 아니오 없음 이 등록 정보는 XMLNSC 구문 분석기가 입력 메시지에서 혼합 텍스트를 발견할 경우 메시지 트리에서 요소를 작성하는지 여부를 제어합니다. 올바른 값은 없음모두입니다. 모두를 선택하면 혼합 텍스트에 대해 요소가 작성됨을 의미합니다. 없음을 선택하면 혼합 텍스트가 무시되고 요소가 작성되지 않음을 의미합니다.
주석 보유 모드 아니오 아니오 없음 이 등록 정보는 XMLNSC 구문 분석기가 입력 메시지에서 주석을 발견할 경우 메시지 트리에서 요소를 작성하는지 여부를 제어합니다. 올바른 값은 없음모두입니다. 모두를 선택하면 주석에 대해 요소가 작성됨을 의미합니다. 없음을 선택하면 주석이 무시되고 요소가 작성되지 않음을 의미합니다.
처리 지시사항 보유 모드 아니오 아니오 없음 이 등록 정보는 XMLNSC 구문 분석기가 입력 메시지에서 처리 지시사항을 발견할 경우 메시지 트리에서 요소를 작성하는지 여부를 제어합니다. 올바른 값은 없음모두입니다. 모두를 선택하면 처리 지시사항에 대해 요소가 작성됨을 의미합니다. 없음을 선택하면 처리 지시사항이 무시되고 요소가 작성되지 않음을 의미합니다.

다음 표에는 HTTPInput 노드 설명 등록 정보가 설명되어 있습니다.

등록 정보 M C 디폴트 설명
간단한 설명 아니오 아니오   노드에 대한 간략한 설명.
자세한 설명 아니오 아니오   메시지 플로우에서 노드의 목적을 설명하는 텍스트.
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ac04565_