적용 대상: Azure Logic Apps(표준)
엔터프라이즈 통합 B2B(엔터프라이즈 간) 또는 BizTalk 마이그레이션 시나리오에서는 XML 문서를 구문 분석해야 할 수도 있습니다. 표준 논리 앱 워크플로는 XSD 스키마가 필요한 스키마를 사용하여 XML 구문 분석이라는 작업을 사용하여 XML을 구문 분석할 수 있습니다.
예를 들어 XML을 교환 형식으로 사용하고 Azure Logic Apps에 대한 워크플로 디자이너의 개별 XML 요소에 액세스해야 하는 고객 주문 또는 청구서를 정기적으로 받는다고 가정합니다.
제한 사항
이 작업은 현재 사용량 논리 앱 리소스 및 워크플로에 대해 지원되지 않습니다.
필수 구성 요소
Azure 계정 및 구독 아직 구독이 없는 경우 Azure 체험 계정에 가입합니다.
이미 트리거로 시작하는 표준 논리 앱 워크플로를 통해 워크플로에 스키마를 사용하여 XML 구문 분석 작업을 추가할 수 있습니다.
엔터프라이즈 통합 및 B2B 워크플로에서 사용하기 위해 거래 업체, 규약, 인증서 등과 같은 아티팩트를 정의하고 저장하는 통합 계정 리소스. 이 리소스는 다음 요구 사항을 충족해야 합니다.
논리 앱 리소스와 동일한 Azure 구독과 연결되어야 합니다.
스키마를 사용하여 XML 구문 분석 작업을 사용하려는 논리 앱 리소스와 동일한 위치 또는 Azure 지역에 있습니다.
표준 논리 앱 리소스 및 워크플로에서 작업하는 경우 다음 시나리오에 따라 통합 계정을 논리 앱 리소스에 연결하거나 XSD 스키마를 논리 앱 리소스에 직접 업로드하거나 두 가지 모두를 수행할 수 있습니다.
필요하거나 사용하려는 아티팩트가 있는 통합 계정이 이미 있는 경우 아티팩트를 사용하려는 여러 표준 논리 앱 리소스에 통합 계정을 연결할 수 있습니다. 이렇게 하면 각 논리 앱에 XSD 스키마를 업로드할 필요가 없습니다. 자세한 내용은 논리 앱 리소스를 통합 계정에 연결을 참조하세요.
통합 계정이 없거나 동일한 논리 앱 리소스 내의 여러 워크플로에서 아티팩트를 사용하려는 경우 Azure Portal이나 Visual Studio Code를 사용하여 논리 앱 리소스에 스키마를 직접 추가할 수 있습니다.
따라서 통합 계정이 없거나 필요한 경우 업로드 옵션을 사용할 수 있습니다. 그렇지 않은 경우 연결 옵션을 사용할 수 있습니다. 어느 쪽이든 동일한 논리 앱 리소스 내의 모든 하위 워크플로에서 이러한 아티팩트를 사용할 수 있습니다.
이 경우에도 AS2, X12 및 EDIFACT 작업 사용과 함께 거래 업체, 규약, 인증서 등의 다른 아티팩트를 저장할 통합 계정이 필요합니다.
스키마를 사용하여 XML 구문 분석 작업과 함께 사용할 XSD 스키마입니다. 이 스키마에 다음 예와 같은 루트 요소가 포함되어 있는지 확인합니다.
<xs:element name="Root"> <....> </xs:element>
스키마 작업을 사용하여 XML 구문 분석 추가
Azure Portal의 디자이너에서 표준 논리 앱과 워크플로를 엽니다.
트리거가 없는 빈 워크플로가 있는 경우 다음 일반 단계에 따라 원하는 트리거를 추가합니다. 그렇지 않은 경우 다음 단계를 계속 진행합니다.
이 예제에서는 요청 트리거를 사용합니다.
스키마를 사용하여 XML 구문 분석 작업을 추가하려는 워크플로의 단계에서 스키마를 사용하여 XML 구문 분석이라는 작업을 추가하려면 다음 일반 단계를 따릅니다.
콘텐츠 상자에서 HTTP 요청에서 수신한 XML 데이터를 사용하여 구문 분석하려는 XML 콘텐츠를 지정합니다.
워크플로에서 이전 작업의 출력을 선택하려면 스키마를 사용하여 XML 구문 분석 작업에서 콘텐츠 상자 내부를 선택하고 동적 콘텐츠 목록 옵션(번개 아이콘)을 선택합니다.
동적 콘텐츠 목록에서 구문 분석하려는 콘텐츠의 토큰을 선택합니다.
이 예제에서는 트리거에서 본문 토큰을 선택합니다.
원본 목록에서 XSD 스키마를 업로드한 위치(LogicApp 리소스 또는 IntegrationAccount)를 선택합니다.
이름 목록에서 XSD 스키마를 선택합니다.
완료되면 워크플로를 저장합니다.
이제 스키마를 사용하여 XML 구문 분석 작업 설정이 완료되었습니다. 실제 앱에서는 Salesforce와 같은 LOB(기간 업무) 앱에 구문 분석된 데이터를 저장하려고 할 수 있습니다. 구문 분석된 출력을 Salesforce로 보내려면 Salesforce 작업을 추가합니다.
구문 분석 작업을 테스트하려면 워크플로를 트리거하고 실행합니다. 예를 들어 요청 트리거의 경우 트리거의 엔드포인트 URL에 요청을 보냅니다.
스키마를 사용하여 XML 구문 분석 작업은 워크플로가 트리거되고 XML 콘텐츠를 구문 분석할 수 있을 때 실행됩니다.
고급 매개 변수
다음 표에서는 이 작업에서 사용할 수 있는 고급 매개 변수를 설명합니다.
| 매개 변수 | 값 | 설명 |
|---|---|---|
| DTD 처리 |
-
무시 - 구문 분석 - 금지 |
XML DTD(문서 형식 정의)를 처리하는 방법을 지정합니다. |
| XML 정규화 | 아니요 또는 예 | XML 콘텐츠를 정규화할지 여부입니다. |
| 공백 무시? | 아니요 또는 예 | XML 문서에서 공백, 탭, 빈 줄 등 중요하지 않은 공백을 구문 분석할지 아니면 무시할지 여부를 나타냅니다. |
| XML 처리 명령 무시? | 아니요 또는 예 | XML 처리 지침을 따르거나 무시할지 여부입니다. |
| XML 특성 무시 | 아니요 또는 예 | XML 특성을 작성하거나 무시할지 여부입니다. |
| 정규화된 이름 사용? | 아니요 또는 예 | 더 간단한 로컬 이름 또는 정규화된 XML 이름을 사용할지 여부입니다. |
| 루트 노드 정규화된 이름 | < 루트-노드-자격-이름> | 스키마에 참조되지 않은 여러 요소 정의가 포함된 경우 루트 노드의 정규화된 이름입니다. |