我正在尝试使用带有Spring Boot的RestTemplate从Web服务中使用xml ...当我从浏览器调用该服务时,响应为:
<ns0:IsMember>
<inputGroupName>someGroup</inputGroupName>
<inputUserName>someUserName</inputUserName>
<member>true</member>
</ns0:IsMember>
我收到错误:
无法提取响应:没有为响应类型[class gov.sandia.ode.domain.MetagroupInfo]和内容类型[application / xml]找到合适的HttpMessageConverter。
我认为是因为我的JavaObject没有正确映射到返回值...这是我的java对象
public class MetagroupInfo {
String inputGroupName;
String inputUserName;
Boolean member;
//getters and setters
}
我的RestTemplate调用如下:
MetagroupInfo response = restTemplate.getForObject(metagroupUrl, MetagroupInfo.class);
任何想法如何解决这个问题?我在我的pom.xml中包含了spring-boot-starter-web,提前感谢
答案 0 :(得分:1)
默认情况下,在Eclipse中预先启用了将java对象转换为xml或从xml转换为{x}}。 (这是Jaxb2RootElementHttpMessageConverter的实现。)
在您的问题中,Spring无法确定哪个适合的转换器用于实体MetagroupInfo用于内容类型application / xml。 使用@XMLType或@XMLRootElement 注释您的实体,您的问题将得到解决。