Azure Logic Apps에서 워크플로를 사용하여 EDIFACT 메시지 교환

Azure Logic Apps를 사용하여 만든 워크플로에서 EDIFACT 메시지를 보내고 받으려면 EDIFACT 통신을 지원하고 관리하는 작업을 제공하는 EDIFACT 커넥터를 사용합니다.

이 가이드에서는 기존 논리 앱 워크플로에 EDIFACT 인코딩 및 디코딩 작업을 추가하는 방법을 보여 줍니다. 사용 가능한 EDIFACT 트리거가 없으면 어떤 트리거든 워크플로를 시작할 수 있습니다. 이 가이드의 예에서는 요청 트리거를 사용합니다.

커넥터 기술 참조

EDIFACT 커넥터에는 논리 앱 형식 및 호스트 환경에 따라 다양한 버전이 있습니다.

논리 앱 환경 커넥터 버전
소비 다중 테넌트 Azure Logic Apps EDIFACT 관리 커넥터(표준 클래스). EDIFACT 커넥터는 작업만 제공하지만 시나리오에 적합한 모든 트리거를 사용할 수 있습니다. 자세한 내용은 다음 설명서를 참조하세요.

- EDIFACT 관리 커넥터 참조
- EDIFACT 메시지 제한
소비 ISE(통합 서비스 환경) EDIFACT 관리 커넥터(표준 클래스) 및 EDIFACT ISE 버전(표준 클래스와 메시지 제한이 다름) EDIFACT 커넥터는 작업만 제공하지만 시나리오에 적합한 모든 트리거를 사용할 수 있습니다. 자세한 내용은 다음 설명서를 참조하세요.

- EDIFACT 관리 커넥터 참조
- EDIFACT 메시지 제한
Standard 단일 테넌트 Azure Logic Apps 및 App Service Environment v3(Windows 플랜만 해당) EDIFACT 기본 제공 커넥터(미리 보기) 및 EDIFACT 관리 커넥터. 기본 제공 버전은 다음과 같은 차이점이 있습니다.

- 기본 제공 버전은 작업만 제공하지만 시나리오에 맞는 트리거를 사용할 수 있습니다.

- 기본 제공 버전은 Azure 가상 네트워크에 직접 액세스할 수 있습니다. 온-프레미스 데이터 게이트웨이가 필요하지 않습니다.

자세한 내용은 다음 설명서를 참조하세요.

- EDIFACT 관리 커넥터 참조
- EDIFACT 기본 제공 커넥터 작업
- EDIFACT 메시지 제한

EDIFACT 기본 제공 작업(표준 워크플로만 해당 - 미리 보기)

미리 보기 EDIFACT 기본 제공 커넥터에는 제한 사항 및 알려진 문제에 명시된 경우를 제외하고는 대응하는 EDIFACT 관리 커넥터 작업과 유사한 다음 작업이 있습니다.

제한 사항 및 알려진 문제

  • EDIFACT 기본 제공 커넥터 미리 보기

    • 이 기능은 미리 보기로 제공되고 Microsoft Azure 미리 보기의 추가 사용 약관이 적용됩니다.

    • 이 커넥터의 작업은 현재 최대 100MB의 페이로드를 지원합니다.

    • 미리 보기 EDIFACT 디코드 작업에는 현재 다음 기능이 포함되어 있지 않습니다.

      • 구성된 경우 중복된 교환, 그룹 및 트랜잭션 집합 컨트롤 번호를 확인합니다.

      • 전체 교환을 보존합니다.

      그렇지 않은 경우 미리 보기 EDIFACT 인코딩EDIFACT 디코드 기본 제공 커넥터 작업은 해당하는 EDIFACT 관리 커넥터 작업과 유사한 기능을 갖습니다.

    • 이 커넥터의 작업은 현재 여러 트랜잭션 또는 일괄 처리 메시지와의 교환을 지원하지 않습니다.

    • 이 커넥터의 작업은 현재 EDI 관련 추적을 내보내지 않습니다.

