已准备好代码:
我调用了一项服务,当我使用Post Man(那里的ContantType =“ application / xml”。POST)对其进行测试时,该服务才真正起作用。
但是:
-
val webClient = WebClient.builder()
.baseUrl("https://mydomain/web/services/validation")
.defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_XML_VALUE)
.build();
final WebClient.RequestBodyUriSpec requestBodyUriSpec = webClient.post();
MyResponseData myResponseData = requestBodyUriSpec
.header(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_XML_VALUE)
.accept(MediaType.APPLICATION_XML)
.acceptCharset(Charset.forName("UTF-8"))
.retrieve()
.bodyToMono(MyResponseData.class)
.block();
-
结果我总是得到
Exception in thread "main" org.springframework.web.reactive.function.client.WebClientResponseException$BadRequest: 400 Bad Request
在日志中,永远不会获得myResponseData
///我同时使用了jaxb和Jackson注释,只是为了表明我也尝试过。
@XmlAccessorType(XmlAccessType.PROPERTY)
@XmlRootElement(name = "MyResult")
@JacksonXmlRootElement(localName = "MyResult")
@AllArgsConstructor // TODO:
@Data
@Builder
public class MyResponseData {
public MyResponseData() {}
@XmlElement(name = "Members")
@JacksonXmlProperty(localName = "Members")
private List<Member> memberData;
}
有什么主意吗?
MyResponseData映射到xml。 我仍然很难在日志中看到响应。这是另一个问题。
响应XML类似于:
<MyResult>
<Members>...</Members>
</MyResult>
不知道,怎么了。看来这是SO上“受欢迎”的未解决问题。