Exchange رسائل B2B بين الشركاء باستخدام مهام سير العمل في تطبيقات Azure Logic

عندما يكون لديك حساب تكامل يحدد الشركاء التجاريين والاتفاقيات، يمكنك إنشاء سير عمل تلقائي بين الشركات (B2B) يتبادل الرسائل بين الشركاء التجاريين باستخدام Azure Logic Apps. يمكن لسير العمل استخدام الموصلات التي تدعم البروتوكولات المتوافقة مع معايير الصناعة، مثل AS2 وX12 وEDIFACT وRosettaNet. يمكنك أيضا تضمين العمليات التي توفرها الموصلات الأخرى في تطبيقات Azure Logic ، مثل Office 365 Outlook SQL Server و Salesforce.

توضح هذه المقالة كيفية إنشاء مثال سير عمل تطبيق منطقي يمكنه تلقي طلبات HTTP باستخدام مشغل طلب وفك تشفير محتوى الرسالة باستخدام إجراءات AS2 فك تشفير وفك تشفير X12 وإرجاع استجابة باستخدام الإجراء استجابة . يستخدم المثال مصمم سير العمل في مدخل Azure، ولكن يمكنك اتباع خطوات مماثلة لمصمم سير العمل في Visual Studio.

إذا كنت جديدا على التطبيقات المنطقية، فراجع ما المقصود بتطبيقات Azure المنطقية؟ لمزيد من المعلومات حول تكامل مؤسسة B2B، راجع مهام سير عمل تكامل المؤسسة B2B باستخدام Azure Logic Apps.

المتطلبات الأساسية

  • حساب واشتراك Azure. إذا لم يكن لديك اشتراك بعد، فقم بالتسجيل للحصول على حساب Azure مجاني.

  • مورد حساب تكامل حيث تقوم بتعريف القطع الأثرية وتخزينها، مثل الشركاء التجاريين والاتفاقيات والشهادات وما إلى ذلك، لاستخدامها في تكامل المؤسسة ومهام سير عمل B2B. يجب أن يفي هذا المورد بالمتطلبات التالية:

    • مقترن بنفس اشتراك Azure مثل مورد التطبيق المنطقي.

    • موجود في نفس الموقع أو منطقة Azure مثل مورد التطبيق المنطقي.

    • إذا كنت تستخدم نوع مورد تطبيق المنطق (الاستهلاك)، فإن حساب التكامل الخاص بك يتطلب رابطا إلى مورد التطبيق المنطقي قبل أن تتمكن من استخدام القطع الأثرية في سير العمل.

    • إذا كنت تستخدم نوع مورد تطبيق المنطق (القياسي)، فلن يحتاج حساب التكامل الخاص بك إلى ارتباط إلى مورد التطبيق المنطقي الخاص بك ولكنه لا يزال مطلوبا لتخزين القطع الأثرية الأخرى، مثل الشركاء والاتفاقيات والشهادات، إلى جانب استخدام عمليات AS2 أو X12 أو EDIFACT. لا يزال يتعين على حساب التكامل الخاص بك تلبية المتطلبات الأخرى، مثل استخدام نفس اشتراك Azure والموجود في نفس الموقع مثل مورد التطبيق المنطقي.

    ملاحظة

    حاليا، يدعم نوع مورد تطبيق المنطق (الاستهلاك) فقط عمليات RosettaNet . لا يتضمن نوع مورد تطبيق المنطق (القياسي) عمليات RosettaNet .

  • شريكان تجاريان على الأقل في حساب التكامل الخاص بك. يجب أن تستخدم تعريفات كلا الشريكين نفس مؤهل هوية العمل ، وهو AS2 أو X12 أو EDIFACT أو RosettaNet.

  • اتفاقية AS2 واتفاقية X12 للشركاء الذين تستخدمهم في سير العمل هذا. تتطلب كل اتفاقية شريكا مضيفا وشريكا ضيفا.

  • مورد تطبيق منطقي مع سير عمل فارغ حيث يمكنك إضافة مشغل الطلب ثم الإجراءات التالية:

إضافة مشغل الطلب

