سؤال

لقد ورثت ملف WSDL على خدمة ويب على نظام أنني لم يكن لديك الوصول إلى التنمية والاختبار.

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

ما هي أفضل طريقة للذهاب عن فعل هذا ؟

ملاحظة:الموروثة wsdl لا يبدو أن تكون متوافقة مع wsdl.exe لأنها لا تتفق مع WS-I الشخصية الأساسية v1.1.ولا سيما المجموعة التي مرت على ذكر ويستخدم معيار آخر أن مايكروسوفت أداة لا يدعم لكنهم لم توضح.الخطأ هو المطلوب 'اسم' ميدان:

Error: Element Reference '{namespace}/:viewDocumentResponse' declared in
schema type '' from namespace ''
       - the required attribute 'name' is missing

من أجل الوضوح ، أفهم أن أنا يمكن بسهولة إنشاء .صافي المجمع الدرجة من ملف WSDL ، ولكن هذا ليس ما أريد.انها مثل هذا:

تحديث:الأصلي خدمة ويب تم إنشاؤها باستخدام المحور.

الرسم البياني من نظام عرض متوفر خدمة ويب وهمية خدمة ويب http://paulw.us/blog/uploads/SO-WSDL-Question2.gif

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

المحلول

نحن نستخدم WSCF - خدمات ويب العقد الأول أداة من Thinktecture أن تفعل خدمة ويب التنمية وخلق XSD أولا ثم توليد واجهات خدمة باستخدام هذه الأداة.قد يكون من المفيد إنشاء واجهات خدمة من WSDL ولكن لم أجرب هذا بعد نفسي.

نصائح أخرى

قد تجد من المفيد أداة سطر الأوامر wsdl.exe من .صافي باستخدام /serverInterface خيار.وفقا للوثائق:

يولد واجهات جانب الخادم تنفيذ ASP.NET ويب الخدمة.واجهة ولدت كل ملزمة في مستند WSDL(s).WSDL وحده تطبق WSDL العقد (الطبقات التي تنفذ واجهة يجب أن لا تشمل أي من التالية على الطبقة طرق:خدمة ويب أو سمات التسلسل سمات هذا التغيير WSDL العقد).النموذج القصير هو '/سي'.

نعم - يمكنك استخدام WSCF (كما في أعلاه) لإنشاء تعليمات برمجية من جانب الخادم.URL الفعلي ومن ثم يمكن الكتابة إلى نقطة الاختبار URL الذي تريد استخدامه.

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

ثم يمكنك إما صورية هذا أو إنشاء بسيط ويب ASP خادم لتشغيله.

محاولة وهمية المجمع واجهة استخدام RhinoMocks و StructureMap .

لست متأكدا إذا كان هذا سوف يساعد ،

ما فعلته في الآونة الأخيرة هو:

  • تولد .cs استخدام ملف wsdl أداة أو visual studio
  • لقد تغييره إلى فئة جزئية
  • لقد خلق آخر فئة جزئية ، في كل ما يفعله هو إضافة خط إلى القول أن فئة تنفذ IWhatEver
  • لقد خلق واجهة هو نفس الوكيل الذي تم إنشاؤه فئة (ولذلك الوكيل تنفذ بشكل كامل واجهة)

ثم لقد استعملت ساخرا إطار (موك) في حالتي ، ويسخر ويب, لقد ثم تستخدم الفقراء مان dependancy حقن (تمرير وهمية في منشئ فئة تحت الاختبار) ..والتي يمكن التعامل مع مثيل IWhatever

اختبار بعيدا..

على أمل أن يساعد

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