Share via


POP3 어댑터를 사용하여 다중 파트 메시지 처리

POP3 어댑터는 RFC 2045, RFC 2046 및 RFC 2047에 설명된 IETF 표준을 준수하는 MIME로 인코딩된 메시지를 처리할 수 있습니다. MIME 인코딩된 메시지에는 여러 콘텐츠 형식의 파트가 하나에서 여러 개 포함될 수 있습니다. 이 항목에서는 POP3 어댑터가 다중 파트 MIME 인코딩된 메시지를 처리하는 방법을 설명합니다.

POP3 어댑터를 사용하여 다중 파트 메시지 받기

POP3 어댑터를 사용하는 수신 위치에 MIME 디코딩 적용 옵션이 True 로 설정된 경우 POP3 어댑터는 MIME로 인코딩된 메시지를 받을 때 다음 작업을 수행합니다.

  1. 수신한 MIME 인코딩된 메시지에서 다중 파트 BizTalk 메시지를 만듭니다. 다중 파트 메시지에는 하나에서 여러 개의 파트가 포함될 수 있으며 수신한 MIME 인코딩된 메시지와 동일한 개수의 파트가 포함됩니다.

  2. MIME 인코딩된 메시지의 헤더를 스캔합니다. 헤더가 POP3 어댑터 속성 스키마 및 속성 항목에 설명된 속성 목록과 일치하는 경우 이러한 헤더는 여러 파트 BizTalk 메시지로 컨텍스트 속성으로 승격됩니다.

  3. 구성 가능한 알고리즘을 사용하여 MIME 인코딩된 메시지의 파트 중 하나를 BizTalk 메시지 본문으로 지정합니다. BizTalk 메시지 본문 부분이 될 메시지 부분을 결정하는 데 사용되는 알고리즘은 POP3 어댑터에서 사용하는 본문 부분 선택 알고리즘 섹션에서 아래에 설명되어 있습니다.

  4. 다중 파트 BizTalk 메시지를 MessageBox에 게시합니다.

POP3 어댑터에서 사용하는 본문 선택 알고리즘

POP3 어댑터는 수신한 MIME 인코딩된 메시지에서 다중 파트 BizTalk 메시지를 만들 때 메시지 파트 중 하나를 BizTalk 메시지 본문으로 선택합니다. BizTalk Server는 메시지 유효성 검사, 매핑, 속성 승격, 플랫 파일 어셈블리 및 기타 작업에 BizTalk 메시지 본문을 사용합니다. 다중 파트 BizTalk 메시지의 등록자는 모든 메시지 파트를 받지만, 다중 파트 메시지를 이해할 수 있는 오케스트레이션, 사용자 지정 파이프라인 또는 어댑터를 사용하지 않을 경우 지정된 BizTalk 메시지 본문만 이용합니다. 예를 들어 다중 파트 메시지의 모든 파트를 읽도록 오케스트레이션을 구성할 수 있습니다. SMTP 어댑터는 다중 파트 메시지의 모든 파트를 읽을 수 있으며, MIME/SMIME 인코더 파이프라인 구성 요소를 사용하도록 사용자 지정 파이프라인을 구성할 수 있습니다. 오케스트레이션을 사용하여 다중 파트 메시지를 사용하는 방법에 대한 자세한 내용은 아래 섹션인 오케스트레이션에서 다중 파트 메시지 처리를 참조하세요.

POP3 어댑터는 본문 부분 인덱 스 및 본문 파트 콘텐츠 형식에 제공된 값에 따라 사용 가능한 본문 파트에서 BizTalk 메시지 본문 부분을 선택합니다.

참고

POP3 어댑터는 RFC 2046에 정의된 본문 부분 콘텐츠 형식을 인식하도록 설계되었습니다.