لبدء سير العمل في هذا المثال، أضف مشغل الطلب.

  1. في مدخل Azure، افتح مورد التطبيق المنطقي وسير العمل الفارغ في مصمم سير العمل.

  2. ضمن مربع البحث عن المصمم، حدد الكل، إن لم يكن محددا. في مربع البحث، أدخل when a http request. حدد مشغل الطلب المسمى عند استلام طلب HTTP.

    Screenshot showing Azure portal and multi-tenant designer with

  3. في المشغل، اترك مربع مخطط JSON لنص الطلب فارغا.

    والسبب هو أن المشغل سيتلقى رسالة X12 بتنسيق ملف مسطح.

    Screenshot showing multi-tenant designer and Request trigger properties.

  4. عند الانتهاء، على شريط أدوات المصمم، حدد Save.

    تقوم هذه الخطوة بإنشاء عنوان URL ل HTTP POST الذي تستخدمه لاحقا لإرسال طلب يقوم بتشغيل سير عمل تطبيق LOGIC APP.

    Screenshot showing multi-tenant designer and generated URL for Request trigger.

  5. انسخ عنوان URL واحفظه لاستخدامه لاحقا.

إضافة إجراء فك تشفير AS2

الآن أضف إجراءات B2B لهذا المثال ، والذي يستخدم إجراءات AS2 و X12.

  1. ضمن المشغل، حدد خطوة جديدة.

    تلميح

    لإخفاء تفاصيل مشغل الطلب، حدد شريط عنوان المشغل.

    Screenshot showing multi-tenant designer and trigger with

  2. ضمن مربع البحث اختيار عملية ، حدد الكل، إن لم يكن محددا. في مربع البحث، أدخل as2، وحدد AS2 فك تشفير.

    Screenshot showing multi-tenant designer with the

  3. في الخاصية رسالة لفك تشفير الإجراء ، أدخل الإدخال الذي تريد أن يقوم الإجراء AS2 بفك تشفيره، وهو الإخراج body من مشغل الطلب. لديك طرق متعددة لتحديد هذا المحتوى كإدخال للإجراء، إما عن طريق التحديد من قائمة المحتوى الديناميكي أو كتعبير:

    • للتحديد من قائمة تعرض مخرجات المشغل المتوفرة، انقر داخل المربع رسالة لفك تشفيرها . بعد ظهور قائمة المحتوى الديناميكي، ضمن عند تلقي طلب HTTP، حدد قيمة خاصية النص ، على سبيل المثال:

      Screenshot showing multi-tenant designer with dynamic content list and

      تلميح

      في حالة عدم ظهور مخرجات المشغل، في قائمة الخصائص الديناميكية، ضمن عند استلام طلب HTTP، حدد عرض المزيد.

    • لإدخال تعبير يشير إلى إخراج المشغل body ، انقر داخل المربع رسالة لفك تشفيرها . بعد ظهور قائمة المحتوى الديناميكي، حدد تعبير. في محرر التعبير، أدخل التعبير التالي، وحدد موافق:

      triggerOutputs()['body']

      أو، في المربع رسالة لفك تشفيرها ، أدخل التعبير التالي مباشرة:

      @triggerBody()

      يحل التعبير إلى رمز الجسم .

      Screenshot showing multi-tenant designer with resolved

  4. في خاصية رؤوس الرسائل الخاصة بالإجراء، أدخل أي رؤوس مطلوبة لإجراء AS2، والتي توجد في الإخراج headers من مشغل الطلب.

    1. لإدخال تعبير يشير إلى إخراج المشغل headers ، حدد تبديل رؤوس الرسائل إلى وضع النص.

      Screenshot showing multi-tenant designer with

    2. انقر داخل المربع رؤوس الرسائل . بعد ظهور قائمة المحتوى الديناميكي، حدد تعبير. في محرر التعبير، أدخل التعبير التالي، وحدد موافق:

      triggerOutputs()['Headers']

      في إجراء فك تشفير AS2، يظهر التعبير الآن كرمز مميز:

      Screenshot showing multi-tenant designer and the

    3. للحصول على رمز التعبير المميز لحله في الرمز المميز للرؤوس ، قم بالتبديل بين طريقة عرض المصمم والتعليمة البرمجية. بعد هذه الخطوة، يبدو الإجراء AS2 فك التشفير مثل هذا المثال:

      Screenshot showing multi-tenant designer and resolved headers output from trigger.

إضافة إجراء الاستجابة كإيصال رسالة

