Udostępnij za pośrednictwem


Wymiana komunikatów B2B między partnerami przy użyciu przepływów pracy w usłudze Azure Logic Apps

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

Jeśli masz konto integracji, które definiuje partnerów handlowych i umowy, możesz utworzyć zautomatyzowany przepływ pracy między firmami (B2B), który wymienia komunikaty między partnerami handlowymi przy użyciu usługi Azure Logic Apps. Przepływ pracy może używać łączników obsługujących standardowe protokoły branżowe, takie jak AS2, X12, EDIFACT i RosettaNet. Można również uwzględnić operacje udostępniane przez inne łączniki w usłudze Azure Logic Apps, takie jak Office 365 Outlook, SQL Server i Salesforce.

W tym artykule pokazano, jak utworzyć przykładowy przepływ pracy aplikacji logiki, który może odbierać żądania HTTP przy użyciu wyzwalacza żądania, dekodować zawartość komunikatu przy użyciu akcji Dekoduj as2 i Dekoduj X12 oraz zwracać odpowiedź przy użyciu akcji Odpowiedź. W przykładzie użyto projektanta przepływu pracy w witrynie Azure Portal, ale możesz wykonać podobne kroki dla projektanta przepływu pracy w programie Visual Studio Code.

Jeśli dopiero zaczynasz korzystać z aplikacji logiki, zapoznaj się z tematem Co to jest usługa Azure Logic Apps? Aby uzyskać więcej informacji na temat integracji B2B dla przedsiębiorstw, zapoznaj się z tematem B2B enterprise integration workflows with Azure Logic Apps (Przepływy pracy integracji przedsiębiorstwa B2B z usługą Azure Logic Apps).

Wymagania wstępne

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

  • 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 platformy Azure co zasób aplikacji logiki.

    • Jeśli używasz typu zasobu Aplikacja logiki (Zużycie), konto integracji wymaga linku do zasobu aplikacji logiki, zanim będzie można używać artefaktów w przepływie pracy.

    • Jeśli używasz typu zasobu aplikacji logiki (Standardowa), konto integracji nie wymaga linku do zasobu aplikacji logiki, ale nadal jest wymagane do przechowywania innych artefaktów, takich jak partnerzy, umowy i certyfikaty, wraz z użyciem operacji AS2, X12 lub EDIFACT. Twoje konto integracji nadal musi spełniać inne wymagania, takie jak używanie tej samej subskrypcji platformy Azure i istniejące w tej samej lokalizacji co zasób aplikacji logiki.

    Uwaga

    Obecnie tylko typ zasobu aplikacji logiki (Zużycie) obsługuje operacje RosettaNet . Typ zasobu aplikacji logiki (Standardowa) nie obejmuje operacji RosettaNet .

  • Co najmniej dwóch partnerów handlowych na koncie integracji. Definicje dla obu partnerów muszą używać tego samego kwalifikatora tożsamości biznesowej, który to AS2, X12, EDIFACT lub RosettaNet.

  • Umowa AS2 i umowa X12 dla partnerów, których używasz w tym przepływie pracy. Każda umowa wymaga partnera hosta i partnera-gościa.

  • Zasób aplikacji logiki z pustym przepływem pracy, w którym można dodać wyzwalacz Żądania , a następnie następujące akcje:

Dodawanie wyzwalacza żądania

Aby uruchomić przepływ pracy w tym przykładzie, dodaj wyzwalacz Żądania.

  1. W witrynie Azure Portal otwórz zasób aplikacji logiki i pusty przepływ pracy w projektancie przepływu pracy.

  2. W polu wyszukiwania projektanta wybierz pozycję Wszystkie, jeśli nie jest zaznaczone. W polu wyszukiwania wpisz when a http request. Wybierz wyzwalacz Żądania o nazwie Po odebraniu żądania HTTP.

    Zrzut ekranu przedstawiający witrynę Azure Portal i projektanta z wieloma dzierżawami z wybraną pozycją

  3. W wyzwalaczu pozostaw puste pole Schemat JSON treści żądania.

    Przyczyną jest to, że wyzwalacz otrzyma komunikat X12 w formacie pliku prostego.

    Zrzut ekranu przedstawiający projektanta z wieloma dzierżawami i właściwości wyzwalacza żądania.

  4. Gdy skończysz, na pasku narzędzi projektanta wybierz Zapisz.

    Ten krok generuje adres URL POST protokołu HTTP, którego później używasz do wysyłania żądania wyzwalającego przepływ pracy aplikacji logiki.

    Zrzut ekranu przedstawiający projektanta z wieloma dzierżawami i wygenerowany adres URL wyzwalacza żądania.

  5. Skopiuj i zapisz adres URL do późniejszego użycia.

Dodawanie akcji dekodowania AS2

