2011-06-02 20 views
5

में ResteasyProviderFactory अपवाद मुझे RESTEasy द्वारा प्रदान किए गए क्लाइंट फ्रेमवर्क का उपयोग करके एक विश्वसनीय webservice का आह्वान करने में कुछ परेशानी हो रही है। जब मैं ResteasyProviderFactory को पंजीकृत करने का प्रयास करता हूं तो मुझे क्लासकास्ट अपवाद मिला और कुछ भी काम नहीं करता है।ग्लासफ़िश

RegisterBuiltin.register(ResteasyProviderFactory.getInstance()); 
    LifeGoalClient leClient = ProxyFactory.create(LifeGoalClient.class, "http://localhost:8080/TutorFinanceiro"); 
    List<LifeGoal> lifeGoals = leClient.getLifeGoals(); 
    JOptionPane.showMessageDialog(null, lifeGoals); 
    return lifeGoals; 

और अपवाद:

java.lang.ClassCastException: com.sun.jersey.server.impl.provider.RuntimeDelegateImpl cannot be cast to org.jboss.resteasy.spi.ResteasyProviderFactory 

मैं Glassfish 3.0.1 और 2.2.1 Resteasy उपयोग कर रहा हूँ

कोड यह रहा।

मैंने वेब के माध्यम से खोज की लेकिन इसके संबंध में कोई समाधान या कोई प्रासंगिक जानकारी नहीं मिली। अगर किसी के पास ऐसा करने का कोई समाधान या वैकल्पिक तरीका है, तो कृपया मेरी मदद करें! जर्सी और resteasy -

अग्रिम

+0

मैं उस के बारे में researchs का एक बहुत लेने के लिए किया था और क्या मैं ने बेकार कुछ भी, बस यह does not वैकल्पिक हल के रूप में पाया साथ ही काम करो। मुझे लगता है कि इस मामले में Resteasy पर जर्सी स्विच बेहतर विकल्प है। – irobson

उत्तर

1

यह धन्यवाद परस्पर विरोधी jax-रु कार्यान्वयन के कारण होता है। आदेश उपरोक्त त्रुटि को रोकने के लिए, आप अपने web.xml में

<context-param> 
    <param-name>resteasy.use.deployment.sensitive.factory</param-name> 
    <param-value>false</param-value> 
</context-param> 

जोड़ सकते हैं।

ऐसा करके, रेस्टसीसी ResteasyProviderFactory का उदाहरण चुनेंगे।

4

मैं "META-INF/सेवाओं" पर वर्ग रास्ते में javax.ws.rs.ext.RuntimeDelegate नाम की एक फ़ाइल को जोड़कर glassfish में जर्सी से अधिक बल resteasy किया था, जो केवल निम्न पंक्ति होते हैं: org.jboss .resteasy.spi.ResteasyProviderFactory

हालांकि, मेरे लिए, जब तक मैं resteasy-cdi का उपयोग करने की कोशिश नहीं करता तब तक सभी ठीक काम करने लगते थे। मेरी निर्भरताओं के लिए आखिरी आर्टिफैक्ट जोड़ना और आवश्यक संदर्भ-पैरामीटर को कॉन्फ़िगर करना उसी क्लासकास्ट समस्या को खोद गया।

0

मेरे मामले में संदर्भ के परम समाधान ऊपर मेरा पीछा कर इस मुद्दे को हल करने में मदद:

एप्लिकेशन युद्ध लिनक्स (Suse, डेबियन) पर अच्छी तरह से चल रहा है लेकिन Windows के तहत बिलाव 6 में यह तैनात करने के लिए कोशिश कर रहा था मुझे मिल गया निम्न त्रुटि:

15 uin 2014 10:16:20 org.apache.catalina.core.StandardContext listenerStart

कब्र: अपवाद lors डे ल envoi डे ल EVENEMENT contexte आरंभ (संदर्भ प्रारंभ) à l'instance de classe d'écoute (श्रोता) org.jboss.resteasy.plugins.server.servlet.Resteasy बूटस्ट्रैप java.lang.ClassCastException: org.glassfish.jersey.server.internal.RuntimeDelegateImpl org.jboss.resteasy.spi.ResteasyProviderFactory.getInstance (ResteasyProviderFactory.java पर org.jboss.resteasy.spi.ResteasyProviderFactory में ढाला नहीं जा सकते हैं: 330) org.jboss.resteasy.spi.ResteasyDeployment.start पर (ResteasyDeployment.java:63) ....

अच्छी तरह से ज्ञात अपवाद से पहले जस्ट:

juin 15, 10:16 2014: 20 पूर्वाह्न org.apache.catalina.core.StandardContext श्रोता स्टार्ट

ग्रेव: अपवाद lors de l'envoi de l'évè nement contexte प्रारंभिक (संदर्भ प्रारंभ) à l'instance de classe d'écoute (श्रोता) org.jboss.resteasy.plugins.cache.server।ServletServerCache java.lang.RuntimeException: Resteasy intialized नहीं है, ResteasyProviderFactory विशेषता नहीं पा सके ......

conf/web.xml में संदर्भ के परम इस त्रुटि का समाधान (लेकिन मैं क्यों समझ नहीं आया लिनक्स और विंडोज के बीच इस अंतर को हम कभी नहीं लिनक्स के तहत इस जोड़ने के लिए)

धन्यवाद

डेविड एम

संबंधित मुद्दे