필수 조건

  • Azure 계정 및 구독 아직 구독이 없는 경우 Azure 체험 계정에 가입합니다.

  • 엔터프라이즈 통합 및 B2B 워크플로에서 사용하기 위해 거래 업체, 규약, 인증서 등과 같은 아티팩트를 정의하고 저장하는 통합 계정 리소스. 이 리소스는 다음 요구 사항을 충족해야 합니다.

    • 통합 계정과 논리 앱 리소스는 모두 동일한 Azure 구독 및 Azure 지역에 있어야 합니다.

    • 워크플로에 사용되는 EDIFACT 작업에 참여하는 두 개 이상의 거래 파트너를 정의합니다. 두 파트너에 대한 정의는 이 시나리오에서 ZZZ - 상호 정의된 동일한 비즈니스 ID 한정자를 사용해야 합니다.

    • 워크플로에 참여하는 거래 파트너 간의 EDIFACT 계약을 정의합니다. 각 규약에는 호스트 거래 업체와 게스트 거래 업체가 필요합니다. 사용자와 다른 파트너 간의 메시지 내용은 계약 형식과 일치해야 합니다. 메시지를 주고받을 때 사용할 계약 설정에 대한 자세한 내용은 EDIFACT 메시지 설정을 참조하세요.

      Important

      EDIFACT 커넥터는 UTF-8 문자만 지원합니다. 출력에 예기치 않은 문자가 포함되어 있는 경우 EDIFACT 메시지에서 UTF-8 문자 집합을 사용하는지 확인합니다.

  • 사용량 또는 표준 논리 앱 워크플로에서 작업하는지 여부에 따라 통합 계정에 대한 링크가 논리 앱 리소스에 필요할 수 있습니다.

    논리 앱 워크플로 링크가 필요한지 여부
    소비 연결 및 통합 계정 연결이 필요합니다. 워크플로에 EDIFACT 작업을 추가하면 연결을 만들 수 있습니다.
    Standard 통합 계정에 대한 연결이 필요하지만 링크는 필요하지 않습니다. 워크플로에 EDIFACT 작업을 추가하면 연결을 만들 수 있습니다.
  • EDIFACT 작업을 사용하려는 논리 앱 리소스 및 워크플로입니다.

    자세한 내용은 다음 설명서를 참조하세요.

EDIFACT 메시지 인코딩

EDIFACT 메시지로 인코딩 작업이라는 EDIFACT 관리 커넥터 작업과 EDIFACT 인코딩이라는 EDIFACT 기본 제공 커넥터 작업은 제한 사항 및 알려진 문제에 명시된 경우를 제외하고 다음 작업을 수행합니다.

  • 보낸 사람 한정자와 식별자 및 받는 사람 한정자와 식별자를 일치시켜 규약을 확인합니다.

  • XML로 인코딩된 메시지를 교환의 EDI 트랜잭션 집합으로 변환하는 EDI(전자 데이터 교환)를 직렬화합니다.

  • 트랜잭션 집합 헤더 및 트레일러 세그먼트를 적용합니다.

  • 각 교환에 대해 교환 컨트롤 번호, 그룹 컨트롤 번호 및 트랜잭션 집합 컨트롤 번호를 생성합니다.

  • 페이로드 데이터에서 구분 기호를 바꿉니다.

  • 메시지 스키마에 대한 트랜잭션 집합 데이터 요소의 스키마, 트랜잭션 집합 데이터 요소 및 트랜잭션 집합 데이터 요소에 대한 확장 유효성 검사와 같은 파트너별 속성 및 EDI의 유효성을 검사합니다.

  • 각 트랜잭션 집합에 대한 XML 문서를 생성합니다.

  • 구성된 경우 기술 승인, 기능 승인 또는 둘 다를 요청합니다.

    • 기술 승인으로서의 CONTRL 메시지는 교환 수신을 나타냅니다.

    • 기능적 승인으로서의 CONTRL 메시지는 오류 목록이나 지원되지 않는 기능을 포함하여 수신된 교환, 그룹 또는 메시지에 대한 승인 또는 거부를 나타냅니다.

  1. Azure Portal의 디자이너에서 논리 앱 리소스와 워크플로를 엽니다.

  2. 디자이너에서 다음 일반 단계에 따라 계약 이름별로 EDIFACT 메시지로 인코딩이라는 EDIFACT 작업을 워크플로에 추가합니다.

    참고 항목

    대신 ID별로 EDIFACT 메시지로 인코딩 작업을 사용하려는 경우 나중에 EDIFACT 계약에 지정된 보낸 사람 식별자수신자 식별자와 같은 다른 값을 제공해야 합니다. 또한 인코딩할 XML 메시지를 지정해야 합니다. 이는 트리거 또는 선행 작업의 출력일 수 있습니다.

  3. 통합 계정에 대해 다음 연결 정보를 제공합니다.

    속성 필수 설명
    연결 이름 연결의 이름
    통합 계정 사용 가능한 통합 계정 목록에서 사용할 계정을 선택합니다.

    예시:

    Screenshot shows Azure portal, Consumption workflow, and connection box for action named Encode to EDIFACT message by agreement name.

  4. 완료되면 만들기를 선택합니다.

  5. EDIFACT 작업에서 다음 속성 값을 제공합니다.

    속성 필수 설명
    EDIFACT 계약 이름 EDIFACT 사용 동의서.
    인코딩할 XML 메시지 EDIFACT 계약에 지정된 메시지 발신자의 비즈니스 식별자
    다른 매개 변수 아니요 이 작업에는 다음과 같은 다른 매개 변수가 포함됩니다.

    - 데이터 요소 구분 기호
    - 릴리스 표시기
    - 구성 요소 구분 기호
    - 반복 구분 기호
    - 세그먼트 마침 표시
    - 세그먼트 마침 표시 접미사
    - 소수 표시 기호

    자세한 내용은 EDIFACT 메시지 설정을 참조하세요.

    예를 들어 인코딩할 XML 메시지 페이로드는 요청 트리거의 본문 콘텐츠 출력일 수 있습니다.

    Screenshot shows Consumption workflow, action named Encode to EDIFACT message by agreement name, and message encoding properties.

  6. 워크플로를 저장합니다.

