2017-04-11 80 views
0

我打一個服務找到一個人的細節,響應是類似下面的XML格式:org.springframework.web.client.RestClientException:無法提取響應:沒有合適的HttpMessageConverter發現

<ArrayOfPersonResults xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> 
<PersonResults> 
<Name>John Doe</Name> 
<State>NY</State> 
<Zip>12345</Zip> 
</PersonResults> 
</ArrayOfPersonResults> 

我正在使用Spring RestTempate和映射到下面的POJO響應,

public class Person { 

    private String zip; 

    private String name; 

    private String state; 


    public String getZip() { 
     return zip; 
    } 
@JsonProperty("Zip") 
    public void setZip(String zip) { 
     this.zip = zip; 
    } 

    public String getName() { 
     return name; 
    } 
@JsonProperty("Name") 
    public void setName(String name) { 
     this.name = name; 
    } 

    public String getState() { 
     return state; 
    } 

@JsonProperty("State") 
    public void setState(String state) { 
     this.state = state; 
    } 

} 

我用剩下的模板調用服務,

public Person[] getPersosn(String personId) { 
     try { 
      return getRestTemplate().getForObject(personServiceURL, Person[].class, personId); 
     } catch (Exception e) { 
      return null; 
     } 
    } 

但我一直收到異常, org.springframework.web.client.RestClientException:無法提取響應:找不到適合的響應類型HttpMessageConverter [class [Lcom.cdk.dataloader.model.Person;]和內容類型[application/json; charset = utf-8]

我不知道爲什麼我得到這個,任何幫助表示讚賞。

+0

您的內容是XML還是JSON? – holmis83

+0

內容爲xml格式。我通過在我的pom.xml中添加jackson-databind依賴項來解決此問題。 – Raskill

回答

0

您的內容類型爲application/json;charset=utf-8,但您得到了XML。將內容轉換爲JSON或將內容類型更改爲其中之一text/xml, application/xml

+0

我已經設置了內容類型,如 httpHeaders.setAccept(Arrays.asList(MediaType.APPLICATION_JSON)); 但我仍然得到異常, org.springframework.web.client.RestClientException:無法提取響應:沒有找到合適的HttpMessageConverter響應類型[class [Lcom.cdk.dataloader.model.State;]和內容類型[應用/ JSON;字符集= UTF-16] – Raskill

相關問題