35.3. 메시지 콘텐츠에 액세스
35.3.1. 메시지 헤더에 액세스
일반적으로 메시지 헤더에는 라우터 서비스에서 헤더를 처리할 수 있으므로 라우터 관점에서 가장 유용한 메시지 콘텐츠가 포함됩니다. 헤더 데이터에 액세스하려면 먼저 교환 오브젝트(예: Exchange.getIn()
)에서 메시지를 가져온 다음 Message 인터페이스를 사용하여 개별 헤더(예: Message.getHeader()
사용)를 검색해야 합니다.
예 35.4. “인증 헤더 액세스” Authorization
이라는 헤더 값에 액세스하는 사용자 지정 프로세서의 예를 보여줍니다. 이 예제에서는 exchangeHelper.getMandatoryHeader()
메서드를 사용하여 null 헤더 값을 테스트할 필요가 없습니다.
예 35.4. 인증 헤더 액세스
import org.apache.camel.*;
import org.apache.camel.util.ExchangeHelper;
public class MyProcessor implements Processor {
public void process(Exchange exchange) {
String auth = ExchangeHelper.getMandatoryHeader(
exchange,
"Authorization",
String.class
);
// process the authorization string...
// ...
}
}
메시지 인터페이스에 대한 자세한 내용은 34.2절. “메시지” 을 참조하십시오.
35.3.2. 메시지 본문에 액세스
메시지 본문에도 액세스할 수 있습니다. 예를 들어 In 메시지 끝에 문자열을 추가하려면 예 35.5. “메시지 본문 액세스” 에 표시된 프로세서를 사용할 수 있습니다.
예 35.5. 메시지 본문 액세스
import org.apache.camel.*; import org.apache.camel.util.ExchangeHelper; public class MyProcessor implements Processor { public void process(Exchange exchange) { Message in = exchange.getIn(); in.setBody(in.getBody(String.class) + " World!"); } }
35.3.3. 메시지 첨부 파일에 액세스
Message.getAttachment()
메서드 또는 Message.getAttachments() 메서드를 사용하여 메시지의 첨부 파일에 액세스할
수 있습니다. 자세한 내용은 예 34.2. “메시지 인터페이스”를 참조하십시오.