سؤال

أود أن أعرف إذا كان أي شخص يمكن أن يوصي مكتبة جيدة لتوليد جافا webservices بذرة العملاء.

حاليا أنا باستخدام المنتج الذي فقد جزءا لا يتجزأ من المولدات التي يحتاج فقط WSDL ثم يخلق حاجة الفئات وأساليب.

مشاكلي هو يلقي التحذيرات لا يخلق أي طريقة بعض webservices أحاول استخدام.

المشكلة الحقيقية هي أنه لا يفسر ما هي المشكلة ( إذا أنا يمكن أن تذهب مع صاحب ويب ويكون ذلك معدلة ) ولا تدع لي تعديل ouput لذلك أنا ربما يمكن حل المشكلة نفسي.

بعد أصحاب webservices ( لأن هذا يحدث مع العديد من مختلف ws ) يقول ws يعمل بشكل جيد و في الواقع إن استخدام صوابي يسمح تعمل في الواقع!!!

أخذت نظرة سريعة على المكتبات المستخدمة من قبل صوابي يسمح الذاتي و أنا تبدو واعدة.

وأنا أعلم أن هناك المحور التي ينبغي أن تفعل العمل ، ولكن قلقي هو أن بلدي الفشل مولد باستخدام المكتبة بالفعل ( الذي يجعلني شيء سوف تفشل مرة أخرى )

و في الآونة الأخيرة لا أعرف إذا كانت هذه مكتبتين توليد المصدر java كعب أو فقط أساليب مثل

Object [] args = ...;
service.inkvoke("updateCustomer", args );

عند ما أود أن يكون شيئا مثل:

CustomerWs cws = ....
cws.updateCustomer(custId, custName, custAddress /*etc*/ );

لذلك أي شخص لديه جيد ws بذرة مولد التي يمكن أن يوصي ؟

أنا على وشك أن handcode بلدي, ولكن بالتأكيد سوف يستغرق عدة أيام أن يكون مقبولا

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

المحلول

ما أنت حاليا تستخدم ؟ يمكنني استخدام محور Wsdl2Java كما نملة المهمة.فإنه يولد أنواع بذرة تريد.يعمل كبيرة ، على الرغم من إعداد classpath لتشغيل بناء كان قليلا من الألم في الكسوف (كانت هناك حفنة من الجرار كنت بحاجة لتعقب و تشمل).في النمل buildfile يبدو مثل هذا:

<taskdef name="axis-wsdl2java" classname="org.apache.axis.tools.ant.wsdl.Wsdl2javaAntTask" />
<target name="foo">
<axis-wsdl2java
              output="${build.dir}"
              testcase="false"
              verbose="true"
              typemappingversion="1.2"
              url="http://ws.domain.com/url/of/WebService?wsdl" />
<!-- Compile, etc... -->
</target>

نصائح أخرى

تكون حذرا جدا عند الرجوع إلى "المحور": أباتشي المحور 1 تم التخلي عنه في أوائل عام 2006 مع موضوع السلامة الخلل مما يؤدي إلى الجمود و وحدة المعالجة المركزية يدور (كلاهما من ذوي الخبرة).ستندم على استخدامه. أباتشي المحور 2 هو إعادة كتابة كاملة و قد يكون من المفيد إلقاء نظرة.ولكن أود أن أقترح عليك أولا أن ننظر في أباتشي CXF و Glassfish مترو.

تحديث:هنا هي علة التقارير على الجمود و 100% زيادة أو نقصان CPU.هنا هو سيريل لو كليرك هو اقترح التصحيح ثلاث سنوات مضت ، لم ترتكب.

القضاء لدينا المآزق يدور من خلال إعادة ترميز عملائنا في مباشرة جافا.ثم محور الخادم رفض الحديث معنا بإرسال HTTP 500 الأخطاء.نحن في حاجة إلى زورا كنا محور العميل للحصول على الرد المناسب.الصابون التوافقية ليست أولوية بالنسبة إلى المحور 1 في الفريق.

أنا مثل أباتشي CXF - أنه يدمج بشكل جيد مع مخضرم من خلال البرنامج المساعد ، وأنه يعمل.لقد تم استخدامه لفترة من الوقت كعب العميل رمز جيل, و في الأخير الشركة عملت كانوا يستخدمون ذلك الخادم جزء من WS جدا.

في آخر المشاريع التي عملت عليها مع CXF + مخضرم + التخريب ، لم تشمل فئات ولدت في التخريب فقط نسخة من ملف WSDL - كعب دروس تم إنشاؤها في "توليد" الهدف من مخضرم.

أباتشي المحور 2 هو الطريق للذهاب...على الرغم من أنك قد تحتاج أن تلعب حول قليلا للحصول على ذلك الحق.ولعل الطريقة الأكثر شيوعا للقيام بذلك.ولعل الأداة التي تستخدمها على أساس محور 1?

أود أن أقترح بالتأكيد باستخدام شيء على أساس المعايير المعتمدة في المعهد.هذا يعني جاكس-WS API.أباتشي CXF و مترو هما الرئيسية "جاكس" -WS تطبيقات, على الرغم من أن جبوس لديه التنفيذ.Axis2 له غير مصدقة التنفيذ ، ولكن أي قانون gen الدعم.

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

أيضا ، جاكس-WS بنيت الحق في Java6.إذا كنت تخطط لتشغيل على Java6 ، ويمكن استخدامه وعدم التعامل مع اضافية الجرار من هذا القبيل.

أحدث جاكس-WS كجزء من المترو (http://metro.dev.java.net) هو لطيف جدا استخراج طبقة.يأخذ القليل من التكيف ولكن كان هناك الكثير أكثر سهولة بالنسبة لي من بعض الخيارات الأخرى هناك.

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