Teraz dodaj akcje B2B dla tego przykładu, które używają akcji AS2 i X12.

  1. W obszarze wyzwalacza wybierz pozycję Nowy krok.

    Napiwek

    Aby ukryć szczegóły wyzwalacza żądania, wybierz pasek tytułu wyzwalacza.

    Zrzut ekranu przedstawiający projektanta z wieloma dzierżawami i wyzwalacz z wybraną pozycją

  2. W polu wyszukiwania Wybierz operację wybierz pozycję Wszystkie, jeśli nie jest zaznaczone. W polu wyszukiwania wprowadź ciąg as2, a następnie wybierz pozycję Dekoduj AS2.

    Zrzut ekranu przedstawiający projektanta z wieloma dzierżawami z wybraną akcją

  3. W akcji Komunikat do dekodowania właściwości wprowadź dane wejściowe, które chcesz zdekodować akcję AS2, która jest body danymi wyjściowymi wyzwalacza Żądania. Istnieje wiele sposobów określania tej zawartości jako danych wejściowych akcji, wybierając z listy zawartości dynamicznej lub jako wyrażenie:

    • Aby wybrać z listy zawierającej dostępne dane wyjściowe wyzwalacza, kliknij wewnątrz pola Komunikat, aby zdekodować . Po wyświetleniu listy zawartości dynamicznej w obszarze Po odebraniu żądania HTTP wybierz wartość właściwości Treść , na przykład:

      Zrzut ekranu przedstawiający projektanta z wieloma dzierżawami z wybraną listą zawartości dynamicznej i właściwością

      Napiwek

      Jeśli żadne dane wyjściowe wyzwalacza nie są wyświetlane, na liście właściwości dynamicznych w obszarze Po odebraniu żądania HTTP wybierz pozycję Zobacz więcej.

    • Aby wprowadzić wyrażenie odwołujące się do danych wyjściowych wyzwalacza body , kliknij wewnątrz pola Komunikat, aby zdekodować . Po wyświetleniu listy zawartości dynamicznej wybierz pozycję Wyrażenie. W edytorze wyrażeń wprowadź następujące wyrażenie i wybierz przycisk OK:

      triggerOutputs()['body']

      Lub w polu Komunikat do dekodowania wprowadź bezpośrednio następujące wyrażenie:

      @triggerBody()

      Wyrażenie jest rozpoznawane jako token Treść .

      Zrzut ekranu przedstawiający projektanta z wieloma dzierżawami z rozpoznanymi danymi wyjściowymi właściwości

  4. We właściwości Nagłówki komunikatów akcji wprowadź wszelkie nagłówki wymagane dla akcji AS2, które znajdują się w headers danych wyjściowych wyzwalacza Żądanie.

    1. Aby wprowadzić wyrażenie odwołujące się do danych wyjściowych wyzwalacza headers , wybierz pozycję Przełącz nagłówki wiadomości na tryb tekstowy.

      Zrzut ekranu przedstawiający projektanta z wieloma dzierżawami z wybraną pozycją

    2. Kliknij wewnątrz pola Nagłówki wiadomości. Po wyświetleniu listy zawartości dynamicznej wybierz pozycję Wyrażenie. W edytorze wyrażeń wprowadź następujące wyrażenie i wybierz przycisk OK:

      triggerOutputs()['Headers']

      W akcji Dekoduj AS2 wyrażenie jest teraz wyświetlane jako token:

      Zrzut ekranu przedstawiający projektanta z wieloma dzierżawami i pole

    3. Aby uzyskać token wyrażenia, który ma zostać rozpoznany w tokenie Nagłówki , przełącz się między projektantem a widokiem kodu. Po tym kroku akcja Dekoduj as2 wygląda następująco:

      Zrzut ekranu przedstawiający projektanta z wieloma dzierżawami i rozpoznane dane wyjściowe nagłówków z wyzwalacza.

Dodawanie akcji Odpowiedź jako potwierdzenia wiadomości