EDIFACT 메시지 디코딩

EDIFACT 메시지 디코딩 작업이라는 EDIFACT 관리 커넥터 작업과 EDIFACT 디코드라는 EDIFACT 기본 제공 커넥터 작업은 제한 사항 및 알려진 문제에 명시된 경우를 제외하고 다음 작업을 수행합니다.

  • 거래 업체 규약에 대해 봉투의 유효성을 검사합니다.

  • 발신자 한정자 및 식별자를 수신자 한정자 및 식별자와 일치시켜 계약을 해결합니다.

  • 교환에 둘 이상의 트랜잭션이 있는 경우 계약의 수신 설정에 따라 교환을 여러 트랜잭션 집합으로 분할합니다.

  • 교환을 디스어셈블합니다.

  • 교환 봉투 구조, 제어 스키마에 대한 봉투(Envelope) 스키마, 메시지 스키마에 대한 트랜잭션 집합 데이터 요소의 스키마, 트랜잭션 집합 데이터 요소에 대한 확장된 유효성 검사와 같은 파트너별 속성 및 EDI(전자 데이터 교환)의 유효성을 검사합니다.

  • 다음과 같이 구성된 경우 교환, 그룹 및 트랜잭션 집합 컨트롤 번호가 중복되지 않는지 확인합니다(관리 커넥터만 해당).

    • 이전에 받은 교환을 기준으로 교환 컨트롤 번호를 확인합니다.

    • 교환에 있는 다른 그룹 컨트롤 번호에 대한 그룹 컨트롤 번호를 확인합니다.

    • 해당 그룹의 다른 트랜잭션 집합 컨트롤 번호에 대한 트랜잭션 집합 컨트롤 번호를 확인합니다.

  • 교환을 트랜잭션 집합으로 분할하거나 전체 교환을 보존합니다(관리 커넥터만 해당). 예를 들면 다음과 같습니다.

    • 교환을 트랜잭션 세트로 분할 - 오류 발생 시 트랜잭션 세트를 일시 중단합니다.

      디코딩 작업은 교환을 트랜잭션 집합으로 분할하고 각 트랜잭션 집합을 구문 분석합니다. 이 작업은 유효성 검사에 실패한 트랜잭션 집합만 badMessages로 출력하고 나머지 트랜잭션 집합은 goodMessages로 출력합니다.

    • 교환을 트랜잭션 세트로 분할 - 오류 발생 시 교환을 일시 중단합니다.

      디코딩 작업은 교환을 트랜잭션 집합으로 분할하고 각 트랜잭션 집합을 구문 분석합니다. 교환에 포함된 하나 이상의 트랜잭션 집합이 유효성 검사에 실패할 경우 작업은 해당 교환에 포함된 모든 트랜잭션 집합을 badMessages에 출력합니다.

    • 교환 유지 - 오류 발생 시 트랜잭션 세트를 일시 중단합니다.

      디코딩 작업은 교환을 보존하고 일괄 처리된 교환 전체를 처리합니다. 이 작업은 유효성 검사에 실패한 트랜잭션 집합만 badMessages로 출력하고 나머지 트랜잭션 집합은 goodMessages로 출력합니다.

    • 교환 유지 - 오류 발생 시 교환을 일시 중단합니다.

      디코딩 작업은 교환을 보존하고 일괄 처리된 교환 전체를 처리합니다. 교환에 포함된 하나 이상의 트랜잭션 집합이 유효성 검사에 실패할 경우 작업은 해당 교환에 포함된 모든 트랜잭션 집합을 badMessages에 출력합니다.

  • 구성된 경우 기술 승인, 기능 승인 또는 둘 다를 생성합니다.

    • 수신된 완전한 교환에 대한 구문 검사 결과를 보고하는 기술 승인 또는 CONTRL ACK입니다.

    • 수신된 교환 또는 그룹에 대한 수락 또는 거부를 확인하는 기능적 확인입니다.

  1. Azure Portal의 디자이너에서 논리 앱 리소스와 워크플로를 엽니다.

  2. 디자이너에서 다음 일반 단계에 따라 EDIFACT 메시지 디코딩이라는 EDIFACT 작업을 워크플로에 추가합니다.

  3. 통합 계정에 대해 다음 연결 정보를 제공합니다.

    속성 필수 설명
    연결 이름 연결의 이름
    통합 계정 사용 가능한 통합 계정 목록에서 사용할 계정을 선택합니다.

    예시:

    Screenshot shows Consumption workflow designer and connection pane for the action named Decode EDIFACT message.

  4. 완료되면 만들기를 선택합니다.

  5. EDIFACT 작업에서 다음 속성 값을 제공합니다.

    속성 필수 설명
    디코딩할 EDIFACT 플랫 파일 메시지 디코딩할 XML 플랫 파일 메시지입니다.
    다른 매개 변수 아니요 이 작업에는 다음과 같은 다른 매개 변수가 포함됩니다.

    - 구성 요소 구분 기호
    - 데이터 요소 구분 기호
    - 릴리스 표시기
    - 반복 구분 기호
    - 세그먼트 마침 표시
    - 세그먼트 마침 표시 접미사
    - 소수 표시 기호
    - 페이로드 문자 집합
    - 세그먼트 마침 표시 접미사
    - 교환 유지
    - 오류 발생 시 교환 일시 중단

    자세한 내용은 EDIFACT 메시지 설정을 참조하세요.

    예를 들어 디코딩할 XML 메시지 페이로드는 요청 트리거의 본문 콘텐츠 출력일 수 있습니다.

    Screenshot shows Consumption workflow, action named Decode EDIFACT message, and message decoding properties.