لإعلام الشريك التجاري بأنه تم استلام الرسالة، يمكنك إرجاع استجابة تحتوي على إعلام التصرف في رسالة AS2 (MDN) باستخدام إجراءي الشرط والاستجابة. بإضافة هذه الإجراءات مباشرة بعد إجراء AS2، يمكن لسير عمل التطبيق المنطقي متابعة المعالجة في حالة نجاح إجراء AS2. وإلا، في حالة فشل الإجراء AS2، يتوقف سير عمل تطبيق المنطق عن المعالجة.

  1. ضمن الإجراء AS2 فك تشفير ، حدد خطوة جديدة.

  2. ضمن مربع البحث اختيار عملية ، حدد مضمن، إن لم يكن محددا بالفعل. في مربع البحث، أدخل condition. حدد إجراء الشرط .

    Screenshot showing multi-tenant designer and the

    الآن يظهر شكل الشرط، بما في ذلك المسارات التي تحدد ما إذا كان الشرط قد تم الوفاء به أم لا.

    Screenshot showing multi-tenant designer and the condition shape with empty paths.

  3. الآن حدد الشرط المطلوب تقييمه. في المربع اختيار قيمة ، أدخل التعبير التالي:

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

    في المربع الأوسط، تأكد من تعيين عملية المقارنة إلى is equal to. في المربع الأيسر، أدخل القيمة Expected.

  4. احفظ سير عمل التطبيق المنطقي. للحصول على التعبير لحله كرمز مميز ، قم بالتبديل بين المصمم وطريقة عرض التعليمات البرمجية.

    Screenshot showing multi-tenant designer and the condition shape with an operation.

  5. الآن حدد الاستجابات للإرجاع استنادا إلى ما إذا كان إجراء فك تشفير AS2 ناجحا أم لا.

    1. بالنسبة للحالة التي ينجح فيها إجراء فك تشفير AS2 ، في الشكل True ، حدد إضافة إجراء. ضمن مربع البحث اختيار عملية ، أدخل response، وحدد استجابة.

      Screenshot showing multi-tenant designer and the

    2. للوصول إلى AS2 MDN من إخراج الإجراء AS2 فك تشفير ، حدد التعبيرات التالية:

      • في خاصية رؤوس إجراء الاستجابة، أدخل التعبير التالي:

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

      • في الخاصية الأساسية للإجراءاستجابة، أدخل التعبير التالي:

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

    3. للحصول على التعبيرات لحلها كرموز مميزة، قم بالتبديل بين طريقة عرض المصمم والتعليمة البرمجية:

      Screenshot showing multi-tenant designer and resolved expression to access AS2 MDN.

    4. بالنسبة للحالة التي يفشل فيها إجراء فك تشفير AS2 ، في الشكل False ، حدد إضافة إجراء. ضمن مربع البحث اختيار عملية ، أدخل response، وحدد استجابة. قم بإعداد إجراء الاستجابة لإرجاع الحالة والخطأ اللذين تريدهما.

  6. احفظ سير عمل التطبيق المنطقي.

إضافة إجراء فك تشفير رسالة X12

الآن أضف إجراء فك تشفير رسالة X12 .

  1. ضمن إجراء الاستجابة ، حدد إضافة إجراء.

  2. ضمن اختيار عملية، في مربع البحث، أدخل x12 decode، وحدد فك تشفير رسالة X12.

    Screenshot showing multi-tenant designer and the

  3. إذا طالبك الإجراء X12 بمعلومات الاتصال، فقم بتوفير اسم الاتصال، وحدد حساب التكامل الذي تريد استخدامه، ثم حدد إنشاء.

    Screenshot showing multi-tenant designer and connection to integration account.

  4. الآن حدد إدخال الإجراء X12. يستخدم هذا المثال الإخراج من الإجراء AS2، وهو محتوى الرسالة ولكن لاحظ أن هذا المحتوى بتنسيق كائن JSON ويتم ترميز base64. لذلك ، يجب عليك تحويل هذا المحتوى إلى سلسلة.

    في المربع X12 ملف مسطح لفك التشفير ، أدخل التعبير التالي لتحويل إخراج AS2:

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

  5. احفظ سير عمل التطبيق المنطقي. للحصول على التعبير لحله كرمز مميز ، قم بالتبديل بين المصمم وطريقة عرض التعليمات البرمجية.

    Screenshot showing multi-tenant designer and conversion from base64-encoded content to a string.

  6. احفظ سير عمل التطبيق المنطقي.

    إذا كنت بحاجة إلى خطوات إضافية لسير عمل التطبيق المنطقي هذا، على سبيل المثال، لفك تشفير محتوى الرسالة وإخراج هذا المحتوى بتنسيق كائن JSON، فتابع إضافة الإجراءات الضرورية إلى سير عمل التطبيق المنطقي.

لقد انتهيت الآن من إعداد سير عمل تطبيق المنطق B2B. في تطبيق العالم الحقيقي، قد ترغب في تخزين بيانات X12 التي تم فك تشفيرها في تطبيق خط العمل (LOB) أو مخزن البيانات. على سبيل المثال، راجع الوثائق التالية:

لتوصيل تطبيقات LOB الخاصة بك واستخدام واجهات برمجة التطبيقات هذه في تطبيقك المنطقي، يمكنك إضافة المزيد من الإجراءات أو كتابة واجهات برمجة التطبيقات المخصصة.

الخطوات التالية