का उपयोग करने के लिए हम एक तीसरे पक्ष के साथ एकीकृत कर रहे हैं जो सामग्री-प्रकार हेडर के साथ टेक्स्ट/एचटीएमएल के रूप में एक्सएमएल भेज रहा है। हम xsds से जेनरेट की गई कक्षाओं में इसे मैप करने के लिए स्प्रिंग के रेस्ट टेम्पलेट का उपयोग करने की योजना बना रहे थे, लेकिन RestTemplate सामग्री के लिए उपयोग करने के लिए उपयुक्त कनवर्टर खोजने में विफल रहता है। तीसरी पार्टी सामग्री-प्रकार को ठीक करने से इंकार कर देती है क्योंकि यह अन्य साथी के एकीकरण को तोड़ सकती है।फोर्स स्प्रिंग रेस्ट टेम्पलेट एक्सएमएल कनवर्टर
क्या स्प्रिंग के रेस्ट टेम्पलेट के साथ एक विशिष्ट कनवर्टर का उपयोग करने के लिए मजबूर करने का कोई तरीका है? हम मूल रूप से बस कर रहे हैं निम्नलिखित:
RestTemplate restTemplate = new RestTemplate();
XmlClass xmlClass = restTemplate.getForObject("http://example.com/", XmlClass.class);
और निम्न अपवाद:
01 परorg.springframework.web.client.RestClientException: प्रतिक्रिया को अलग नहीं किया जा सका: कोई उपयुक्त HttpMessageConverter प्रतिक्रिया के लिए मिला टाइप [XmlClass] और सामग्री प्रकार [पाठ/html; charset = ISO-8859-1] org.springframework.web.client.HttpMessageConverterExtractor.extractData (HttpMessageConverterExtractor.java:84)
मैंने सही हेडर का उपयोग करने के लिए प्रोत्साहित करने के लिए इंटरसेप्टर के साथ स्वीकृति हेडर बदलने की कोशिश की लेकिन यह काम नहीं किया। – Nathanial
निश्चित रूप से, मैंने भी कोशिश की होगी। मेरा जवाब प्रतिक्रिया के बाद, प्रतिक्रिया * हेडर को झुकाव का मतलब है। – artbristol
हमने MediaType.TEXT_HTML को स्वीकार करने वाले बाकी टेम्पलेट को अतिरिक्त संदेश कनवर्टर जोड़कर समस्या हल की। यह आदर्श नहीं है क्योंकि यह एक अनावश्यक जैक्सब संदेश कनवर्टर बनाता है, लेकिन यह काम करता है - मैंने कोड को एक उत्तर में जोड़ने का प्रयास किया, लेकिन यह मुझे तब तक नहीं जाने देगा जब तक मेरे पास प्रतिनिधि नहीं है। – Nathanial