1

准备了一段代码:

我调用了一项服务,当我使用 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 的“流行”未回答的问题。

4

0 回答 0