سؤال

أحاول الكشف عن الخدمات باستخدام jax-ws ولكن المفاجأة الأولى التي حصلت عليها هي أن Weblogic لا يدعم الفئات الداخلية لكائنات الطلب/الاستجابة.بعد تجاوز هذا الوضع هنا, ، أنا أواجه تحديًا آخر:

يولد getXXX() بدلاً من/بالإضافة إلى isXXX() طريقة.

أحتاج إلى إنشاء هذه الطرق لأنه عندما أبدأ الخدمة أتلقى الرسالة:

<WS data binding error>could not find getter for property 'IsXXX' on com.foo.MyClass

حاولت التخصيص:

<jaxb:globalBindings generateIsSetMethod="false" enableJavaNamingConventions="false">

بدون تأثير.:(

أي مساعدة؟

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

المحلول

وBooleanGetter XJC المساعد لJAXB متاح على الموقع http://fisheye5.cenqua.com/browse/~raw،r=1.1/jaxb2-commons/www/boolean-getter/index.html

إذا كنت تعمل مع JavaSE 6 ثم لا بد من إعادة تعبئتها - راجع <لأ href = "http://forums.java.net/jive/message.jspa؟messageID=319434" يختلط = "نوفولو noreferrer "> http://forums.java.net/jive/message.jspa؟messageID=319434

واستخدم في بناء النمل مثل أدناه:

    <taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask" classpathref="development.classpath"/>

    <xjc schema="some.xsd" package="com.acme.jaxb" destdir="gen-src">
        <arg value="-Xcollection-setter-injector"/>  
        <arg value="-Xboolean-getter"/>
    </xjc>          

وHTH

نصائح أخرى

لقد تم إصلاح هذا أو من الأفضل أن نقول أنه مدعوم في jaxb 2.1.13 (انظر جاكس بي-131 لمزيد من التفاصيل).قم بترقية تبعياتك وقم بتكوين خيار EnableIntrospection xjc.يمكن العثور على مزيد من التفاصيل حول خيارات xjc على هذا الرابط.إذا كنت تستخدم org.codehause.mojo:jaxb2-maven-plugin:1.3.1 plugin، راجع تعليق هذه القضية للحصول على حل بديل.

خيار:-تمكين الاستبطان

وهنا هو البرنامج المساعد آخر الذي يعمل على حل المشكلة:

http://code.google.com/p/nebulent- xjc-booleangetter / ويكي / AboutThisProject

ووgeneates وgetXXX() addiotionally إلى isXXX() الافتراضي، وبالتالي، رمز بالفعل باستخدام هذه الفئات لا تنكسر بعد تطبيق البرنامج المساعد.

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