2016-03-10 21 views
6

Wysyłam żądanie XML przez HTTP za pośrednictwem Spring RestTemplate do bramy zewnętrznej i otrzymuję odpowiedź XML z powrotem.Ignorowanie przestrzeni nazw xml podczas tworzenia polecenia unmarshalling w aplikacji RestTemplate

XSD, który został podany w celu sprawdzenia poprawności odpowiedzi, ma docelowy obszar nazw, ale faktyczna odpowiedź nie zawiera prefiksu przestrzeni nazw. Mam generowane zasobów Java z wykorzystaniem XSD i ze względu na to Dostaję poniżej błędu podczas pobierania odpowiedź (podczas procesu unmarshalling)

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

Wyjątkiem jest: -

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

Czy są jakieś sposoby na pominięcie sprawdzania przestrzeni nazw od Spring ResponseEntity?

Odpowiedz

2

Jeśli wygenerowałeś swoje powiązania z wtyczką jaxb, powinna istnieć "package-info.java".

Na przykład:

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

Jeśli usunięcie nazw z adnotacją powinno działać.

Powiązane problemy