could you please help me to fix this issue
I am facing issue here

Please find completed class and all imports.And kinldy help me to fix this issue.
import javax.net.ssl.SSLContext;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.web.client.RestTemplate;
import com.hp.it.psoit.asynmctlr.utill.Constants;
@Configuration
public class Config {
@Bean
public JavaMailSender javaMailSender() {
return new JavaMailSenderImpl();
}
@Bean
public RestTemplateBuilder restTemplateBuilder() {
return new RestTemplateBuilder();
}
@Bean("restTemplate")
public RestTemplate restTemplateWithTrustStoretim(RestTemplateBuilder restTemplateBuilder, SSLContext sslContext) {
return restTemplateBuilder.requestFactory(() -> {
CloseableHttpClient client =
HttpClientBuilder.create().setDefaultRequestConfig(getRequestConfig())
.setSSLContext(sslContext).build();
return new HttpComponentsClientHttpRequestFactory(client);
}).build();
}
public RequestConfig getRequestConfig() {
int connTimeout = Constants.DEFAULT_TIMEOUT;
int sktTimeout = Constants.DEFAULT_TIMEOUT;
return RequestConfig.custom().setConnectTimeout(connTimeout)
// .setConnectionRequestTimeout(100)
.setSocketTimeout(sktTimeout).build();
}
}
Add maven dependency
<dependency>
<groupId>org.apache.httpcomponents.client5</groupId>
<artifactId>httpclient5</artifactId>
</dependency>
Change import statements from
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.impl.client.HttpClients;
To
import org.apache.hc.client5.http.impl.classic.HttpClients;
import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder;
import org.apache.hc.client5.http.io.HttpClientConnectionManager;
import org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory;
Code:
SSLContext sslContext = new SSLContextBuilder().loadKeyMaterial(urlKeystore, keyStorePassword.toCharArray(),
keyStorePassword.toCharArray()).loadTrustMaterial(urlTruststore, trustStorePassword.toCharArray()).build();
SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(sslContext);
HttpClientConnectionManager connectionManager = PoolingHttpClientConnectionManagerBuilder.create()
.setSSLSocketFactory(socketFactory)
.build();
org.apache.hc.client5.http.impl.classic.CloseableHttpClient c5 = HttpClients.custom()
.setConnectionManager(connectionManager)
.evictExpiredConnections()
.build();
HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(c5);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With