2016-03-10 7 views
6

में unmarshalling के दौरान xml नेमस्पेस को अनदेखा करना मैं बाहरी गेटवे पर स्प्रिंग रेस्ट टेम्पलेट के माध्यम से HTTP अनुरोध पर XML भेज रहा हूं और मुझे एक XML प्रतिक्रिया वापस मिल रही है।RestTemplate

प्रतिक्रिया को सत्यापित करने के लिए दिया गया एक्सएसडी एक लक्ष्य नेमस्पेस है लेकिन वास्तविक प्रतिक्रिया में नामस्थान उपसर्ग नहीं है। मैं, जावा इस मैं त्रुटि नीचे हो रही है जब (unmarshalling प्रक्रिया के दौरान) से प्रतिक्रिया हो रही है की वजह से XSD और का उपयोग कर संसाधन पैदा किया

ResponseEntity<Response> responseEntity = restTemplate.exchange(endpointURL, HttpMethod.POST, requestEntity, 
       Response.class); 

अपवाद नहीं है: -

Exception in thread "main" javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"Response"). Expected elements are <{http://securetransport.dw/rcservice/xml}Response> 

क्या स्प्रिंग रेस्पॉन्स एंटीटी से नेमस्पेस चेक छोड़ने के कोई तरीके हैं?

उत्तर

2

यदि आपने जैक्सब-प्लगइन के साथ अपनी बाइंडिंग जेनरेट की है तो वहां 'package-info.java' होना चाहिए।

उदाहरण के लिए:

@javax.xml.bind.annotation.XmlSchema(namespace = "someurl", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)

यह काम करना चाहिए आप टिप्पणी से नाम स्थान को निकाल देते हैं।

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