سؤال

هذا هو استمرار السؤال هنا:JBOSS - هل يجب تجميع التطبيق تحت نفس JDK كما يركض JBoss تحت؟

إنه مختلف بما فيه الكفاية على الرغم من أنه يتطلب سؤالا جديدا.

أحاول استخدام JDK6 لتشغيل JBOSS 5.1، وأنا قمت بتنزيل إصدار JDK6 من JBOSS 5.1. هذا يعمل بشكل جيد وتطبيق أذني ينشر بخير. ومع ذلك، عندما أرغب في تشغيل عميل خدمة ويب مع رمز مثل هذا:

public static void main(String[] args) throws Exception {
    System.out.println("creating the web service client...");
    TestClient client = new TestClient("http://localhost:8080/tc_test_project-tc_test_project/TestBean?wsdl");
    Test service = client.getTestPort();
    System.out.println("calling service.retrieveAll() using the service client");
    List<TestEntity> list = service.retrieveAll();
    System.out.println("the number of elements in list retrieved using the client is " + list.size());
}

أحصل على الاستثناء التالي:

javax.xml.ws.WebServiceException: java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage
    at org.jboss.ws.core.jaxws.client.ClientImpl.handleRemoteException(ClientImpl.java:396)
    at org.jboss.ws.core.jaxws.client.ClientImpl.invoke(ClientImpl.java:302)
    at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:170)
    at org.jboss.ws.core.jaxws.client.ClientProxy.invoke(ClientProxy.java:150)

حاليا، هنا الجزء مثير حقا مثيرة. وبعد إذا قمت بتغيير JDK أن الرمز أعلاه يعمل تحت jdk6 إلى jdk5، فإن الاستثناء أعلاه يذهب بعيدا! انها حقا غرابة.

الطريقة الوحيدة التي عثرت عليها للرمز أعلاه لتشغيلها تحت JDK6 هي أخذ مجلد JBOSS_HOME / LIB / المعتمد ونسخه إلى JDK6_Home / Lib. يبدو أن هذا لا ينبغي أن يكون ضروريا، لكنه كذلك.

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

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

المحلول

يبدو تقريبا كما لو أنتم ركضت إلى وجود JAX-WS كمساحة رسمية JDK 1.6. لا تنسخ الأشياء إلى "Lib"، ونسخها إلى دليل "المعتمدين" (واحد مدرج في Java.ventorsed.dirs). هذه قد يكون مفيدا.

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

نصائح أخرى

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

معلومات حول هذه المشكلة يمكنك العثور عليها في تثبيت JBOSS الرسمي والدليل البدء:http://docs.jboss.org/jbossas/docs/installation_get_getting_started_guide/5/html/installation_alternts.html.

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