2017-04-11 1 views
0

je frappe un service pour trouver les coordonnées d'une personne, la réponse est au format xml comme ce qui suit:org.springframework.web.client.RestClientException: Impossible d'extraire la réponse: pas approprié HttpMessageConverter trouvé

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

Je me sers du printemps RestTempate et la cartographie de la réponse aux POJO suivantes,

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; 
    } 

} 

j'appeler le service en utilisant le modèle de repos,

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

Mais je continue à obtenir l'exception, org.springframework.web.client.RestClientException: Impossible d'extraire la réponse: aucun HttpMessageConverter trouvé pour le type de réponse [class [Lcom.cdk.dataloader.model.Person;] et le type de contenu [application/json; charset = utf-8]

Je ne sais pas pourquoi je reçois cela, toute aide appréciée.

+0

Votre contenu est-il XML ou JSON? – holmis83

+0

le contenu est au format xml. J'ai résolu ce problème en ajoutant la dépendance jackson-databind dans mon pom.xml – Raskill

Répondre

0

Votre type de contenu est application/json;charset=utf-8 mais vous avez XML. Changer le contenu en JSON ou changer le type de contenu pour être l'un des text/xml, application/xml

+0

J'ai défini le type de contenu comme suit, httpHeaders.setAccept (Arrays.asList (MediaType.APPLICATION_JSON)); Mais je reçois toujours l'exception, org.springframework.web.client.RestClientException: Impossible d'extraire la réponse: aucun HttpMessageConverter trouvé trouvé pour le type de réponse [class [Lcom.cdk.dataloader.model.State;] et le type de contenu [ application/json; jeu de caractères = utf-16] – Raskill