يمكنني التأكد من أن الصابون خدمة ويب يدعم معين WebMethod?

StackOverflow https://stackoverflow.com/questions/108499

  •  01-07-2019
  •  | 
  •  

سؤال

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

هل هناك طريقة للقيام بذلك ؟

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

المحلول

اختبار وحدة خدمة الويب لضمان التوقيعات لا كسر.عند كتابة التعليمات البرمجية التي يكسر طريقة التوقيع ، عليك أن تعرف و يمكن ضبط التطبيقات الأخرى تبعا لذلك.

أو فقط لا كسر خدمات ويب ونشرها في الطريقة التي تمكن syou على نسخة منها.كما في http://services.domain.com/MyService/V1.1/Service.asmx (على .صافي) بحيث طريق التطبيقات الخاصة بك التي تستخدم v1.1 لا تنكسر عندما نشر v1.2 وجعل كسر التغييرات.

وأود أيضا أن تحقق من استخدام داخلي UDDI الخادم إذا كان حقا كبيرا في hasle لإدارة خدمات الويب.باستخدام الصفحات الخضراء من UDDI سوف اقول لك ما تريد أن تعرفه عن الخدمات.

نصائح أخرى

الحصول على WSDL (إلحاق ?wsdl إلى URL) - يمكنك تحليل أي بالطريقة التي تريدها.

عندما كنت صنع الصابون طلب كنت مجرد إرسال طلب HTTP إلى ملقم.إذا كان الملقم يفهم ذلك ، فإنه سوف تستجيب مع HTTP 200 و بعض XML مرة أخرى, إذا كان لا وسوف نرسل لك بعض خطأ HTTP رمز (404, 500, ...)

لا يوجد طريقة أن نسأل عن وجود "طريقة" يتعرض من خلال خدمة ويب.محاولة استخدام WSDL تتعرض إذا كان التلقائي ، أو مجرد محاولة استخدام "طريقة" و التحقق من وجود خطأ في الرد (لا تضطر إلى إرسال استثناء المستخدم...)

أيضا, أنا لا أعرف إذا كنت قد فهمت جيدا لكن كنت تفكر في quering الخادم مرتين ، مرة واحدة للتحقق إذا كان الأسلوب موجود و الثاني لجعل الفعلية نسميها إذا كان كذلك ؟ أنا فقط التحقق من الخطأ إذا كان لا, والمضي قدما عادة إذا كان كذلك.

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