Výměna zpráv B2B mezi partnery pomocí pracovních postupů v Azure Logic Apps

Platí pro: Azure Logic Apps (Consumption + Standard)

Pokud máte účet pro integraci, který definuje obchodní partnery a smlouvy, můžete vytvořit automatizovaný pracovní postup B2B (Business-to-Business), který bude vyměňovat zprávy mezi obchodními partnery pomocí Azure Logic Apps. Pracovní postup může používat konektory, které podporují standardní protokoly, jako jsou AS2, X12, EDIFACT a RosettaNet. Můžete také zahrnout operace poskytované jinými konektory v Azure Logic Apps, jako jsou Office 365 Outlook, SQL Server a Salesforce.

Tento článek ukazuje, jak vytvořit ukázkový pracovní postup aplikace logiky, který může přijímat požadavky HTTP pomocí triggeru požadavku , dekódovat obsah zprávy pomocí akcí AS2 Dekódovat a Dekódovat X12 a vrátit odpověď pomocí akce Odpověď . Příklad používá návrháře pracovního postupu v Azure Portal, ale podobný postup můžete použít pro návrháře pracovního postupu v sadě Visual Studio.

Pokud s aplikacemi logiky začínáte, přečtěte si téma Co je Azure Logic Apps? Další informace o podnikové integraci B2B najdete v tématu Pracovní postupy podnikové integrace B2B s Využitím Azure Logic Apps.

Požadavky

  • Účet a předplatné Azure. Pokud ještě nemáte předplatné, zaregistrujte si bezplatný účet Azure.

  • Prostředek účtu pro integraci, kde definujete a ukládáte artefakty, jako jsou obchodní partneři, smlouvy, certifikáty atd., pro použití ve vaší podnikové integraci a pracovních postupech B2B. Tento prostředek musí splňovat následující požadavky:

    • Je přidružený ke stejnému předplatnému Azure jako váš prostředek aplikace logiky.

    • Existuje ve stejném umístění nebo oblasti Azure jako prostředek aplikace logiky.

    • Pokud používáte typ prostředku Aplikace logiky (Consumption), před použitím artefaktů v pracovním postupu vyžaduje váš účet integrace odkaz na váš prostředek aplikace logiky.

    • Pokud používáte typ prostředku Aplikace logiky (Standard), váš účet integrace nepotřebuje odkaz na váš prostředek aplikace logiky, ale stále se vyžaduje k ukládání dalších artefaktů, jako jsou partneři, smlouvy a certifikáty, spolu s použitím operací AS2, X12 nebo EDIFACT. Váš účet integrace stále musí splňovat další požadavky, jako je použití stejného předplatného Azure a existujícího ve stejném umístění jako váš prostředek aplikace logiky.

    Poznámka

    V současné době podporuje operace RosettaNet pouze typ prostředku Aplikace logiky (Consumption). Typ prostředku Aplikace logiky (Standard) nezahrnuje operace RosettaNet .

  • Alespoň dva obchodní partneři ve vašem účtu pro integraci. Definice pro oba partnery musí používat stejný kvalifikátor obchodní identity , kterým je AS2, X12, EDIFACT nebo RosettaNet.

  • Smlouva AS2 a smlouva X12 pro partnery, které v tomto pracovním postupu používáte. Každá smlouva vyžaduje partnera hostitele a partnera typu host.

  • Prostředek aplikace logiky s prázdným pracovním postupem, do kterého můžete přidat trigger Požadavku a pak následující akce:

Přidání triggeru žádosti

Pokud chcete spustit pracovní postup v tomto příkladu, přidejte trigger Požadavek.

  1. V Azure Portal otevřete prostředek aplikace logiky a prázdný pracovní postup v návrháři pracovního postupu.

  2. Pod vyhledávacím polem návrháře vyberte Vše, pokud není vybráno. Do vyhledávacího pole zadejte when a http request. Vyberte Trigger požadavku s názvem Při přijetí požadavku HTTP.

    Snímek obrazovky znázorňující Azure Portal a návrháře pro více tenantů, ve vyhledávacím poli

  3. V triggeru ponechte pole Schéma JSON textu požadavku prázdné.

    Důvodem je, že trigger obdrží zprávu X12 ve formátu plochého souboru.

    Snímek obrazovky znázorňující vlastnosti aktivační události pro více tenantů a žádost

  4. Až budete hotovi, na panelu nástrojů návrháře vyberte Uložit.

    Tento krok vygeneruje adresu URL HTTP POST , kterou později použijete k odeslání požadavku, který aktivuje pracovní postup aplikace logiky.

    Snímek obrazovky znázorňující návrháře pro více tenantů a vygenerovanou adresu URL pro trigger požadavku

  5. Zkopírujte a uložte adresu URL pro pozdější použití.

