title: Rest Template:Could not extract response: no suitable HttpMessageConverter found for response type when we got xml response, not bind to JAVA object
body: <p>In Spring app, I am calling third party services, I am sending XML request and getting XML response to me, I got the XML response properly when not able to parse that response into Java Object, I am getting the following error:</p>
  
  <pre><code>org.springframework.web.client.RestClientException: Could not extract response: no suitable HttpMessageConverter found for response type [class com.drf.fundingapi.model.response.pojo.Fmxresponse] and content type [text/html;charset=ISO-8859-1]
      at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:109) ~[spring-web-4.3.4.RELEASE.jar:4.3.4.RELEASE]
      at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:884) ~[spring-web-4.3.4.RELEASE.jar:4.3.4.RELEASE]
      at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:868) ~[spring-web-4.3.4.RELEASE.jar:4.3.4.RELEASE]
      at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:622) ~[spring-web-4.3.4.RELEASE.jar:4.3.4.RELEASE]
      at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:580) ~[spring-web-4.3.4.RELEASE.jar:4.3.4.RELEASE]
      at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:498) ~[spring-web-4.3.4.RELEASE.jar:4.3.4.RELEASE]
      at com.drf.fundingapi.apiclient.RestTemplateBase.performRequest(RestTemplateBase.java:17) ~[classes/:na]
      at com.drf.fundingapi.apiclient.ApiClient.performPost(ApiClient.java:64) ~[classes/:na]
      at com.drf.fundingapi.service.FundingService.getAccountBalanceRequest(FundingService.java:255) ~[classes/:na]
      at com.drf.fundingapi.controller.FundingController.getGeneralOperationBalance(FundingController.java:100) ~[classes/:na]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_101]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_101]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_101]
      at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_101]
      at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:220) ~[spring-web-4.3.4.RELEASE.jar:4.3.4.RELEASE]
  </code></pre>
  
  <p>I am making xml request as follows, </p>
  
  <pre><code>Fmxresponse fmxresponse  = apiClient.performPost(url, MediaType.APPLICATION_XML_VALUE, requestData, new HashMap&lt;String, String&gt;(), Fmxresponse.class);
  </code></pre>
  
  <p>Fmxresponse object as follows, </p>
  
  <pre><code>@XmlAccessorType(XmlAccessType.FIELD)
  @XmlRootElement(name = "fmxresponse")
  public class Fmxresponse implements Serializable {
      private static final long serialVersionUID = -4050582129050191456L;
      @XmlElement(name = "response")
      private Response response;
      public Response getResponse() {
          return response;
      }
      public void setResponse(Response response) {
          this.response = response;
      }
      @Override
      public String toString() {
          return "ClassPojo [response = " + response + "]";
      }
  }
  </code></pre>
  
  <p>In App.Config</p>
  
  <pre><code>   @Bean
          public RestTemplate getRestTemplate(){
              RestTemplate restTemplate = new RestTemplate();
  </code></pre>
  
  <p>Following XML response we receive,</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;fmxresponse&gt;
      &lt;response&gt;
          &lt;error&gt;
              &lt;code&gt;0&lt;/code&gt;
              &lt;mesg&gt;&lt;/mesg&gt;
          &lt;/error&gt;
          &lt;category&gt;generaloperation&lt;/category&gt;
          &lt;function&gt;balance&lt;/function&gt;
          &lt;result&gt;
              &lt;balance&gt;
                  &lt;type&gt;current&lt;/type&gt;
                  &lt;amount&gt;50,000.00&lt;/amount&gt;
              &lt;/balance&gt;
              &lt;balance&gt;
                  &lt;type&gt;available&lt;/type&gt;
                  &lt;amount&gt;50,000.00&lt;/amount&gt;
              &lt;/balance&gt;
          &lt;/result&gt;
      &lt;/response&gt;
  &lt;/fmxresponse&gt;
  </code></pre>
  
  <p>Can any one have any idea, what's going wrong here?</p>