سؤال

لدي وكيل WSO2 ESB-4.6.0 الذي يستدعي وكيل آخر يستدعي Webservice.

giveacodicetagpre.

إذا اتصلت مباشرة بالوكيل الثاني عبر Soaapui، يتم إرجاع الاستجابة بشكل صحيح وطباعتها بشكل صحيح، ولكن إذا استدعيت الوكيل الأول، فسيتم إرجاع هيئة فارغة.

في سجل ESB، تتم طباعة ما تمت طباعة الوكيل 1 قبل لاحظ Proxy2. يبدو أن الوسيط الخاص بالإرسال الحاضر في وقت متأخر من Proxy1 هو إجراء مكالمة غير متزامنة إلى الوكيل 2.
لقد حاولت استبدال الوسيط الخاص بوسيط Callout، ولكن النتيجة هي نفسها.
اتبع هذا تعليمي، لكنه لم يعمل أيضا.

كيفية إعادة توجيه الاستجابة لل proxy2 إلى المتصل؟
الرجاء المساعدة. انها تقتلني!

تحرير

حل المشكلة! كنت أستخدم منفذ خاطئ لتحديد المعلمة ServiceUrl لمركاس Callout.

تحرير

تكوين الوكلاء الحاليين:

proxy1 (الدعوة وكيل 2 - charactworkforce):

giveacodicetagpre.

proxy 2 (استدعاء proxy3-gettappointpeopleprovcs):

giveacodicetagpre.

الوكيل 3 (استدعاء الخدمة -GetAppointment):

giveacodicetagpre.

نقطة النهاية النهائية (الخدمة):

giveacodicetagpre.

هل كانت مفيدة؟

المحلول

هناك اثنين من وسطاء لاستدعاء خدمات الويب.تلك هي Callout Mediator و اتصل بوسيط .يقوم الوسيط بالطوائف بإجراء مكالمة حظر ويدير الوسيط المكالمات مكالمة غير حظر.

لذلك، يجب عليك استخدام وسيط المكالمات إذا كنت تفكر في الأداء.إنه متوفر في ESB 4.8.0.

هناك اثنين من عينات لهذه في مستندات Wiki.

هناك آخر عينة للحصول على الاتصالالوسيط من مدونة دوشان.يحتوي هذا على وسطاء أكثر تعقيدا، ولكن يمكنك تجربة الخروج.

هذه مجرد إجابة سريعة.

آمل أن يكون هذا يساعد.

شكرا!

نصائح أخرى

proxy1 ينتظر الاستجابة من proxy2 حتى تستخدم الوسيط الخاص به. يجب ألا يتم تنفيذ ما لم يتم تنفيذ الوكيل 1 قبل إعدام الوثيقة 2.

التبديل إلى الوسيط Callout هو ليس الحل المثالي لهذا. أعتقد أنه يجب أن يكون هناك شيء خاطئ في تكوين الوكيل.

إذا كنت تستطيع نشر تكوين الوكيل هنا، فقد نكون قادرين على تقديم المساعدة لحل هذا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top