EDIFACT 문서에서 UNH2.5 세그먼트 처리

EDIFACT 문서에서 UNH2.5 세그먼트는 스키마 조회에 사용됩니다. 예를 들어 이 샘플 EDIFACT 메시지에서 UNH 필드는 EAN008입니다.

UNH+SSDD1+ORDERS:D:03B:UN:EAN008

EDIFACT 문서를 처리하거나 UN2.5 세그먼트가 있는 EDIFACT 메시지를 처리하려면 다음 단계를 따릅니다.

  1. UNH2.5 루트 노드 이름이 있는 스키마를 업데이트하거나 배포합니다.

    예를 들어 샘플 UNH 필드의 스키마 루트 이름이 EFACT_D03B_ORDERS_EAN008이라고 가정합니다. UNH2.5 세그먼트가 다른 각각의 D03B_ORDERS에 대해 개별 스키마를 배포해야 합니다.

  2. Azure Portal에서 각각 사용량 또는 표준 논리 앱 워크플로가 있는지 여부에 따라 통합 계정 리소스 또는 논리 앱 리소스에 스키마를 추가합니다.

  3. EDIFACT 디코딩 또는 인코딩 작업을 사용하는지 여부에 관계없이 EDIFACT 계약의 수신 설정 또는 전송 설정 섹션에서 각각 스키마를 업로드하고 스키마 설정을 지정합니다.

  4. EDIFACT 계약을 편집하려면 계약 창에서 계약을 선택합니다. 계약 창의 도구 모음에서 JSON으로 편집을 선택합니다.

    • 계약의 receiveAgreement 섹션에서 schemaReferences 섹션을 찾아 UNH2.5 값을 추가합니다.

      Screenshot showing the Azure portal with an EDIFACT agreement's

    • 계약의 sendAgreement 섹션에서 schemaReferences 섹션을 찾아 UNH2.5 값을 추가합니다.

      Screenshot showing the Azure portal with an EDIFACT agreement's

다음 단계