Přidání akce dekódování AS2

Teď přidejte akce B2B pro tento příklad, který používá akce AS2 a X12.

  1. Pod triggerem vyberte Nový krok.

    Tip

    Pokud chcete skrýt podrobnosti triggeru Žádosti, vyberte záhlaví triggeru.

    Snímek obrazovky znázorňující návrháře pro více tenantů a trigger s vybraným novým krokem

  2. Ve vyhledávacím poli Zvolit operaci vyberte Vše, pokud není vybráno. Do vyhledávacího pole zadejte as2a vyberte AS2 Dekódovat.

    Snímek obrazovky znázorňující návrháře pro více tenantů s vybranou akcí

  3. Do vlastnosti Akce Zpráva k dekódování zadejte vstup, který má akce AS2 dekódovat, což je body výstup triggeru Požadavek. Tento obsah jako vstup akce můžete zadat několika způsoby, a to buď výběrem ze seznamu dynamického obsahu, nebo jako výrazu:

    • Pokud chcete vybrat ze seznamu, který zobrazuje dostupné výstupy triggerů, klikněte do pole Zpráva k dekódování . Jakmile se zobrazí seznam dynamického obsahu, v části Při přijetí požadavku HTTP vyberte Hodnota vlastnosti Text , například:

      Snímek obrazovky znázorňující návrháře pro více tenantů se seznamem dynamického obsahu a vybranou vlastností Text

      Tip

      Pokud se nezobrazí žádný výstup triggeru, vyberte v seznamu dynamických vlastností v části Při přijetí požadavku HTTPmožnost Zobrazit více.

    • Pokud chcete zadat výraz, který odkazuje na výstup triggeru body , klikněte do pole Zpráva k dekódování . Jakmile se zobrazí seznam dynamického obsahu, vyberte Výraz. V editoru výrazů zadejte následující výraz a vyberte OK:

      triggerOutputs()['body']

      Nebo do pole Zpráva k dekódování zadejte přímo následující výraz:

      @triggerBody()

      Výraz se přeloží na token Body .

      Snímek obrazovky znázorňující návrháře pro více tenantů s vyřešeným výstupem vlastnosti Text

  4. Do vlastnosti Hlavičky zprávy akce zadejte všechny hlavičky požadované pro akci AS2, které jsou ve výstupu triggeru headers Požadavek.

    1. Pokud chcete zadat výraz, který odkazuje na výstup triggeru headers , vyberte Přepnout záhlaví zpráv do textového režimu.

      Snímek obrazovky znázorňující návrháře pro více tenantů s vybranou možností Přepnout záhlaví zpráv do textového režimu

    2. Klikněte do pole Záhlaví zprávy . Jakmile se zobrazí seznam dynamického obsahu, vyberte Výraz. V editoru výrazů zadejte následující výraz a vyberte OK:

      triggerOutputs()['Headers']

      V akci Dekódování AS2 se teď výraz zobrazí jako token:

      Snímek obrazovky znázorňující návrháře pro více tenantů a pole Záhlaví zpráv s tokenem @triggerOutputs()['Headers']

    3. Pokud chcete získat token výrazu, který se má přeložit do tokenu Headers , přepněte mezi návrhářem a zobrazením kódu. Po tomto kroku vypadá akce Dekódování AS2 jako v tomto příkladu:

      Snímek obrazovky s návrhářem pro více tenantů a výstupem vyřešených hlaviček z triggeru

Přidání akce Odpovědět jako potvrzení zprávy

