春季WebClient:SSLEngine已关闭

问题描述

我们使用的是Spring Boot 2.3.1版,也使用了WebClient

我的WebClient配置:

    private val client: WebClient

init {
    val sslCtx = SslContextBuilder
            .forClient()
            .trustManager(InsecureTrustManagerFactory.INSTANCE)
            .build()

    val httpClient = HttpClient.create().secure { it.sslContext(sslCtx) }
    val connector = ReactorClientHttpConnector(httpClient)
    client = WebClient.builder()
            .clientConnector(connector)
            .baseUrl(URL)
            .build()
}

private fun post(formData: MultiValueMap<String,String>,response: Class<out Response>,enableLog: 
Boolean = true): Response? {
    val inserts = BodyInserters.fromFormData(formData)
    return try {
        client
                .post()
                .body(inserts)
                .retrieve()
                .bodyToMono(response)
                .block()
    } catch (e: Exception) {
        if (enableLog) {
            log.error("Failed execute request: $formData",e)
        }
        throw e
    }
}

当我尝试调试我的应用程序时,我遇到了以下异常:

javax.net.ssl.SSLException:SSLEngine已关闭 在io.netty.handler.ssl.SslHandler.wrap(SslHandler.java:848)〜[netty-handler-4.1.50.Final.jar:4.1.50.Final] 禁止:reactor.core.publisher.FluxOnAssembly $ OnAssemblyException: 在以下站点发现了错误: | _检查点⇢请求POST空[DefaultWebClient]

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)