Получение неверного запроса, позвонив в почту WebClient - PullRequest
0 голосов
/ 17 января 2019

Подготовил код:

Я вызываю сервис, который действительно работает, когда я тестирую его с почтальоном (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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...