2016-03-10 14 views
6

Tôi đang gửi XML qua yêu cầu HTTP thông qua Spring RestTemplate đến một cổng ngoài và tôi nhận được phản hồi XML.Bỏ qua không gian tên xml trong quá trình unmarshalling trong RestTemplate

XSD được cấp để xác thực phản hồi có vùng tên đích nhưng phản hồi thực tế không chứa tiền tố không gian tên. Tôi đã tạo ra nguồn Java sử dụng XSD và do này tôi nhận được dưới đây thông báo lỗi khi nhận được phản ứng từ (trong quá trình unmarshalling),

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

Trường hợp ngoại lệ là: -

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

Có cách nào để bỏ qua kiểm tra không gian tên từ Spring ResponseEntity không?

Trả lời

2

Nếu bạn đã tạo các liên kết của mình với plugin jaxb, phải có 'package-info.java'.

Ví dụ:

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

Nếu bạn loại bỏ các không gian tên từ chú thích nó nên làm việc.

Các vấn đề liên quan