في عميل Savon الذي يستخدم HTTPI، يكون الوكيل جزءًا من خيارات العميل. ويُطبَّق عند جلب ملف WSDL عن بُعد وعند إرسال طلب SOAP.

client = Savon.client(
  wsdl: 'https://service.example/soap?wsdl',
  proxy: ENV.fetch('SOAP_PROXY_URL'),
  open_timeout: 5,
  read_timeout: 15
)

يفترض المثال نقل HTTPI. مرِّر عنوان URL لوكيل معتمد عبر البيئة. ولاختبار SOAP عام يسمح بوسيط HTTP غير موثَّق، يمكن لمرشَّح من قائمة وكلاء HTTP أن يوفّر ذلك العنوان؛ أبقِ قرارات مصادقة الخدمة والوكيل منفصلة. وإذا كانت طريقة المصادقة المدعومة تستخدم بيانات اعتماد داخل عنوان URL، رمِّز الأحرف المحجوزة في تلك البيانات وأبقِ العنوان الناتج خارج السجلات.

يسمّي Savon هذه «خيارات عامة»، لكنها محلية بنسخة العميل. والعميل الآخر الذي يُنشأ في مكان آخر لا يرث الوكيل تلقائيًا.

تحقَّق من النقل المثبَّت قبل إعادة استخدام المقطع. فوثائق Savon الحالية تُسند هذه الخيارات إلى HTTPI؛ أما نقل Faraday فله واجهة إعداد خاصة به عبر client.faraday ويرفض هذه الخيارات الخاصة بـHTTPI. اضبط النقل المختار بدلًا من خلط الواجهتين.

افصل حساب الوكيل عن بيانات اعتماد خدمة SOAP وعن قيم WS-Security. فرقم 407 الخاص بالوكيل وتحدي تسجيل الدخول عبر HTTP الخاص بالخدمة وخطأ SOAP تشير إلى تبادلات مختلفة. وقد يفشل جلب WSDL قبل أن ينفّذ العميل أي عملية تطبيقية.

مقالات ذات صلة