Udostępnij przez


Wymiana komunikatów X12 w przepływach pracy B2B przy użyciu usługi Azure Logic Apps

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

Aby wysyłać i odbierać komunikaty X12 w przepływach pracy tworzonych przy użyciu usługi Azure Logic Apps, użyj łącznika X12 . Ten łącznik zapewnia operacje, które obsługują komunikację X12 i zarządzają nią.

W tym przewodniku pokazano, jak dodać akcje kodowania i dekodowania dla X12 do istniejącego przepływu pracy aplikacji logiki. Możesz użyć dowolnego wyzwalacza z akcjami X12. Przykłady w tym przewodniku korzystają z wyzwalacza Żądania.

Dokumentacja techniczna łącznika

Łącznik X12 ma różne wersje na podstawie typu aplikacji logiki i środowiska hosta.

Aplikacja logiki Środowisko Wersja łącznika
Zużycie Wielodostępna usługa Azure Logic Apps Łącznik zarządzany X12, który jest wyświetlany w galerii łączników w obszarze Udostępnione. Łącznik X12 ma jeden wyzwalacz i wiele akcji. Możesz użyć dowolnego wyzwalacza, który działa w danym scenariuszu. Aby uzyskać więcej informacji, zobacz:

- Referencja zarządzanego łącznika X12
- Limity komunikatów X12
Standardowa Usługa Azure Logic Apps z jedną dzierżawą, środowisko App Service Environment w wersji 3 (tylko plany systemu Windows) i wdrożenie hybrydowe Wbudowany łącznik X12, który jest wyświetlany w galerii łączników w obszarze Wbudowane i łącznik zarządzany X12, który jest wyświetlany w galerii łączników w obszarze Udostępnione. Łącznik zarządzany X12 ma jeden wyzwalacz i wiele działań. Wbudowany łącznik X12 udostępnia tylko akcje. Możesz użyć dowolnego wyzwalacza, który działa w danym scenariuszu.

Wbudowana wersja różni się w następujący sposób:

— Wbudowana wersja może uzyskiwać bezpośredni dostęp do sieci wirtualnych platformy Azure. Nie potrzebujesz lokalnej bramy danych.

— Wbudowana wersja zapewnia większą przepływność i mniejsze opóźnienia.

Aby uzyskać więcej informacji, zobacz:

- Dokumentacja łącznika zarządzanego X12
- Operacje wbudowanego łącznika X12
- Limity komunikatów X12

Wbudowane operacje X12

W poniższych sekcjach opisano wbudowane operacje łącznika X12 i ich parametry:

Dekoduj X12

Identyfikator operacji: x12Decode

Dekoduje komunikat X12, konwertując plik prosty na format XML.

Parametry
nazwa wyświetlana Nazwa JSON Wymagania Typ opis
Komunikat do dekodowania messageToDecode Tak Sznurek Komunikat X12 do dekodowania.
Identyfikator śledzenia B2B b2bTrackingId Nie. Sznurek Identyfikator śledzenia B2B.

Kodowanie X12

Identyfikator operacji: x12Encode

Koduje komunikat X12, konwertując kod XML na format pliku prostego.

Parametry
nazwa wyświetlana Nazwa JSON Wymagania Typ opis
Komunikat do kodowania messageToEncode Tak Sznurek Komunikat X12 do kodowania.
Tożsamość nadawcy Kwalifikator nadawcy senderIdentity.qualifier Nie. Sznurek Kwalifikator nadawcy.
Tożsamość nadawcy Identyfikator nadawcy senderIdentity.value Nie. Sznurek Identyfikator nadawcy.
Tożsamość odbiorcy Kwalifikator odbiorcy receiverIdentity.qualifier Nie. Sznurek Kwalifikator odbiornika.
Tożsamość odbiorcy, identyfikator odbiorcy receiverIdentity.value Nie. Sznurek Identyfikator odbiorcy.
Nazwa umowy X12 agreementName Nie. Sznurek Nazwa umowy X12.
Identyfikator śledzenia B2B b2bTrackingId Nie. Sznurek Identyfikator śledzenia B2B.

Kodowanie partii X12

Identyfikator operacji: x12BatchEncode

Koduje partię komunikatów X12, konwertując kod XML na format pliku prostego.

