Reputation: 1668
I need help for WebFlux client implementation for the latest version spring-webflux 5.1.3.RELEASE.
public RestClient(String gatewayUrl, String token, String username, String password, SslContext sslContext) {
this.token = token;
WebClient.Builder builder = WebClient.builder().baseUrl(gatewayUrl);
if (sslContext != null) {
ClientHttpConnector httpConnector = new ReactorClientHttpConnector(opt -> opt.sslContext(sslContext));
builder.clientConnector(httpConnector);
}
if (username != null && password != null) {
builder.filter(basicAuthentication(username, password));
}
client = builder.build();
}
public Mono<Response> execute(Transaction transaction) {
Mono<Transaction> transactionMono = Mono.just(transaction);
return client.post().uri("/v1/{token}", token)
.header(HttpHeaders.USER_AGENT, "client")
.accept(MediaType.APPLICATION_XML)
.contentType(MediaType.APPLICATION_XML)
.body(transactionMono, Transaction.class)
.retrieve()
.bodyToMono(Response.class);
}
I get error The constructor ReactorClientHttpConnector((<no type> opt) -> {}) is undefined
at this line ClientHttpConnector httpConnector = new ReactorClientHttpConnector(opt -> opt.sslContext(sslContext));
Do you know how I can fix this issue?
Upvotes: 2
Views: 4219
Reputation: 28269
From the doc, you need to provide a pre-defined reactor.netty.http.client.HttpClient
to construct the ReactorClientHttpConnector
.
For example:
HttpClient httpClient = HttpClient.create().secure(sslContextSpec -> sslContextSpec.sslContext(sslContext));
ClientHttpConnector httpConnector = new ReactorClientHttpConnector(httpClient);
Upvotes: 3