2010-03-11 4 views
6

मैं इस इंटरफेस हो खोजने में असमर्थ। मैं फिडलर से एक एक्सएमएल क्वेरी पोस्ट कर रहा हूं और मुझे बिना किसी समस्या के परिणाम मिलते हैं।एक MessageBodyReader

लेकिन मैं एक ही इंटरफ़ेस के लिए एक एकीकरण परीक्षण किया है, मैं ही वस्तुओं भेजने के लिए और मैं की तरह प्रतिक्रिया डाल:,

final MultipartOutput multiPartOutput = getClient().query(getUserRestAuth(), 0, 25, null, null, null, instanceQuery); 

लेकिन यहाँ तो एकीकरण परीक्षणों से, मैं एक अजीब त्रुटि प्राप्त करते हैं:

Unable to find a MessageBodyReader of content-type multipart/mixed;boundary="74c5b6b4-e820-452d-abea-4c56ffb514bb" and type class org.jboss.resteasy.plugins.providers.multipart.MultipartOutput

किसी के पास कोई विचारधारा है क्यों केवल एकीकरण परीक्षण में मुझे यह त्रुटि प्राप्त होती है?

पुनश्च: आप में से कुछ कहेंगे कि मैं ContentType लेकिन बहुखण्डीय है, जो निश्चित रूप से गलत है क्योंकि वस्तुओं की आवश्यकता @XmlRootElement आदि, otherways न फ़िडलर से पोस्ट काम करेगा एनोटेट की है के रूप में application/xml नहीं भेजते हैं।

उत्तर

-1

इस विधि को अपनी परीक्षा कक्षा में जोड़ने का प्रयास करें। यह डिफ़ॉल्ट अंतर्निहित प्रदाताओं को पंजीकृत करेगा जो पहले से ही आपके सर्वर पर पंजीकृत हैं।

@BeforeClass 
public static void registerProviders() { 
    ResteasyProviderFactory providerFactory = ResteasyProviderFactory.getInstance(); 
    RegisterBuiltin.register(providerFactory); 
} 
+0

फिर भी काम नहीं करता है ... –

+0

'RegisterBuiltin.register (providerFactory)' 'ResteasyProviderFactory.getInstance दौरान डिफ़ॉल्ट रूप से सक्रिय किया जाएगा()' invoсation –

0

क्लासपाथ में मल्टीपार्ट एन्कोडिंग के लिए संबंधित रेस्टसीसी एडन में शामिल हैं? (Esteasy-बहुखण्डीय-प्रदाता)।

+0

हाय। हाँ वे हैं। –

+0

क्लाइंट क्लासपाथ में भी? मुझे विश्वास है कि त्रुटि इसलिए है क्योंकि क्लाइंट रीस्टेसी प्रॉक्सी में कोई संदेशबॉडी रीडर पंजीकृत नहीं है जो मल्टीपार्ट/मिश्रित संभाल सकता है। यदि आप रीस्टेसी 1.2 या बेहतर का उपयोग कर रहे हैं तो क्लाइंट के क्लासपाथ में पिछले उल्लिखित जार में शामिल होना पर्याप्त है, अस्थिर संस्करण <1.2 के मामले में आपको क्लाइंट के कोड में चंद्रू लिखना होगा। आपके एकीकरण परीक्षण के लिए आप दो अलग-अलग वीएम का उपयोग कर रहे हैं या आप क्लाइंट और सर्वर को उसी में चलाते हैं? –

1

आप इस कोशिश कर सकते हैं:

ResteasyProviderFactory providerFactory = ResteasyProviderFactory.getInstance(); 
providerFactory.registerProvider(org.jboss.resteasy.plugins.providers.multipart.MimeMultipartProvider.class); 
संबंधित मुद्दे