2016-09-23 5 views
0

Ich bin neu in Frühling Ruhe, ich habe versucht, xml von Webservice zu holen, aber es ist InvalidMediaTypeException nach der Ausführung Code unten zu werfen:Frühling RestTemplate wirft InvalidMediaTypeException

restTemplate.getForObject("http://www.dictionaryapi.com/api/v1/references/learners/xml/{word}?key={key}",String.class,uriVariables); 

Die WebService liefern XML-Dokument, und ich dachte, Erstens, dass es das Problem sein könnte, aber ein anderer WebService (diese URL enthält nicht 'xml' als Pfad) funktioniert großartig.

Stacktrace:

Exception in thread "main" org.springframework.http.InvalidMediaTypeException: Invalid mime type "xml": does not contain '/' 
at org.springframework.http.MediaType.parseMediaType(MediaType.java:385) 
at org.springframework.http.HttpHeaders.getContentType(HttpHeaders.java:722) 
at org.springframework.web.client.HttpMessageConverterExtractor.getContentType(HttpMessageConverterExtractor.java:114) 
at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:85) 
at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:835) 
at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:819) 
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:599) 
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:557) 
at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:384) 

So wie kann ich tauschen Daten mit WebServices, das Wort "xml" in ihrem URL-Pfad.

+0

Ich denke, aber ich könnte falsch liegen, dass der Stapel, den Sie erhalten, nicht durch die "xml" in der URI verursacht wird, können wir die "webService" -Methode sehen? –

+0

plötzlich ist es ein WebService von Dritten, also, wenn ich eine Anfrage auf http://www.dictionaryapi.com/api/v1/references/learners/xml/apple?key=4d0a2da0-791e-4616-986f-2b26da530f04 mache, Ich erhalte dieses Ergebnis, zum Beispiel ist die Anfrage auf "http://www.thomas-bayer.com/sqlrest/CUSTOMER/" gültig. –

+0

XML in URL-Parameter möglicherweise nicht das Problem hier. Es sollte ein Problem in Service oder Daten geben, die Sie in Uri-Variablen übergeben – Nimesh

Antwort

1

Das Problem hier ist, dass Service die Antwort auf Ihre Abfrage mit einem vermasselten Content-Type, speziell xml zurückgibt. Sie müssen Spring so konfigurieren, dass dies gehandhabt wird, da normale Personen (und Dienste) stattdessen application/xml verwenden. Check out this Antwort für benutzerdefinierte MediaType Einstellungen.

Verwandte Themen