Sdílet prostřednictvím


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 integrace, který definuje obchodní partnery a smlouvy, můžete vytvořit automatizovaný pracovní postup B2B (Business-to-Business), který vyměňuje zprávy mezi obchodními partnery pomocí Azure Logic Apps. Váš 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 je 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í Dekódování AS2 a Dekódovat X12 a vrátit odpověď pomocí akce Odpověď. Příklad používá návrháře pracovního postupu na webu Azure Portal, ale můžete postupovat podobně jako návrhář pracovního postupu v editoru Visual Studio Code.

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 pracovních postupech podnikové integrace B2B pomocí 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 integrace, kde definujete a ukládáte artefakty, jako jsou obchodní partneři, smlouvy, certifikáty atd., pro použití v podnikových integracích 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 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), váš účet integrace vyžaduje odkaz na prostředek aplikace logiky, abyste mohli použít artefakty v pracovním postupu.

    • Pokud používáte typ prostředku Aplikace logiky (Standard), váš účet integrace nepotřebuje odkaz na 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 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 integrace. Definice obou partnerů musí používat stejný kvalifikátor obchodní identity , což je AS2, X12, EDIFACT nebo RosettaNet.

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

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

Přidání triggeru požadavku

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

  1. Na webu 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 Možnost Vše, pokud není vybraná. 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 s webem Azure Portal a návrhářem s více tenanty s vybranou možností

  3. V triggeru ponechte pole Text požadavku JSON prázdné.

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

    Snímek obrazovky znázorňující víceklientské návrháře a vlastnosti triggeru požadavku

  4. Jakmile 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 s více tenanty a vygenerovanou adresou URL pro trigger požadavku

  5. Zkopírujte a uložte adresu URL, abyste ji mohli použít později.

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

Teď přidejte akce B2B pro tento příklad, které používají akce AS2 a X12.

  1. Pod triggerem vyberte Nový krok.

    Tip

    Pokud chcete skrýt podrobnosti o triggeru požadavku, vyberte záhlaví triggeru.

    Snímek obrazovky znázorňující návrháře s více tenanty a triggerem s vybranou možností Nový krok

  2. V části Zvolit vyhledávací pole operace vyberte Možnost Vše, pokud není vybraná. Do vyhledávacího pole zadejte as2a vyberte Dekódování AS2.

    Snímek obrazovky znázorňující návrháře s více tenanty s vybranou akcí Dekódování AS2

  3. Ve zprávě akce dekódujte vlastnost zadejte vstup, který má akce AS2 dekódovat , což je body výstup triggeru požadavku. Tento obsah můžete zadat jako vstup akce několika způsoby, a to buď tak, že vyberete ze seznamu dynamického obsahu nebo jako výraz:

    • Chcete-li vybrat ze seznamu, který zobrazuje dostupné výstupy triggeru, klikněte do pole Zpráva pro dekódování . Jakmile se zobrazí seznam dynamického obsahu, vyberte v části Při přijetí požadavku HTTP hodnotu vlastnosti Body, například:

      Snímek obrazovky znázorňující návrháře s více tenanty s vybranou vlastností dynamického obsahu a textem

      Tip

      Pokud se nezobrazí žádné výstupy aktivační události, v seznamu dynamických vlastností v části Při přijetí požadavku HTTP vyberte Zobrazit více.

    • Pokud chcete zadat výraz, který odkazuje na výstup triggerubody, klikněte do pole Zpráva a dekódujte ho. Po zobrazení seznamu 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 pro dekódování přímo zadejte následující výraz:

      @triggerBody()

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

      Snímek obrazovky znázorňující návrháře s více tenanty s přeloženým výstupem vlastnosti Text

  4. Do vlastnosti Záhlaví zpráv akce zadejte všechna záhlaví požadovaná pro akci AS2, která jsou ve headers výstupu triggeru Požadavku.

    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 s více tenanty s vybranou možností Přepnout záhlaví zpráv na textový režim

    2. Klikněte do pole Záhlaví zprávy. Po zobrazení seznamu 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 zobrazující návrháře s více tenanty a pole Záhlaví zpráv s tokenem

    3. Pokud chcete získat token výrazu pro překlad 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 znázorňující návrháře s více tenanty a výstupem vyřešených hlaviček z triggeru

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

Chcete-li obchodnímu partnerovi oznámit, že zpráva byla přijata, můžete vrátit odpověď obsahující 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ě. Jinak pokud akce AS2 selže, pracovní postup aplikace logiky zastaví zpracování.

  1. Pod akcí Dekódování AS2 vyberte Nový krok.

  2. V části Zvolit vyhledávací pole operace 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 akcí 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 obrazcem 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í nastavena na is equal tohodnotu . Do pravého pole zadejte hodnotu Expected.

  4. Uložte pracovní postup aplikace logiky. Pokud chcete výraz 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 s více tenanty a obrazcem podmínky s operací

  5. Teď zadejte 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 True akci Přidat. Pod vyhledávacím polem Zvolit operaci zadejte responsea vyberte Odpověď.

      Snímek obrazovky znázorňující návrháře s více tenanty a akcí Odpověď

    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 Response zadejte následující výraz:

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

      • Do vlastnosti Text akce Response zadejte následující výraz:

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

    3. Pokud chcete získat výrazy pro překlad 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ým výrazem pro přístup k AS2 MDN

    4. V případě, že akce Dekódování AS2 selže, vyberte v obrazci False akci. Pod vyhledávacím polem Zvolit operaci zadejte responsea vyberte Odpověď. Nastavte akci Odpověď tak, aby vrátila 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ódování zprávy X12.

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

  2. V části Zvolte 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 s více tenanty a vybranou akcí Dekódovat zprávu X12

  3. Pokud se zobrazí výzva 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ím 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 kódován base64. Takže tento obsah musíte převést na řetězec.

    Do pole X12 Flat file message to decode box, 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 výraz 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 s více tenanty a převodem z obsahu s kódováním base64 na řetězec

  6. Uložte pracovní postup aplikace logiky.

    Pokud potřebujete další kroky pro tento pracovní postup aplikace logiky, například k dekódování obsahu zprávy a výstupu 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