전자 메일의 BizTalk 메시지 본문을 선택하는 데 사용되는 알고리즘은 아래에 설명되어 있습니다.

  1. 본문 부분 인덱스가 0으로 설정되어 있고 본문 파트 콘텐츠 형식이 비어 있으면 다음 알고리즘을 사용하여 BizTalk 메시지 본문 부분을 선택합니다.

    • Content-Description 헤더가 "body"로 설정된 첫 번째 MIME 파트를 사용합니다.

    • 또는 Content-Type 헤더가 "text/xml"로 설정된 첫 번째 MIME 파트를 사용합니다.

    • 또는 Content-Type 헤더가 "text/plain"으로 설정된 첫 번째 MIME 파트를 사용합니다.

    • 또는 Content-Type 헤더가 "text/"로 설정된 첫 번째 MIME 파트를 사용합니다.

    • 또는 첫 번째 MIME 파트를 사용합니다.

  2. 그렇지 않으면 본문 부분 인덱스가 0으로 설정되고 본문 파트 콘텐츠 형식 이 설정된 경우 지정된 본문 파트 콘텐츠 형식 과 일치하는 들어오는 메시지의 첫 번째 본문 부분이 BizTalk 메시지 본문 부분으로 선택됩니다. 일치하는 콘텐츠 유형의 파트가 없으면 메시지가 일시 중단됩니다.

  3. 그렇지 않으면 본문 부분 인덱 스가 0보다 큰 값으로 설정되고 본문 파트 콘텐츠 형식 이 비어 있으면 지정된 인덱스가 있는 본문 부분이 BizTalk 메시지 본문 부분으로 선택됩니다. 지정한 인덱스가 본문 수보다 크면 메시지가 일시 중단됩니다.

  4. 그렇지 않으면 본문 부분 인덱 스가 0보다 큰 값으로 설정되고 본문 부분 콘텐츠 형식 이 설정된 경우 본문 부분 인덱 스는 지정된 본문 부분 콘텐츠 형식 과 일치하는 본문 부분에만 적용되고 해당 본문 부분은 BizTalk 메시지 본문 부분으로 선택됩니다. 지정한 인덱스가 일치하는 콘텐츠 유형의 파트 수보다 크면 메시지가 일시 중단됩니다. 일치하는 콘텐츠 유형의 파트가 없으면 메시지가 일시 중단됩니다.

  5. BizTalk 메시지 본문으로 선택된 부품은 MessageBox에 게시된 다중 파트 BizTalk 메시지의 첫 번째 파트가 되고, 메시지의 나머지 파트는 MIME 인코딩된 원본 메시지에서의 순서를 유지합니다.

오케스트레이션에서 다중 파트 메시지 처리

POP3 어댑터가 수신한 MIME 인코딩된 메시지에서 다중 파트 BizTalk 메시지를 만드는 경우 파트 중 하나만 BizTalk 메시지 본문으로 지정된 경우에도 모든 파트가 MessageBox 데이터베이스에 게시됩니다. 이러한 파트는 다중 파트 메시지에 등록한 오케스트레이션에서 이후에 이용할 수 있습니다. 이 섹션에는 오케스트레이션에서 다중 파트 메시지를 처리할 때 고려할 몇 가지 사항이 문서화되어 있습니다.

파트 수와 파트 유형이 알려진 다중 파트 메시지 처리

오케스트레이션이 파트 수와 파트 유형이 알려진 다중 파트 메시지를 받는 경우 오케스트레이션에서 다중 파트 메시지를 선언하고 디자인 타임에 파트 수와 파트 유형을 설정할 수 있습니다.

파트 유형을 알 수 없는 다중 파트 메시지 처리

오케스트레이션이 알 수 없는 파트 형식의 다중 파트 메시지를 수신하는 경우 오케스트레이션에서 다중 파트 메시지를 선언하고 형식을 알 수 없는 각 파트에 대해 XmlDocument 형식을 사용할 수 있습니다.

파트 수와 모든 파트 유형을 알 수 없는 다중 파트 메시지 처리

오케스트레이션이 알 수 없는 수의 파트가 포함된 다중 파트 메시지를 수신하는 경우 오케스트레이션에서 XmlDocument 형식의 단일 부분으로 다중 파트 메시지를 선언하여 메시지를 받을 수 있습니다. 선언된 파트 수보다 큰 여러 파트 메시지가 수신되면 오케스트레이션 엔진은 메시지에 있는 부분 수를 읽은 다음, 선언된 메시지 형식의 파트 수와 일치하는 파트에 대한 적절한 파트 형식을 생성한 다음 나머지 부분에 대한 XmlDocument 부분을 생성합니다.