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żesz 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 Azure Portal, ale możesz wykonać podobne kroki dla projektanta przepływu pracy w programie Visual Studio.

Jeśli jesteś nowym użytkowniku 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ębiorstw 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 można definiować i przechowywać artefakty, takie jak partnerzy handlowi, umowy, certyfikaty itd., do użytku w ramach integracji przedsiębiorstwa i przepływów pracy 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 przed użyciem artefaktów w przepływie pracy.

    • Jeśli używasz typu zasobu aplikacja logiki (Standardowa), konto integracji nie potrzebuje 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 Aplikacja 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 jest 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 Żądanie , a następnie następujące akcje:

Dodawanie wyzwalacza Żądania

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

  1. W 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 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 płaskiego.

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

  4. Gdy wszystko będzie gotowe, na pasku narzędzi projektanta wybierz pozycję 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.

    Porada

    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 została wybrana. W polu wyszukiwania wpisz as2, a następnie wybierz pozycję AS2 Dekoduj.

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

  3. W akcji Komunikat, aby zdekodować właściwość, wprowadź dane wejściowe, które mają dekodować 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ą dynamiczną listą zawartości i właściwością

      Porada

      Jeśli nie są wyświetlane żadne dane wyjściowe wyzwalacza, 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']

      Ewentualnie 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 wiadomości akcji wprowadź wszystkie 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 do rozpoznania w tokenie Nagłówki , przełącz się między projektantem i 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 komunikatu

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 nie została jeszcze wybrana. 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 też nie.

    1. W przypadku pomyślnego wykonania akcji Dekoduj AS2 w kształcie True wybierz pozycję Dodaj akcję. W polu wyszukiwania Wybierz operację wprowadź response, a 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 Odpowiedź 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 i 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ź response, a 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 decode, a 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 dla akcji X12. W tym przykładzie użyto danych wyjściowych akcji AS2, która jest zawartością komunikatu, ale należy pamiętać, ż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 (Dekoduj plik 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 z wieloma dzierżawami 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, aby zdekodować zawartość komunikatu i wyświetlić tę zawartość w formacie obiektu JSON, kontynuuj dodawanie niezbędnych akcji do przepływu pracy aplikacji logiki.

Teraz skończysz konfigurować przepływ pracy aplikacji logiki B2B. W rzeczywistej aplikacji można przechowywać zdekodowane dane X12 w aplikacji biznesowej (LOB) 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