Udostępnij za pośrednictwem


Przekształcanie kodu XML w przepływach pracy za pomocą usługi Azure Logic Apps

Dotyczy: Azure Logic Apps (Zużycie + Standardowa)

W scenariuszach biznesowych (B2B) integracji przedsiębiorstwa może być konieczne przekonwertowanie kodu XML między formatami. Przepływ pracy aplikacji logiki może przekształcić kod XML przy użyciu akcji Przekształć kod XML i wstępnie zdefiniowanej mapy.

Załóżmy na przykład, że regularnie otrzymujesz zamówienia B2B lub faktury od klienta, który używa formatu daty YearMonthDay (RRRRMDD). Jednak twoja organizacja używa formatu daty MonthDayYear (MMDDYYYY). Możesz utworzyć mapę, która przekształca format YearMonthDay na format MonthDayYear przed zapisaniem szczegółów zamówienia lub faktury w bazie danych aktywności klienta.

Wymagania wstępne

  • Konto i subskrypcja platformy Azure. Jeśli nie masz jeszcze subskrypcji, utwórz bezpłatne konto platformy Azure.

  • Przepływ pracy aplikacji logiki, który już rozpoczyna się od wyzwalacza, aby w razie potrzeby dodać akcję Przekształć kod XML w przepływie pracy.

  • Zasób konta integracji, w którym definiujesz i przechowujesz artefakty, takie jak partnerzy handlowi, umowy, certyfikaty itd., do użycia w przepływach pracy integracji przedsiębiorstwa i B2B. Ten zasób musi spełniać następujące wymagania:

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

    • Istnieje w tej samej lokalizacji lub regionie świadczenia usługi Azure co zasób aplikacji logiki, w którym planujesz użyć akcji Przekształć kod XML .

    • Jeśli pracujesz nad zasobem i przepływem pracy aplikacji logiki Zużycie, konto integracji wymaga następujących elementów:

      • Mapa do użycia do przekształcania zawartości XML.

      • Link do zasobu aplikacji logiki.

    • Jeśli pracujesz nad zasobem i przepływem pracy aplikacji logiki w warstwie Standardowa, możesz połączyć konto integracji z zasobem aplikacji logiki, przekazać mapy bezpośrednio do zasobu aplikacji logiki lub oba te scenariusze:

      • Jeśli masz już konto integracji z artefaktami, których potrzebujesz lub chcesz użyć, możesz połączyć konto integracji z wieloma zasobami standardowej aplikacji logiki, w których chcesz używać artefaktów. W ten sposób nie trzeba przekazywać map do poszczególnych 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ć mapy do zasobu aplikacji logiki przy użyciu witryny Azure Portal lub programu Visual Studio Code.

        Uwaga

        Wbudowany łącznik Liquid umożliwia wybranie mapy, która została wcześniej przekazana do zasobu aplikacji logiki lub połączonego konta integracji, ale nie obu tych elementów.

      Jeśli więc nie masz lub nie potrzebujesz konta integracji, możesz użyć opcji przekazywania. W przeciwnym razie możesz użyć opcji łączenia. Tak czy inaczej, można użyć tych artefaktów we wszystkich podrzędnych przepływach pracy w ramach tego samego zasobu aplikacji logiki.

    Nadal potrzebujesz konta integracji do przechowywania innych artefaktów, takich jak partnerzy, umowy i certyfikaty, wraz z użyciem operacji AS2, X12 i EDIFACT .

Dodawanie akcji Przekształć XML

  1. W witrynie Azure Portal otwórz standardową aplikację logiki 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ę Przekształć kod XML, wykonaj następujące ogólne kroki, aby dodać akcję o nazwie Przekształć kod XML.

  4. W polu Zawartość określ zawartość XML, którą chcesz przekształcić 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 Przekształć xml kliknij 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 przekształcić.

      Screenshot shows Standard workflow with opened dynamic content list.

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

      Uwaga

      Upewnij się, że wybrano zawartość XML. Jeśli zawartość nie jest xml lub jest zakodowana w formacie base64, musisz określić wyrażenie, które przetwarza zawartość. Na przykład można użyć funkcji wyrażeń, takich jak base64ToBinary() dekodowanie zawartości lub xml() przetwarzanie zawartości jako XML.

  5. Z listy Źródło mapy wybierz lokalizację, w której przekazano mapę, zasób usługi LogicApp lub Konto integracji.

  6. Z listy Mapa wybierz mapę.

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

    Teraz skończysz konfigurować akcję Przekształć kod XML . W rzeczywistej aplikacji możesz przechowywać przekształcone dane w aplikacji biznesowej (LOB), takiej jak SalesForce. Aby wysłać przekształcone dane wyjściowe do usługi Salesforce, dodaj akcję Salesforce.

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

    Akcja Przekształć kod XML jest uruchamiana po wyzwoleniu przepływu pracy i gdy zawartość XML jest dostępna do przekształcenia.

Zaawansowane możliwości

Odwoływanie się do zestawów lub wywoływanie kodu niestandardowego z map

Akcja Przekształć kod XML obsługuje odwoływanie się do zestawów zewnętrznych z map, które umożliwiają bezpośrednie wywoływanie niestandardowego kodu platformy .NET z map XSLT. Aby uzyskać więcej informacji, zobacz Dodawanie map XSLT dla przepływów pracy w usłudze Azure Logic Apps.

Odwołania do obiektów rozszerzeń

W standardowych przepływach pracy akcja Przekształć kod XML obsługuje określanie obiektu rozszerzenia XML do użycia z mapą.

  1. W akcji Przekształć kod XML otwórz listę Zaawansowane parametry i wybierz pozycję Obiekt rozszerzenia XML, który dodaje parametr do akcji.

  2. W polu Obiekt rozszerzenia XML określ obiekt rozszerzenia, na przykład:

    Screenshot shows Transform XML action with XML Extension Object parameter and value.

Znacznik kolejności bajtów

Domyślnie odpowiedź z przekształcenia rozpoczyna się od znaku kolejności bajtów (BOM). Dostęp do tej funkcji można uzyskać tylko wtedy, gdy pracujesz w edytorze widoku kodu. Aby wyłączyć tę funkcję, ustaw transformOptions właściwość na disableByteOrderMark:

"Transform_XML": {
    "inputs": {
        "content": "@{triggerBody()}",
        "integrationAccount": {
            "map": {
                "name": "TestMap"
            }
        },
        "transformOptions": "disableByteOrderMark"
    },
    "runAfter": {},
    "type": "Xslt"
}

Następne kroki