Parametry
nazwa wyświetlana Nazwa JSON Wymagania Typ opis
Komunikaty wsadowe batchMessage.items Tak Array Komunikat X12 do kodowania.
Identyfikator komunikatu batchMessage.items.messageId Tak Sznurek Unikatowy identyfikator elementu wsadowego.
Content batchMessage.items.content Tak Sznurek Zawartość elementu wsadowego.
Nazwa partii batchMessage.batchName Nie. Sznurek Nazwa partii.
Nazwa partycji batchMessage.partitionName Nie. Sznurek Nazwa partycji.
Tożsamość nadawcy Kwalifikator nadawcy senderIdentity.qualifier Nie. Sznurek Kwalifikator nadawcy.
Tożsamość nadawcy Identyfikator nadawcy senderIdentity.value Nie. Sznurek Identyfikator nadawcy.
Tożsamość odbiorcy Kwalifikator odbiorcy receiverIdentity.qualifier Nie. Sznurek Kwalifikator odbiornika.
Tożsamość odbiorcy, Identyfikator odbiorcy receiverIdentity.value Nie. Sznurek Identyfikator odbiorcy.
Nazwa umowy X12 agreementName Nie. Sznurek Nazwa umowy X12.
Identyfikator śledzenia B2B b2bTrackingId Nie. Sznurek Identyfikator śledzenia B2B.

Wymagania wstępne

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

  • Zasób aplikacji logiki i przepływ pracy, w którym chcesz używać operacji X12.

    Aby uzyskać więcej informacji, zobacz:

  • Zasób konta integracji do definiowania i przechowywania artefaktów do użycia w przepływach pracy integracji przedsiębiorstwa i B2B.

    • Zarówno konto integracji, jak i zasób aplikacji logiki muszą istnieć w tej samej subskrypcji platformy Azure i regionie świadczenia usługi Azure.

    • Definiuje co najmniej dwóch partnerów handlowych, którzy uczestniczą w operacji X12 używanej w przepływie pracy. Definicje dla obu partnerów muszą używać tego samego kwalifikatora tożsamości biznesowej X12.

    • Definiuje umowę X12 między partnerami handlowymi, którzy uczestniczą w przepływie pracy. Każda umowa wymaga partnera hosta i partnera-gościa. Zawartość komunikatów między Tobą a innym partnerem musi być zgodna z typem umowy. Aby uzyskać informacje o ustawieniach umowy, które mają być używane podczas odbierania i wysyłania komunikatów, zobacz Ustawienia komunikatów X12.

      Ważne

      Jeśli pracujesz ze schematami Health Insurance Portability and Accountability Act (HIPAA), musisz dodać sekcję schemaReferences do umowy. Aby uzyskać więcej informacji, zobacz schematy i typy komunikatów HIPAA.

    • Definiuje schematy do użycia na potrzeby walidacji XML.

      Ważne

      Jeśli pracujesz ze schematami ustawy HIPAA (Health Insurance Portability and Accountability Act), zapoznaj się ze schematami i typami komunikatów HIPAA.

  • Przed rozpoczęciem pracy z operacjami X12 należy połączyć aplikację logiki typu Consumption lub połączyć aplikację logiki typu Standard z kontem integracji.

    Po dodaniu operacji X12 należy również utworzyć połączenie z kontem integracji. Połączenie można utworzyć podczas dodawania operacji X12 do przepływu pracy.

Kodowanie komunikatów X12

Operacja kodowania komunikatu X12 wykonuje następujące zadania:

  • Rozwiązuje umowę, pasując do właściwości kontekstu nadawcy i odbiorcy.

  • Serializuje Elektroniczną Wymianę Danych (EDI) i konwertuje komunikaty zakodowane w XML na zestawy transakcji EDI w ramach wymiany.

  • Stosuje nagłówki zestawu transakcji i segmenty przyczepy.

  • Generuje numer kontrolny wymiany, numer kontrolny grupy i numer kontrolny zestawu transakcji dla każdej wymiany wychodzącej.

  • Zamienia separatory w danych ładunku.

  • Sprawdza poprawność właściwości EDI i właściwości specyficznych dla partnera.

    • Sprawdzanie poprawności schematu elementów danych zestawu transakcji względem schematu komunikatu.
    • Walidacja EDI elementów danych zestawu transakcji.
    • Rozszerzona walidacja elementów danych zestawu transakcji.
  • Żąda potwierdzenia technicznego i funkcjonalnego, jeśli jest skonfigurowane.

    • Generuje potwierdzenie techniczne w wyniku weryfikacji nagłówka. Potwierdzenie techniczne zgłasza stan przetwarzania nagłówka wymiany i przyczepy przez odbiornik adresu.
    • Generuje potwierdzenie funkcjonalne w wyniku weryfikacji treści. Potwierdzenie funkcjonalne zgłasza każdy błąd napotkany podczas przetwarzania odebranego dokumentu.

