나가는 EDI 메시지에 대한 계약 확인 및 스키마 결정
거래 업체에 보낼 EDI 메시지를 생성하려면 EDI 송신 파이프라인에서 다음을 수행해야 합니다.
메시지를 확인할 계약 결정
메시지의 유효성을 검사하는 데 사용할 스키마 결정
규약 확인
EDI 송신 파이프라인은 일련의 단계를 통해 나가는 교환과 계약 속성 간에 일치 항목이 있는지 확인하여 계약 조회를 수행합니다. BizTalk Server 규약을 결정하면 교환에 적용되는 문서 스키마를 결정합니다(아래 참조). 일치하는 계약과 연결된 속성 및 관련 스키마를 사용하여 나가는 메시지를 생성하고 유효성을 검사합니다.
규약 확인을 수행하기 위해 BizTalk Server 다음과 같이 진행됩니다.
AgreementPartIDForSend 컨텍스트 속성과 단방향 계약 ID를 일치시켜 계약을 확인합니다. 이 속성은 정수 형식이어야 하며 사용자 지정 구성 요소에서 설정할 수 있습니다. BizTalk Server 설정되지 않았습니다.
1단계가 실패하면 세 가지 컨텍스트 속성인 AgreementNameForSend, SenderPartyNameForSend, ReceiverPartyNameForSend 모두가 규약 속성과 일치하는지 비교하여 규칙을 확인합니다. 계약을 성공적으로 확인하려면 세 가지 속성을 모두 설정해야 합니다. 이러한 속성은 사용자 지정 구성 요소에서 설정할 수 있습니다. BizTalk Server 설정되지 않았습니다.
2단계가 성공하지 못하면 메시지 컨텍스트 속성의 파티 이름을 DestinationPartyName 속성과 일치시켜 규약을 확인합니다. 이 속성은 규약 속성의 식별자 탭에서 추가 규약 확인자로 설정됩니다.
3단계가 실패하면 메시지 컨텍스트의 DestinationPartySenderIdentifier, DestinationPartySenderQualifier, DestinationPartyReceiverIdentifier 및 DestinationPartyReceiverQualifier 속성이 규약 속성에 있는 이와 유사한 속성과 일치하는지 비교하여 규약을 확인합니다. 계약을 성공적으로 확인하려면 네 가지 속성을 모두 설정해야 합니다. 이러한 속성은 사용자 지정 구성 요소에서 설정할 수 있습니다. BizTalk Server 설정되지 않습니다. 자세한 내용은 아래를 참조하세요.
참고
위의 컨텍스트 속성 집합이 승격되고 BizTalk Server 해당 컨텍스트 속성과 연결된 규약을 찾을 수 없는 경우 BizTalk Server 메시지를 일시 중단합니다.
사용자가 계약 확인을 위해 컨텍스트 속성 집합을 의도적으로 작성한 경우 및 확인자가 OnewayAgreement를 식별하지 못한 경우 메시지가 일시 중단됩니다. 컨텍스트 속성 집합을 기준으로 계약을 확인하지 못한 경우 EventLog에 해당 경고 메시지가 throw됩니다.
4단계에 실패했거나 위 컨텍스트 속성이 모두 승격되지 않은 경우 EDI 메시지는 메시지에 등록된 송신 포트와 계약에 연결된 송신 포트를 일치시켜 계약으로 확인됩니다.
참고
동일한 송신 포트가 여러 규약과 연결된 경우 BizTalk Server에서 오류를 생성합니다.
1단계, 2단계, 3단계 또는 4단계에서 계약을 찾지 못한 경우 송신 파이프라인은 대체(Fallback) 계약 설정을 사용하여 나가는 메시지를 생성합니다.
발신자 및 수신자 컨텍스트 속성 일치에 의한 규약 확인
위의 두 번째 단계에서 일치에 사용된 4가지 컨텍스트 속성은 EDI.DestinationPartySenderIdentifier, EDI.DestinationPartySenderQualifier, EDI.DestinationPartyReceiverIdentifier 및 EDI.DestinationPartyReceiverQualifier입니다. 이러한 컨텍스트 속성의 네임스페이스는 입니다
http://schemas.microsoft.com/Edi/PropertySchema
. BizTalk Server 이러한 값을 단방향 규약 속성의 관련 보낸 사람 및 수신자 식별자 및 한정자와 일치시키려고 시도합니다. X12의 경우 이러한 필드는 규약 속성 대화 상자의 단방향 규약 탭의 식별자 페이지에 있는 ISA05, ISA06, ISA07 및 ISA08입니다. EDIFACT의 경우 이러한 필드는 규약 속성 대화 상자의 단방향 규약 탭의 식별자 페이지에 있는 UNB2.1, UNB2.2, UNB3.1 및 UNB3.2입니다.보낸 사람 및 받는 사람 식별자와 한정자 네 개를 모두 사용하여 송신 측 계약 확인을 설정하려면 컨텍스트 속성 네 가지를 모두 설정해야 합니다. 이렇게 하면 고유하게 계약이 식별됩니다. 이 계약 조회 방법을 사용하면 더욱 유연하게 송신 측 처리를 수행할 수 있습니다. 예를 들어 이 방법을 사용하면 일부 환경에서 여러 송신 포트를 만들지 않아도 되며 복잡한 송신 포트 필터를 피할 수 있습니다. 또한 원할 경우 OneWayAgreementId 속성을 설정하지 않아도 됩니다.
메시지 하나에 대해 컨텍스트 속성 네 가지가 모두 설정된 경우 이러한 컨텍스트 속성과 계약 속성 간에 일치하는 항목을 찾을 수 없으면 메시지가 일시 중단됩니다. 컨텍스트 속성 네 가지 중 일부가 설정되지 않은 경우에만 계약과 연결된 송신 포트를 사용하여 계약이 확인됩니다.
참고
계약이 설정 상태인 단계에서 메시지가 확인될 때까지 EDI 파이프라인의 메시지는 계약 확인의 다음 단계로 이동됩니다. 예를 들어 계약 확인의 첫 번째 단계에서 메시지가 확인되었지만 계약이 해제 상태인 경우에는 확인을 위해 메시지가 다음 단계로 이동됩니다.
스키마 결정
EDI 송신 파이프라인은 문서 유형 정보로 또는 루트 노드에, 각 트랜잭션 집합에 대한 중간 XML 파일에 포함된 스키마 이름 및 스키마 네임스페이스에서 메시지에 적용되는 스키마를 결정합니다.
유지된 교환의 경우 송신 파이프라인은 전체 교환에 대한 중간 XML 파일의 개별 트랜잭션 집합에서 문서 유형 정보를 사용하며 컨트롤 세그먼트 스키마를 사용하여 봉투(Envelope) 세그먼트를 처리합니다.