Pokud chcete obchodnímu partnerovi oznámit přijetí zprávy, můžete vrátit odpověď, která obsahuje oznámení MDN (As2 Message Disposition Notification) pomocí akcí Podmínka a Odpověď. Přidáním těchto akcí ihned po akci AS2 může pracovní postup aplikace logiky pokračovat ve zpracování, pokud akce AS2 proběhne úspěšně. Pokud se akce AS2 nezdaří, pracovní postup aplikace logiky se zastaví.

  1. V části As2 Decode (Dekódování AS2 ) vyberte New step (Nový krok).

  2. Pod vyhledávacím polem Zvolit operaci vyberte Předdefinované, pokud ještě není vybráno. Do vyhledávacího pole zadejte condition. Vyberte akci Podmínka .

    Snímek obrazovky znázorňující návrháře s více tenanty a akci Podmínka

    Teď se zobrazí obrazec podmínky, včetně cest, které určují, jestli je podmínka splněná.

    Snímek obrazovky znázorňující návrháře s více tenanty a obrazec podmínky s prázdnými cestami

  3. Teď zadejte podmínku, která se má vyhodnotit. Do pole Zvolit hodnotu zadejte následující výraz:

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

    V prostředním poli se ujistěte, že je operace porovnání nastavená na is equal tohodnotu . Do pravého pole zadejte hodnotu Expected.

  4. Uložte pracovní postup aplikace logiky. Pokud chcete získat výraz, který se má přeložit jako tento token, přepněte mezi návrhářem a zobrazením kódu.

    Snímek obrazovky znázorňující návrháře s více tenanty a obrazec podmínky s operací

  5. Nyní určete odpovědi, které se mají vrátit na základě toho, jestli akce dekódování AS2 proběhne úspěšně nebo ne.

    1. V případě, že akce DEkódování AS2 proběhne úspěšně, vyberte v obrazci Pravdamožnost Přidat akci. Do vyhledávacího pole Zvolte operaci zadejte responsea vyberte Odpověď.

      Snímek obrazovky znázorňující návrháře pro více tenantů a akci Odpovědět

    2. Pokud chcete získat přístup k AS2 MDN z výstupu akce Dekódování AS2 , zadejte následující výrazy:

      • Do vlastnosti Headers akce Odpověď zadejte následující výraz:

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

      • Do vlastnosti Text akce Odpověď zadejte následující výraz:

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

    3. Pokud chcete získat výrazy, které se mají přeložit jako tokeny, přepněte mezi návrhářem a zobrazením kódu:

      Snímek obrazovky znázorňující návrháře s více tenanty a vyřešený výraz pro přístup k AS2 MDN

    4. V případě, že akce Dekódování AS2 selže, vyberte v obrazci Falsemožnost Přidat akci. Do vyhledávacího pole Zvolte operaci zadejte responsea vyberte Odpověď. Nastavte akci Odpověď , která vrátí požadovaný stav a chybu.

  6. Uložte pracovní postup aplikace logiky.

Přidání akce dekódování zprávy X12

Teď přidejte akci Dekódovat zprávu X12 .

  1. Pod akcí Odpovědět vyberte Přidat akci.

  2. V části Zvolit operaci do vyhledávacího pole zadejte x12 decodea vyberte Dekódovat zprávu X12.

    Snímek obrazovky znázorňující návrháře pro více tenantů a vybranou akci Dekódovat zprávu X12

  3. Pokud vás akce X12 vyzve k zadání informací o připojení, zadejte název připojení, vyberte účet integrace, který chcete použít, a pak vyberte Vytvořit.

    Snímek obrazovky znázorňující návrháře s více tenanty a připojení k účtu integrace

  4. Teď zadejte vstup pro akci X12. Tento příklad používá výstup z akce AS2, což je obsah zprávy, ale všimněte si, že tento obsah je ve formátu objektu JSON a je zakódovaný jako base64. Musíte tedy převést tento obsah na řetězec.

    Do pole Zpráva o dekódování plochého souboru X12 zadejte následující výraz pro převod výstupu AS2:

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

  5. Uložte pracovní postup aplikace logiky. Pokud chcete získat výraz, který se má vyřešit jako tento token, přepněte mezi návrhářem a zobrazením kódu.

    Snímek obrazovky znázorňující návrháře pro více tenantů a převod z obsahu s kódováním base64 na řetězec

  6. Uložte pracovní postup aplikace logiky.

    Pokud pro tento pracovní postup aplikace logiky potřebujete další kroky, například dekódování obsahu zprávy a výstup tohoto obsahu ve formátu objektu JSON, pokračujte přidáním potřebných akcí do pracovního postupu aplikace logiky.

Teď jste dokončili nastavení pracovního postupu aplikace logiky B2B. V reálné aplikaci můžete chtít dekódovaná data X12 uložit do obchodní aplikace nebo úložiště dat. Projděte si například následující dokumentaci:

Pokud chcete připojit vlastní obchodní aplikace a používat tato rozhraní API v aplikaci logiky, můžete přidat další akce nebo napsat vlastní rozhraní API.

Další kroky