Aby powiadomić partnera handlowego, że wiadomość została odebrana, możesz zwrócić odpowiedź zawierającą powiadomienie o dyspozycji komunikatu AS2 (MDN) przy użyciu akcji Warunek i Odpowiedź. Dodając te akcje bezpośrednio po akcji AS2, przepływ pracy aplikacji logiki może kontynuować przetwarzanie, jeśli akcja AS2 zakończy się pomyślnie. W przeciwnym razie, jeśli akcja AS2 zakończy się niepowodzeniem, przepływ pracy aplikacji logiki przestanie przetwarzać.

  1. W obszarze akcji Dekoduj AS2 wybierz pozycję Nowy krok.

  2. W polu wyszukiwania Wybierz operację wybierz pozycję Wbudowane, jeśli jeszcze nie wybrano. W polu wyszukiwania wpisz condition. Wybierz akcję Warunek.

    Zrzut ekranu przedstawiający projektanta z wieloma dzierżawami i akcję

    Teraz zostanie wyświetlony kształt warunku, w tym ścieżki określające, czy warunek jest spełniony.

    Zrzut ekranu przedstawiający projektanta z wieloma dzierżawami i kształt warunku z pustymi ścieżkami.

  3. Teraz określ warunek do obliczenia. W polu Wybierz wartość wprowadź następujące wyrażenie:

    @body('AS2_Decode')?['AS2Message']?['MdnExpected']

    W środkowym polu upewnij się, że operacja porównania jest ustawiona na is equal towartość . W polu po prawej stronie wprowadź wartość Expected.

  4. Zapisz przepływ pracy aplikacji logiki. Aby uzyskać wyrażenie rozpoznawane jako ten token, przełącz się między projektantem i widokiem kodu.

    Zrzut ekranu przedstawiający projektanta z wieloma dzierżawami i kształt warunku z operacją.

  5. Teraz określ odpowiedzi, które mają zostać zwrócone na podstawie tego, czy akcja dekodowania AS2 zakończy się powodzeniem, czy nie.

    1. W przypadku pomyślnego wykonania akcji dekodowania AS2 w kształcie True wybierz pozycję Dodaj akcję. W polu wyszukiwania Wybierz operację wprowadź , responsea następnie wybierz pozycję Odpowiedź.

      Zrzut ekranu przedstawiający projektanta z wieloma dzierżawami i akcję

    2. Aby uzyskać dostęp do nazwy MDN AS2 z danych wyjściowych akcji dekodowania AS2, określ następujące wyrażenia:

      • We właściwości Nagłówki akcji odpowiedzi wprowadź następujące wyrażenie:

        @body('AS2_Decode')?['OutgoingMdn']?['OutboundHeaders']

      • We właściwości Treść akcji odpowiedź wprowadź następujące wyrażenie:

        @body('AS2_Decode')?['OutgoingMdn']?['Content']

    3. Aby uzyskać wyrażenia rozpoznawane jako tokeny, przełącz się między projektantem a widokiem kodu:

      Zrzut ekranu przedstawiający projektanta z wieloma dzierżawami i rozpoznane wyrażenie w celu uzyskania dostępu do nazwy MDN AS2.

    4. W przypadku niepowodzenia akcji dekodowania AS2 w kształcie Fałsz wybierz pozycję Dodaj akcję. W polu wyszukiwania Wybierz operację wprowadź , responsea następnie wybierz pozycję Odpowiedź. Skonfiguruj akcję Odpowiedź, aby zwrócić żądany stan i błąd.

  6. Zapisz przepływ pracy aplikacji logiki.

Dodawanie akcji dekodowania komunikatu X12

Teraz dodaj akcję Dekoduj komunikat X12.

  1. W obszarze akcji Odpowiedź wybierz pozycję Dodaj akcję.

  2. W obszarze Wybierz operację w polu wyszukiwania wprowadź , x12 decodea następnie wybierz pozycję Dekoduj komunikat X12.

    Zrzut ekranu przedstawiający projektanta z wieloma dzierżawami i wybraną akcję

  3. Jeśli akcja X12 wyświetli monit o podanie informacji o połączeniu, podaj nazwę połączenia, wybierz konto integracji, którego chcesz użyć, a następnie wybierz pozycję Utwórz.

    Zrzut ekranu przedstawiający projektanta z wieloma dzierżawami i połączenie z kontem integracji.

  4. Teraz określ dane wejściowe akcji X12. W tym przykładzie użyto danych wyjściowych akcji AS2, która jest zawartością komunikatu, ale pamiętaj, że ta zawartość jest w formacie obiektu JSON i jest zakodowana w formacie base64. Dlatego musisz przekonwertować tę zawartość na ciąg.

    W oknie komunikatu X12 Flat file to decode (Dekodowanie pliku X12 Flat) wprowadź następujące wyrażenie, aby przekonwertować dane wyjściowe AS2:

    @base64ToString(body('AS2_Decode')?['AS2Message']?['Content'])

  5. Zapisz przepływ pracy aplikacji logiki. Aby uzyskać wyrażenie rozpoznawane jako ten token, przełącz się między projektantem i widokiem kodu.

    Zrzut ekranu przedstawiający projektanta wielodostępnego i konwersję z zawartości zakodowanej w formacie base64 na ciąg.

  6. Zapisz przepływ pracy aplikacji logiki.

    Jeśli potrzebujesz dodatkowych kroków dla tego przepływu pracy aplikacji logiki, na przykład w celu dekodowania zawartości komunikatu i danych wyjściowych tej zawartości w formacie obiektu JSON, kontynuuj dodawanie niezbędnych akcji do przepływu pracy aplikacji logiki.

Teraz skonfigurujesz przepływ pracy aplikacji logiki B2B. W rzeczywistej aplikacji możesz przechowywać zdekodowane dane X12 w aplikacji biznesowej lub magazynie danych. Zapoznaj się na przykład z następującą dokumentacją:

Aby połączyć własne aplikacje biznesowe i używać tych interfejsów API w aplikacji logiki, możesz dodać więcej akcji lub napisać niestandardowe interfejsy API.

Następne kroki