Udostępnij za pośrednictwem


Analizowanie kodu XML przy użyciu schematów w standardowych przepływach pracy z Azure Logic Apps

Dotyczy: Azure Logic Apps (Standard)

W scenariuszach integracji dla przedsiębiorstw, takich jak migracje między firmami (B2B) lub BizTalk, może być konieczne przeanalizowanie dokumentów XML. Standardowe przepływy pracy aplikacji logiki w Azure Logic Apps mogą analizować kod XML przy użyciu akcji o nazwie Parse XML ze schematem który wymaga schematu XSD.

Załóżmy na przykład, że regularnie otrzymujesz zamówienia lub faktury klientów w formacie XML. Załóżmy, że musisz uzyskać dostęp do poszczególnych elementów XML bezpośrednio w projektancie przepływu pracy dla Azure Logic Apps.

Ograniczenia

Zasób i przepływ pracy aplikacji logiki Zużycie nie obsługuje tej akcji.

Wymagania wstępne

  • Konto i subskrypcja Azure. Pobierz bezpłatne konto Azure.

  • Przepływ pracy standardowej aplikacji logicznej rozpoczynający się od wyzwalacza, dzięki czemu można dodać akcję Parsowanie XML ze schematem do przepływu pracy.

  • Zasób konta integracji, gdzie definiujesz i przechowujesz artefakty, takie jak partnerzy handlowi, umowy, certyfikaty i inne elementy, do użytku w przepływach pracy związanych z integracją przedsiębiorstwa i B2B. Ten zasób musi spełniać następujące wymagania:

    • Jest skojarzony z tą samą subskrypcją Azure co zasób aplikacji logiki.

    • Istnieje w tej samej lokalizacji lub regionie Azure co zasób aplikacji logicznej, w którym planujesz użyć akcji Parse XML ze schematem.

    • Jeśli pracujesz nad zasobem aplikacji logiki Standard i przepływem pracy, możesz połączyć konto integracji z zasobem aplikacji logiki, przesłać schematy XSD bezpośrednio do zasobu aplikacji logiki lub oba, na podstawie następujących scenariuszy:

      • Jeśli masz już konto integracji z artefaktami, których potrzebujesz lub chcesz użyć, możesz połączyć to konto z wieloma zasobami standardowych aplikacji logiki, w których chcesz używać tych artefaktów. Nie musisz przekazywać schematów XSD do każdej pojedynczej aplikacji logiki. Aby uzyskać więcej informacji, zobacz Łączenie zasobu aplikacji logiki z kontem integracji.

      • Jeśli nie masz konta integracji lub planujesz używać artefaktów w wielu przepływach pracy w ramach tego samego zasobu aplikacji logiki, możesz bezpośrednio dodać schematy do zasobu aplikacji logiki przy użyciu portalu Azure lub Visual Studio Code.

      • Jeśli nie masz konta integracji lub go nie potrzebujesz, możesz użyć opcji przesyłania. W przeciwnym razie użyj opcji łączenia. Tak czy inaczej, można użyć tych artefaktów we wszystkich podrzędnych przepływach pracy w obrębie tego samego zasobu aplikacji logicznej.

      Nadal potrzebujesz konta integracji do przechowywania innych artefaktów, takich jak partnerzy, umowy i certyfikaty, jeśli używasz AS2, X12 i EDIFACT.

  • Schemat XSD do użycia z akcją Analizuj XML za pomocą schematu. Upewnij się, że ten schemat zawiera element główny, który wygląda jak w poniższym przykładzie:

    <xs:element name="Root">
        <....>
    </xs:element>
    

Dodaj akcję analizy XML ze schematem

  1. W Azure portal otwórz aplikację logiki w warstwie Standardowa i przepływ pracy w projektancie.

  2. Jeśli masz pusty przepływ pracy, który nie ma wyzwalacza, wykonaj następujące ogólne kroki, aby dodać dowolny wyzwalacz. W przeciwnym razie przejdź do następnego kroku.

    W tym przykładzie użyto wyzwalacza Żądania .

  3. W kroku w przepływie pracy, w którym chcesz dodać akcję Analizuj XML ze schematem, wykonaj następujące ogólne czynności, aby dodać akcję o nazwie Analizuj XML ze schematem.

  4. W polu Zawartość określ zawartość XML, którą chcesz przeanalizować przy użyciu dowolnych danych XML otrzymywanych w żądaniu HTTP.

    1. Aby wybrać dane wyjściowe z poprzednich operacji w przepływie pracy, w akcji Przeanalizuj kod XML ze schematem wybierz wewnątrz pola Zawartość i wybierz opcję listy zawartości dynamicznej (ikona błyskawica).

    2. Z listy zawartości dynamicznej wybierz token zawartości, którą chcesz przeanalizować.

      W tym przykładzie jest wybierany token Treść z wyzwalacza.

      Zrzut ekranu przedstawiający standardowy przepływ pracy z otwartą listą zawartości dynamicznej.

  5. Z listy Źródło wybierz lokalizację, w której przekazano schemat XSD, zasób usługi LogicApp lub konto IntegrationAccount.

  6. Z listy Nazwa wybierz schemat XSD.

  7. Gdy wszystko będzie gotowe, zapisz proces.

    Teraz zakończyłeś konfigurowanie akcji Analizuj XML ze schematem. W aplikacji rzeczywistej możesz przechowywać przeanalizowane dane w aplikacji biznesowej (LOB), takiej jak Salesforce. Aby wysłać przeanalizowane dane wyjściowe do usługi Salesforce, dodaj akcję Salesforce.

  8. Aby przetestować akcję analizowania, zainicjuj i uruchom przepływ pracy. Na przykład w przypadku wyzwalacza Żądania wyślij żądanie do adresu URL punktu końcowego wyzwalacza.

    Akcja parse XML za pomocą schematu działa po wyzwoleniu przepływu pracy i gdy zawartość XML jest dostępna do parsowania.

