سؤال

بلدي مزود خدمة ويب تعطيني كبير ملف WSDL ، ولكن نحن ذاهبون إلى استخدام سوى عدد قليل من وظيفة داخل.

وأعتقد أن كبير WSDL لها تأثير سلبي على أداء التطبيق.

نحن نستخدم خدمة ويب في العميل appliction ، وقت بدء التشغيل و استخدام الذاكرة هي القضايا.كبيرة WSDL يعني أن جاكس-ws سوف يستغرق وقتا أطول للقيام ملزمة سوف يأخذ المزيد من الذاكرة كعب الدرجة.

هل من الممكن أننا تقليم ملف WSDL إلى نسخة خفيفة الوزن?هل هناك أي أداة لهذا الغرض ؟

أنا لا أعتقد أن بلدي مزود خدمة ويب سوف تولد آخر WSDL بالنسبة لنا.ونحن قد تضطر إلى تفعل ذلك السيارات في بناء السيناريو.

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

المحلول

باختصار, الإجابة هي "لا أداة, ولكن يمكنك ديي".

أتمنى لو هناك أداة بسيطة يمكن أن تفعل ذلك لأن WSDL يحتوي على الكثير من غير مستخدمة وظيفة مخطط هيكل البيانات.

إذا أنا يمكن أتمتة ، WSDL -> قلص WSDL -> إنشاء عميل بذرة الطبقات.لا شيء غير المستخدمة سيتم إنشاؤها ، أي إساءة لا الصيانة المطلوبة ، فإننا لن أتطرق إلى إنشاء التعليمات البرمجية, أنا يمكن أن تركز حقا على الكود الذي في الاستخدام.أصغر جرة أقصر XML تحليل الوقت.إذا WSDL الحصول على تحديث سوف فقط لإعادة بناء العميل بذرة دروس وحدة تشغيل الاختبار.

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

أنا لست ملما على WSDL المخطط.أنا أفكر يمكن أن يتم ذلك عن طريق XSLT ؟

نصائح أخرى

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

يجب عليك أن تنظر في تجهيز WSDL أن يكون برنامج تغيير و تفعل كما تفعل مع أي إصدار مع الإصدارات و يختبر, etc.

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

لا توجد وسيلة سهلة للقيام بذلك.أنا عادة استخدم notepad++ ، نعم يمكن أن تجعل دائما من الأخطاء في حين نفعل ذلك.

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

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

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

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

يمكنك فقط إزالة يدويا <wsdl:operation> عناصر المقابلة إلى أساليب لا تحتاج ومعرفة ما إذا كان هذا يكفي.يجب أن تكون قادرة على إزالة تلك العناصر دون لمس بقية الملفات.

المادية حجم WSDL يجب أن لا يهم إذا كنت توليد العميل بذرة الطبقات في وقت الترجمة (مثلا ، عبر محور wsdl2java.) إذا كنت تقوم بالتنزيل WSDL و تحليل لكل طلب ثم تحميل المرجح أن قزم تحليل الوقت.النظر في التخزين المؤقت الملف محليا إذا كان وقت التحميل يصبح مشكلة.إذا كان تحليل الوقت يصبح مسألة قد ترغب في النظر في تقليم ملف أو التخزين المؤقت تحليل الأجسام.استخدام الحذر عند التخزين المؤقت أو تقليم ملف كما أنك سوف تحتاج إلى دمج أي تغييرات عندما موفر القضايا جديد WSDL.النظر في تحديث ذاكرة التخزين المؤقت/قلص WSDL في كل مرة يتم إعادة تشغيل الخدمة أو في بعض الفاصل.

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