Aby zakodować komunikaty za pomocą łącznika X12, wykonaj następujące kroki:

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

  2. W projektancie wykonaj ogólne kroki, aby dodać do przepływu pracy akcję nazwaną Zakoduj wiadomość X12 według nazwy umowy.

    Uwaga

    Aby zamiast tego użyć akcji Kodowanie do wiadomości X12 według tożsamości , należy później podać różne wartości parametrów, takie jak identyfikator nadawcy i identyfikator odbiorcy określony przez umowę X12. Należy również określić komunikat XML, aby zakodować wartość, którą można wybrać jako dane wyjściowe z wyzwalacza lub poprzedniej akcji.

  3. Po wyświetleniu monitu o utworzenie połączenia z kontem integracji podaj następujące informacje:

    Parameter Wymagania opis
    Nazwa połączenia Tak Nazwa połączenia.
    Identyfikator konta integracji Tak Identyfikator zasobu dla konta integracji, który ma następujący format:

    /subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Logic/integrationAccounts/<integration-account-name>

    Na przykład: .
    /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/integrationAccount-RG/providers/Microsoft.Logic/integrationAccounts/myIntegrationAccount

    Aby znaleźć ten identyfikator zasobu, wykonaj następujące kroki:

    1. W witrynie Azure Portal otwórz konto integracji.
    2. Na pasku bocznym konta integracji wybierz pozycję Przegląd.
    3. Na stronie Przegląd wybierz pozycję Widok JSON.
    4. Z właściwości Identyfikator zasobu skopiuj wartość.
    Adres URL sygnatury dostępu współdzielonego konta integracji Tak Adres URL punktu końcowego żądania używający uwierzytelniania sygnatury dostępu współdzielonego (SAS) w celu zapewnienia dostępu do konta integracji. Ten adres URL wywołania zwrotnego ma następujący format:

    https://<request-endpoint-URI>sp=<permissions>sv=<SAS-version>sig=<signature>

    Na przykład: .
    https://prod-04.west-us.logic-azure.com:443/integrationAccounts/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb?api-version=2015-08-1-preview&sp=XXXXXXXXX&sv=1.0&sig=aB1cD2eF-3gH4iJ5kL6-mN7oP8qR

    Aby znaleźć ten adres URL, wykonaj następujące kroki:

    1. W witrynie Azure Portal otwórz konto integracji.
    2. Na pasku bocznym konta integracji w obszarze Ustawienia wybierz pozycję Adres URL wywołania zwrotnego.
    3. Z właściwości Generated Callback URL (Wygenerowany adres URL wywołania zwrotnego) skopiuj wartość .
    Rozmiar bloku numeru kontrolnego Nie. Rozmiar bloku numerów kontrolnych do zarezerwowania z umowy dla scenariuszy o wysokiej przepływności.

    Na przykład:

    Zrzut ekranu przedstawiający Portal Azure, przepływ pracy z działaniem o nazwie Zakodowanie wiadomości X12 zgodnie z nazwą umowy oraz informacje o połączeniu działania.

  4. Po zakończeniu wybierz pozycję Utwórz nową.

  5. W panelu informacji o akcji X12 wprowadź następujące wartości:

    Parameter Wymagania opis
    Nazwa umowy X12 Tak Umowa X12 do użycia.
    Komunikat XML do kodowania Tak Komunikat XML do zakodowania.
    Parametry zaawansowane Nie. Więcej parametrów, które można wybrać:

    - Separator elementów danych
    - Separator składników
    - Znak zastępczy
    - Terminator segmentu
    - Sufiks terminatora segmentu
    - Numer wersji kontroli (ISA12)
    - Identyfikator nadawcy aplikacji/kod GS02
    - Identyfikator odbiornika aplikacji/kod GS03

    Aby uzyskać więcej informacji, zobacz Ustawienia komunikatów X12.

    Na przykład możesz użyć danych wyjściowych treści wyzwalacza Żądanie jako ładunku wiadomości XML.

    Aby znaleźć i wybrać te dane wyjściowe, wykonaj następujące kroki:

    1. Wybierz wewnątrz pola XML message to encode, a następnie wybierz ikonę błyskawicy, aby otworzyć listę zawartości dynamicznej.

    2. Z listy w obszarze Po odebraniu komunikatu HTTP wybierz pozycję Treść.

    Zrzut ekranu przedstawia akcję o nazwie Kodowanie komunikatu do formatu X12 zgodnie z nazwą umowy z określonymi parametrami.

