이 주제는 HTTP 메시지 플로우를 사용하여 웹 서비스와 상호작용할 경우에 유용한 정보를 제공합니다. 후속 웹 서비스 시나리오 절과 함께 읽으면 유용합니다.
Compute 노드에서 특수 헤더에 응답 상태를 설정할 수도 있지만(기타 모든 설정을 대체하는 출력 메시지의 HTTPReplyHeader 섹션에 있는 X-Original-HTTP-Status-Code) 이 목적에는 LocalEnvironment 컨텐츠를 사용하는 것이 좋습니다.
예를 들어, 기존 WebSphere MQ 응용프로그램과 상호작용하는 한 쌍의 메시지 플로우를 설계할 경우(브로커가 기존 웹 서비스를 호출함 참조) 이 값을 요청 플로우에 저장하고 올바른 클라이언트가 응답을 수신할 수 있도록 reply 플로우에서 복원할 수 있습니다. 이 경우 데이터를 변경해선 안되며 BLOB로써 데이터를 보유해야 합니다.
HTTPReply 노드는 LocalEnvironment에서 이 값을 추출하여 특정 클라이언트로 송신하도록 응답을 설정합니다.
HTTPInput 및 HTTPReply 노드 모두를 포함하는 메시지 플로우를 설계할 경우 값이 HTTPInput 노드에 의해 LocalEnvironment로 설정되지만 HTTPReply 노드는 이 값을 사용하지 않습니다. 따라서 해당 메시지 플로우에 동일한 플로우의 노드와 Compute 노드 모두가 포함될 경우 Compute 노드에 의해 입력 메시지에서 출력 메시지로 복사되는 메시지 트리의 구성요소를 지정할 때 LocalEnvironment 트리를 포함시킬 필요가 없습니다(Compute 모드 등록 정보).
Compute 노드에서 요청 메시지의 HTTPRequestHeader 섹션에 있는 특수 헤더 X-Original-HTTP-URL에 요청 URL을 설정할 수도 있지만(기타 모든 설정을 대체함) 이 경우에는 LocalEnvironment 컨텐츠를 사용하는 것이 좋습니다.
컨텐츠가 올바르도록(입력 또는 응답으로부터 디폴트 HTTP 헤더 생성 선택란을 지웠더라도) HTTPReply 노드가 항상 Content-Length 헤더를 다시 씁니다.
기타 모든 헤더가 HTTPResponseHeader로부터 복사됩니다. 복사 후, Content-Type 헤더가 존재하지 않는다면 text/xml; charset=utf-8의 값과 함께 추가됩니다.
HTTPReplyHeader 섹션이 HTTPReply 노드가 수신한 메시지에 존재하고 HTTPReply 노드의 출력 터미널이 연결된 경우 HTTPReplyHeader 섹션이 변경 또는 추가된 값으로 갱신됩니다.
컨텐츠가 올바르도록(입력으로부터 디폴트 HTTP 헤더 생성 선택란을 지웠더라도) HTTPRequest 노드가 항상 Content-Length 헤더를 다시 씁니다.
다음을 제외한 모든 헤더를 HTTPInputHeader로부터 복사합니다.
들어오는 HTTPRequest 또는 HTTPInput 헤더에 없다면 여러 헤더가 디폴트 값으로 생성됩니다.
노드가 수신한 메시지의 HTTPRequestHeader에 존재하는 헤더는 동일한 메시지의 HTTPInputHeader에도 존재하는 동일한 이름의 헤더를 대체합니다. HTTPRequestHeader가 수신된 메시지에 존재하는 경우 HTTPRequestHeader가 변경 또는 추가된 값으로 갱신됩니다.