Parametry zaawansowane

W poniższej tabeli opisano zaawansowane parametry dostępne w tej akcji:

Parametr Wartość Opis
Przetwarzanie DTD - Zignoruj
- Analizuj
- Zakazywać
Określ sposób obsługi definicji typu dokumentu XML (DTD).
Normalizowanie kodu XML Nie lub Tak Czy znormalizować zawartość XML.
Ignoruj białe znaki? Nie lub Tak Czy analizować lub ignorować nieistotne odstępy, takie jak spacje, karty i puste wiersze w dokumentach XML.
Ignoruj instrukcje przetwarzania XML? Nie lub Tak Czy należy postępować zgodnie z instrukcjami przetwarzania XML, czy ignorować je.
Ignoruj atrybuty XML Nie lub Tak Czy zapisywać lub ignorować atrybuty XML.
Czy używać w pełni kwalifikowanych nazw? Nie lub Tak Czy używać prostszych nazw lokalnych, czy w pełni kwalifikowanych nazw XML.
Nazwa kwalifikowana węzła głównego < nazwa kwalifikowana węzła głównego> Kwalifikowana nazwa węzła głównego, gdy schemat zawiera wiele nieodwołanych definicji elementów.

Rozwiązywanie problemów

W tej sekcji opisano problemy, które mogą wystąpić i możliwe rozwiązania lub obejścia, aby rozwiązać te problemy.

Kolejność elementów XML nie jest zachowywana

Jeśli kod XML zawiera powtarzające się elementy, które pojawiają się w kolejności mieszanej, akcja Przeanalizuj kod XML ze schematem może nie zachować oryginalnej kolejności i grupować te elementy według ich nazwy w kolejności alfabetycznej.

To zachowanie jest oczekiwane, ponieważ akcja Przeanalizuj kod XML ze schematem konwertuje kod XML na format JSON. Ten format nie ma możliwości reprezentowania pojedynczej uporządkowanej listy z różnymi typami elementów. Zamiast tego akcja grupuje elementy według nazwy w kolejności alfabetycznej.

Załóżmy na przykład, że masz elementy o następujących nazwach w tej konkretnej kolejności: A, , B, BA:

przed

<Items>
   <A>1</A>
   <B>2</B>
   <A>3</A>
   <B>4</B>
</Items>

Po przeanalizowaniu XML wynikowe grupy JSON przestawiane są i porządkowane według nazwy w następujący sposób: A, A, B oraz B.

po

{
   "A": ["1", "3"],
   "B": ["2", "4"]
}

Akcja Przeanalizuj kod XML ze schematem nie ma żadnego ustawienia, które zachowuje kolejność mieszanych elementów powtarzanych. To ograniczenie wynika z konwertowania kodu XML na format JSON.

Poniższa lista zawiera opis opcji rozwiązania lub obejścia tego problemu:

  • Jeśli sterujesz schematem, zaprojektuj schemat tak, aby miał tylko jedną powtarzaną listę bez wielu powtarzających się typów elementów.

    Na przykład, zamiast oddzielnie powtarzać A i B, użyć pojedynczego elementu otoki, który powtarza się, takiego jak Item. Następnie każdy element wskazuje, czy AB jest reprezentowany. Następnie system może zachować wszystkie elementy na jednej uporządkowanej liście i zachować oryginalną kolejność. Ta opcja jest najlepsza w przypadku długoterminowego, przewidywalnego zachowania.

  • Jeśli oryginalna kolejność jest wymagana lub krytyczna, nie analizuj kodu XML.

    • Unikaj przerywania kodu XML w formacie JSON.
    • Obsługa dokumentu XML jako całości.
    • Przekaż dokument XML bez zmian lub przekształć zawartość przy użyciu narzędzi opartych na formacie XML, takich jak XSLT.
  • Pamiętaj o tym ograniczeniu.

    Jeśli nie możesz zmienić schematu lub przepływu pracy, pamiętaj o następujących kwestiach:

    • Mieszane powtarzające się elementy są pogrupowane według nazwy elementu, tracąc oryginalną kolejność.
    • Zaprojektuj logikę podrzędną, mając na uwadze to zachowanie.