Dekoduj komunikaty X12

Operacja dekodowania komunikatu X12 wykonuje następujące zadania:

  • Weryfikuje kopertę przed umową z partnerem handlowym.

  • Sprawdza poprawność właściwości EDI i właściwości specyficznych dla partnera.

    • Weryfikacja strukturalna EDI i rozszerzona weryfikacja schematu
    • Walidacja strukturalna koperty wymiany
    • Weryfikacja schematu koperty względem schematu kontrolki
    • Sprawdzanie poprawności schematu elementów danych zestawu transakcji względem schematu komunikatów
    • Walidacja EDI elementów danych zestawu transakcji
  • Sprawdza, czy numery kontrolne wymiany, grupy i zestawu transakcji nie są duplikatami.

    • Sprawdza numer kontrolny wymiany względem wcześniej odebranych wymiany.
    • Sprawdza numer kontrolny grupy względem innych numerów kontrolnych grupy w wymienności.
    • Sprawdza numer kontrolny zestawu transakcji względem innych numerów kontrolnych zestawu transakcji w tej grupie.
  • Dzieli wymianę na zestawy transakcji lub zachowuje całą wymianę:

    • Podziel wymianę na zestawy transakcji lub wstrzymaj zestawy transakcji w przypadku błędu: Przeanalizuj każdy zestaw transakcji. Akcja dekodowania X12 generuje tylko zestawy transakcji, które kończą się niepowodzeniem weryfikacji do badMessages, a pozostałe transakcje są ustawiane na goodMessages.

    • Podziel wymianę na zestawy transakcji lub wstrzymaj wymianę po błędzie: Przeanalizuj każdy zestaw transakcji. Jeśli co najmniej jeden zestaw transakcji w walidacji wymiany zakończy się niepowodzeniem, akcja dekodowania X12 zwraca wszystkie zestawy transakcji w tej wymiany na badMessages.

    • Zachowaj zestawy transakcji wymiany lub wstrzymywanie na błędzie: Zachowaj wymianę i przetwórz całą wsadowaną wymianę. Akcja dekodowania X12 generuje tylko zestawy transakcji, które kończą się niepowodzeniem weryfikacji do badMessages, a pozostałe transakcje są ustawiane na goodMessages.

    • Zachowaj wymianę lub wstrzymaj wymianę po błędzie: Zachowaj wymianę i przetwórz całą wsadowaną wymianę. Jeśli co najmniej jeden zestaw transakcji w walidacji wymiany zakończy się niepowodzeniem, akcja dekodowania X12 zwraca wszystkie zestawy transakcji w tej wymiany na badMessages.

  • Generuje potwierdzenie techniczne i funkcjonalne, jeśli zostało skonfigurowane.

    • Generuje potwierdzenie techniczne w wyniku weryfikacji nagłówka. Potwierdzenie techniczne zgłasza stan przetwarzania nagłówka wymiany i przyczepy przez odbiornik adresu.
    • Generuje potwierdzenie funkcjonalne w wyniku weryfikacji treści. Potwierdzenie funkcjonalne zgłasza każdy błąd napotkany podczas przetwarzania odebranego dokumentu.

