Azure Logic Apps의 워크플로를 사용하여 X12 메시지 교환
적용 대상: Azure Logic Apps(사용량 + 표준)
Azure Logic Apps를 사용하여 만든 워크플로에서 X12 메시지를 보내고 받으려면 X12 통신을 지원하고 관리하는 작업을 제공하는 X12 커넥터를 사용합니다.
이 방법 가이드에서는 기존 논리 앱 워크플로에 X12 인코딩 및 디코딩 작업을 추가하는 방법을 보여 줍니다. X12 커넥터에는 트리거가 포함되지 않으므로 트리거를 사용하여 워크플로를 시작할 수 있습니다. 이 가이드의 예에서는 요청 트리거를 사용합니다.
커넥터 기술 참조
X12 커넥터는 다중 테넌트 Azure Logic Apps 및 단일 테넌트 Azure Logic Apps의 워크플로 간에 하나의 버전으로 제공됩니다. X12 커넥터에 대한 기술 정보는 다음 설명서를 참조하세요.
커넥터의 Swagger 파일에 문서화된 트리거, 작업 및 제한 사항을 설명하는 커넥터 참조 페이지
필수 조건
Azure 계정 및 구독 아직 Azure 구독이 없는 경우 체험 Azure 계정에 등록합니다.
엔터프라이즈 통합 및 B2B 워크플로에서 사용하기 위해 거래 업체, 규약, 인증서 등과 같은 아티팩트를 정의하고 저장하는 통합 계정 리소스. 이 리소스는 다음 요구 사항을 충족해야 합니다.
통합 계정과 논리 앱 리소스는 모두 동일한 Azure 구독 및 Azure 지역에 있어야 합니다.
워크플로에 사용되는 X12 작업에 참여하는 두 개 이상의 거래 파트너를 정의합니다. 두 파트너 모두에 대한 정의는 동일한 X12 비즈니스 ID 한정자를 사용해야 합니다.
워크플로에 참여하는 거래 파트너 간의 X12 계약을 정의합니다. 각 규약에는 호스트 거래 업체와 게스트 거래 업체가 필요합니다. 사용자와 다른 파트너 간의 메시지 내용은 계약 형식과 일치해야 합니다. 메시지를 주고받을 때 사용할 계약 설정에 대한 자세한 내용은 X12 메시지 설정을 참조하세요.
Important
HIPAA(Health Insurance Portability and Accountability Act) 스키마를 사용하는 경우
schemaReferences
섹션을 규약에 추가해야 합니다. 자세한 내용은 HIPAA 스키마 및 메시지 유형을 참조하세요.XML 유효성 검사에 사용할 스키마를 정의합니다.
Important
HIPAA(Health Insurance Portability and Accountability Act) 스키마를 사용하는 경우 HIPAA 스키마 및 메시지 유형을 검토해야 합니다.
사용량 또는 표준 논리 앱 워크플로에서 작업하는지 여부에 따라 통합 계정에 대한 링크가 논리 앱 리소스에 필요할 수 있습니다.
논리 앱 워크플로 링크가 필요한지 여부 소비 연결 및 통합 계정 연결이 필요합니다. 워크플로에 X12 작업을 추가하면 연결을 만들 수 있습니다. Standard 통합 계정에 대한 연결이 필요하지만 링크는 필요하지 않습니다. 워크플로에 X12 작업을 추가하면 연결을 만들 수 있습니다. X12 작업을 사용하려는 논리 앱 리소스 및 워크플로.
자세한 내용은 다음 설명서를 참조하세요.
X12 메시지 인코딩
X12 메시지로 인코딩 작업은 다음 작업을 수행합니다.
- 보낸 사람 및 받는 사람 컨텍스트 속성을 일치시켜 규약을 해결합니다.
- EDI 교환을 직렬화하고 XML로 인코딩된 메시지를 교환의 EDI 트랜잭션 집합으로 변환합니다.
- 트랜잭션 집합 헤더 및 트레일러 세그먼트를 적용합니다.
- 교환 제어 번호, 그룹 제어 번호 및 나가는 교환 각각에 대한 트랜잭션 집합 제어 번호를 생성합니다.
- 페이로드 데이터에서 구분 기호를 바꿉니다.
- EDI 및 파트너 관련 속성의 유효성을 검사합니다.
- 메시지 스키마에 대한 트랜잭션 집합 데이터 요소의 스키마 유효성 검사
- 트랜잭션 집합 데이터 요소에 대한 EDI 유효성 검사.
- 트랜잭션 집합 데이터 요소에 대한 확장된 유효성 검사.
- 구성된 경우 기술 및 기능 승인을 요청합니다.
- 헤더 유효성 검사 결과로 기술 승인을 생성합니다. 기술 승인은 주소 수신기에 의한 교환 헤더 및 트레일러의 처리 상태를 보고합니다.
- 본문 유효성 검사의 결과로 기능 승인을 생성합니다. 기능 승인은 받은 문서를 처리하는 동안 발생한 오류를 각각 보고합니다.
Azure Portal의 디자이너에서 논리 앱 리소스와 워크플로를 엽니다.
디자이너에서 다음 일반 단계에 따라 계약 이름으로 X12 메시지로 인코딩이라는 X12 작업을 워크플로에 추가합니다.
참고 항목
대신 ID별로 X12 메시지로 인코딩 작업을 사용하려면 나중에 X12 계약에 지정된 보낸 사람 식별자 및 받는 사람 식별자와 같은 다른 값을 제공해야 합니다. 또한 인코딩할 XML 메시지를 지정해야 합니다. 이는 트리거 또는 선행 작업의 출력일 수 있습니다.
메시지가 표시되면 통합 계정에 대해 다음 연결 정보를 제공합니다.
속성 필수 설명 연결 이름 예 연결의 이름 통합 계정 예 사용 가능한 통합 계정 목록에서 사용할 계정을 선택합니다. 예시:
완료되면 만들기를 선택합니다.
X12 작업 정보 상자에 다음 속성 값을 제공합니다.
속성 필수 설명 X12 계약 이름 예 사용할 X12 계약입니다. 인코딩할 XML 메시지 예 인코딩할 XML 메시지 다른 매개 변수 아니요 이 작업에는 다음과 같은 다른 매개 변수가 포함됩니다.
- 데이터 요소 구분 기호
- 구성 요소 구분 기호
- 대체 문자
- 세그먼트 마침 표시
- 세그먼트 마침 표시 접미사
- 컨트롤 버전 번호
- 애플리케이션 보낸 사람 ID/코드 GS02
- 애플리케이션 받는 사람 ID/코드 GS03
자세한 내용은 X12 메시지 설정을 검토합니다.예를 들어, 요청 트리거의 Body 콘텐츠 출력을 XML 메시지 페이로드로 사용할 수 있습니다.
X12 디코딩 메시지
X12 메시지 디코딩 작업은 다음 작업을 수행합니다.
거래 업체 규약에 대한 봉투의 유효성을 검사합니다.
EDI 및 파트너 관련 속성의 유효성을 검사합니다.
- EDI 구조 유효성 검사 및 확장된 스키마 유효성 검사
- 교환 봉투 구조 유효성 검사
- 제어 스키마에 대한 봉투의 스키마 유효성 검사
- 메시지 스키마에 대한 트랜잭션 집합 데이터 요소의 스키마 유효성 검사
- 트랜잭션 집합 데이터 요소에 대한 EDI 유효성 검사
교환, 그룹 및 트랜잭션 집합 제어 번호가 중복되지 않았는지 확인합니다.
- 이전에 받은 교환에 대한 교환 제어 번호를 확인합니다.
- 교환에 있는 다른 그룹 제어 번호에 대한 그룹 제어 번호를 확인합니다.
- 해당 그룹의 다른 트랜잭션 집합 제어 번호에 대한 트랜잭션 집합 제어 번호를 확인합니다.
교환을 트랜잭션 집합으로 분할하거나 전체 교환을 보존합니다.
교환을 트랜잭션 집합으로 분할하거나 오류 발생 시 트랜잭션 집합을 일시 중단합니다. 각 트랜잭션 집합을 구문 분석합니다. X12 디코드 작업은 유효성 검사에 실패한 트랜잭션 집합만
badMessages
에 출력하고, 나머지 트랜잭션 집합은goodMessages
에 출력합니다.교환을 트랜잭션 집합으로 분할하거나 오류 발생 시 교환을 일시 중단합니다. 각 트랜잭션 집합을 구문 분석합니다. 교환에 포함된 하나 이상의 트랜잭션 집합이 유효성 검사에 실패할 경우 X12 디코드 작업은 해당 교환에 포함된 모든 트랜잭션 집합을
badMessages
에 출력합니다.오류 발생 시 교환 유지 또는 트랜잭션 집합 일시 중단: 교환을 유지하고 일괄 처리된 교환 전체를 처리합니다. X12 디코드 작업은 유효성 검사에 실패한 트랜잭션 집합만
badMessages
에 출력하고, 나머지 트랜잭션 집합은goodMessages
에 출력합니다.교환 유지 또는 오류 발생 시 교환 일시 중단: 교환을 유지하고 일괄 처리된 전체 교환을 처리합니다. 교환에 포함된 하나 이상의 트랜잭션 집합이 유효성 검사에 실패할 경우 X12 디코드 작업은 해당 교환에 포함된 모든 트랜잭션 집합을
badMessages
에 출력합니다.
구성된 경우 기술 및 기능 승인을 생성합니다.
- 헤더 유효성 검사 결과로 기술 승인을 생성합니다. 기술 승인은 주소 수신기에 의한 교환 헤더 및 트레일러의 처리 상태를 보고합니다.
- 본문 유효성 검사의 결과로 기능 승인을 생성합니다. 기능 승인은 받은 문서를 처리하는 동안 발생한 오류를 각각 보고합니다.
Azure Portal의 디자이너에서 논리 앱 리소스와 워크플로를 엽니다.
메시지가 표시되면 통합 계정에 대해 다음 연결 정보를 제공합니다.
속성 필수 설명 연결 이름 예 연결의 이름 통합 계정 예 사용 가능한 통합 계정 목록에서 사용할 계정을 선택합니다. 예시:
완료되면 만들기를 선택합니다.
X12 작업 정보 상자에 다음 속성 값을 제공합니다.
속성 필수 설명 디코딩할 X12 플랫 파일 메시지 예 디코딩할 단층 파일 형식의 X12 메시지
참고: 메시지 배열의 XML 메시지 페이로드나 콘텐츠는 좋든 나쁘든 base64로 인코딩됩니다. 따라서 이 콘텐츠를 처리하는 식을 사용해야 합니다. 예를 들어, 다음 식은 메시지 콘텐츠를 XML로 처리합니다.xml(base64ToBinary(item()?['Body']))
다른 매개 변수 아니요 이 작업에는 다음과 같은 다른 매개 변수가 포함됩니다.
- 교환 유지
- 오류 발생 시 교환 일시 중단
자세한 내용은 X12 메시지 설정을 검토합니다.예를 들어, 요청 트리거의 Body 콘텐츠 출력을 XML 메시지 페이로드로 사용할 수 있지만 먼저 다음 식을 사용하여 이 콘텐츠를 전처리해야 합니다.