الترحيل إلى CXF مع Jaxb من Xfire مع Agesi
-
20-12-2019 - |
سؤال
أنا مهاجر مشروع صابون Xfire الخاص بي الذي يستخدم AEGIS لقواعد البيانات إلى CXF باستخدام Jaxb.حصلت على مشروع CXF الجديد الذي يعمل لطلبات Xfire القديمة مع ملزمة AEGIS.ولكن عندما أقوم بنقل بيانات Databinding إلى Jaxb Unmarshalling يحدث.
هذا هو تعريف خدمة الويب الخاص بي CXF.
giveacodicetagpre.استخدمت @ xmlrootelement annotaion على DTOS الخاص بي على النحو التالي.
giveacodicetagpre.طريقة واحدة التي تم اختبارها بعد طلب الصابون ل CXF
giveacodicetagpre.ولكن قديم Xfire إنشاء الطلب التالي، لقد حددت الفرق.
giveacodicetagpre.حصلت على استثناء متتالي عندما حاولت إرسال طلب Xfire إلى خدمة CXF.
giveacodicetagpre.لذلك أعتقد أنني بحاجة إلى إضافة علامات إضافية إلى CXF طلب Interorder متوافق مع Xfire.هل يعرف أحد كيفية حل هذا؟
شكرا مقدما.
المحلول
jaxb، بشكل افتراضي، يستخدم العناصر غير المؤهلة في حين أن AEGIS / XFIRE من خلال العناصر المؤهلة الافتراضية المستخدمة.طرق زوجين حول ذلك:
1) لكل عنصر، حدد مساحة الاسم.
@ xmlelement (الاسم="علامة"، واسم الاسم="http: ...")
من المحتمل أن يكون أسهل:
2) أضف حزمة-info.java مع:
@ javax.xml.bind.mannotation.xmlschema (مساحة الاسم="http:// ...... elementformdefault= xmlnsform.qualified)