Aby zdekodować komunikaty X12 w przepływie pracy za pomocą łącznika X12, wykonaj następujące kroki:

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

  2. W projektancie wykonaj następujące ogólne kroki, aby dodać do przepływu pracy akcję o nazwie Dekoduj komunikat X12.

  3. Po wyświetleniu monitu o utworzenie połączenia z kontem integracji podaj następujące informacje:

    Parameter Wymagania opis
    Nazwa połączenia Tak Nazwa połączenia.
    Identyfikator konta integracji Tak Identyfikator zasobu dla konta integracji, który ma następujący format:

    /subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Logic/integrationAccounts/<integration-account-name>

    Na przykład: .
    /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/integrationAccount-RG/providers/Microsoft.Logic/integrationAccounts/myIntegrationAccount

    Aby znaleźć ten identyfikator zasobu, wykonaj następujące kroki:

    1. W witrynie Azure Portal otwórz konto integracji.
    2. Na pasku bocznym konta integracji wybierz pozycję Przegląd.
    3. Na stronie Przegląd wybierz pozycję Widok JSON.
    4. Z właściwości Identyfikator zasobu skopiuj wartość.
    Adres URL sygnatury dostępu współdzielonego konta integracji Tak Adres URL punktu końcowego żądania używający uwierzytelniania sygnatury dostępu współdzielonego (SAS) w celu zapewnienia dostępu do konta integracji. Ten adres URL wywołania zwrotnego ma następujący format:

    https://<request-endpoint-URI>sp=<permissions>sv=<SAS-version>sig=<signature>

    Na przykład: .
    https://prod-04.west-us.logic-azure.com:443/integrationAccounts/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb?api-version=2015-08-1-preview&sp=XXXXXXXXX&sv=1.0&sig=aB1cD2eF-3gH4iJ5kL6-mN7oP8qR

    Aby znaleźć ten adres URL, wykonaj następujące kroki:

    1. W witrynie Azure Portal otwórz konto integracji.
    2. Na pasku bocznym konta integracji w obszarze Ustawienia wybierz pozycję Adres URL wywołania zwrotnego.
    3. Z właściwości Generated Callback URL (Wygenerowany adres URL wywołania zwrotnego) skopiuj wartość .
    Rozmiar bloku numeru kontrolnego Nie. Rozmiar bloku numerów kontrolnych do zarezerwowania z umowy dla scenariuszy o wysokiej przepływności.

    Na przykład:

    Zrzut ekranu przedstawia witrynę Azure Portal, przepływ pracy z akcją o nazwie Dekoduj komunikat X12 i informacje o połączeniu akcji.

  4. Po zakończeniu wybierz pozycję Utwórz nową.

  5. W polu informacji o akcji X12 podaj następujące wartości:

    Parameter Wymagania opis
    Komunikat pliku prostego X12 w celu dekodowania Tak Komunikat X12 w formacie pliku prostego do dekodowania

    Uwaga: Ładunek lub zawartość komunikatu XML w tablicy komunikatów jest zakodowana w formacie Base64. Musisz użyć wyrażenia, które przetwarza tę zawartość. Na przykład, następujące wyrażenie przetwarza zawartość w tablicy komunikatów jako XML, przy użyciu funkcji xml(), base64ToBinary() i item().

    xml(base64ToBinary(item()?['Body']))
    Parametry zaawansowane Nie. Ta operacja obejmuje następujące inne parametry:

    - Zachowaj wymianę
    - Wstrzymywanie wymiany w przypadku błędu

    Aby uzyskać więcej informacji, zobacz Ustawienia komunikatów X12.

    Na przykład możesz użyć danych wyjściowych treści wyzwalacza Żądania jako ładunek komunikatu XML, ale najpierw należy przetworzyć tę zawartość, jak pokazano w poniższym wyrażeniu.

    xml(base64ToBinary(item()?['Body']))

    Aby wykonać to zadanie, wykonaj następujące kroki:

    1. Zaznacz w polu komunikatu pliku X12, który chcesz zdekodować, a następnie wybierz ikonę funkcji, aby otworzyć edytor wyrażeń.

    2. W edytorze wyrażeń wprowadź następujące wyrażenie, które odwołuje się do danych wyjściowych Treści z wyzwalacza Żądanie:

      xml(base64ToBinary(string(triggerBody())))

    3. Gdy skończysz, wybierz Dodaj.

    Zrzut ekranu przedstawia akcję o nazwie Dekoduj komunikat X12 z określonymi parametrami.