Я создал проект весенней загрузки, в котором я вызываю службу отдыха, используя restTemplate
. Однако я получаю java.net.ConnectException: Connection timed out
.
- Я пытался увеличить время ожидания, но не сработало, поэтому я думаю, что это не проблема.
- Я попытался добавить
httpclient
зависимость в pom.xml
, но снова не сработал. - Я также попытался использовать
postForObject
и getForEntity
вместо функции обмена, чтобыпроверить другие вызовы из этого проекта, но я получаю тот же ответ. - Возможно, проблема связана с версией
spring-boot 2.2.0
, потому что работает тот же вызов из другого проекта в версии 2.1.8
. Тем не менее, я хочу перейти на более новую версию в этом проекте. В поиске в Google я не нашел упоминаний о различиях версий, чтобы позвонить restTemplate
.
My pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>test</groupId>
<artifactId>test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>test</name>
<description>test</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Мой RestController
import org.springframework.http.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
@RestController
public class TestMe {
@GetMapping(path="/testMe", produces = MediaType.APPLICATION_JSON_VALUE)
public String testMe(){
RestTemplate restTemplate = new RestTemplate();
String fooResourceUrl = "https:....";
HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", "Bearer ****");
HttpEntity entity = new HttpEntity(headers);
ResponseEntity<String> response = restTemplate.exchange(fooResourceUrl, HttpMethod.GET, entity, String.class);
return response.toString();
}
}
И StackTrace
2019-10-22 10: 26: 28,997 ОШИБКА [http-nio-3268-exec-1]org.apache.juli.logging.DirectJDKLog: Servlet.service () для сервлета [dispatcherServlet] в контексте с путем [/ ...] вызвала исключение [Ошибка обработки запроса;вложенным исключением является org.springframework.web.client.ResourceAccessException: ошибка ввода-вывода при запросе GET для "https://eacrm - eadev1.my.salesforce.com/services/data/v46.0/query/ ": Тайм-аут соединения: соединение;Вложенное исключение - java.net.ConnectException: истекло время ожидания соединения: соединение] с основной причиной java.net.ConnectException: истекло время ожидания соединения: соединение с java.net.DualStackPlainSocketImpl.connect0 (собственный метод) на java.net.DualStackPlainSocketImpl.socketConnect (DualStackPlainSocketImpl.java:79) в java.net.AbstractPlainSocketImpl.doConnect (AbstractPlainSocketImpl.java:350) в java.net.AbstractPlainSocketImpl.connectToAddress (AbstractPlainSocketImpl.java:l.ImpIcketSocketSocketSocketSocketSocketPlaySoft). ) в java.net.PlainSocketImpl.connect (PlainSocketImpl.java:172) в java.net.SocksSocketImpl.connect (SocksSocketImpl.java:392) в java.net.Socket.connect (Socket.java:589) в sun.security.ssl.SSLSocketImpl.connect (SSLSocketImpl.java:666) в sun.security.ssl.BaseSSLSocketImpl.connect (BaseSSLSocketImpl.java:173) в sun.net.NetworkClient.doConnect (NetworkClient.java:180) в sun.net. www.http.HttpClient.openServer (HttpClient.java:463) на sun.net.www.http.HttpClient.openServer (HttpClient.java:558) на sun.net.www.protocol.https.HttpsClient. (HttpsClient.java:264) на sun.net.www.protocol.https.HttpsClient.New (HttpsClient.java:367) на sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient (AbstractDelegateHttpsURLConnection.java:191) на sun.net.www.protocol.http.HttpURLConnection.plainConnect0 (Http. protocol.http.HttpURLConnection.plainConnect (HttpURLConnection.java:1050) в sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect (AbstractDelegateHttpsURLConnection.java:177) в sun.net.ttp.hppro (HttpsURLConnectionImpl.java:162) при org.springframework.http.client.SimpleBufferingClientHttpRequest.executeInternal (SimpleBufferingClientHttpRequest.java:76) при org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal (AbstractBufferingClientHttpRequest.java:48) в org.springframework.http.client.AbstractClientHttpRequest.execute (AbstractClientHttpRequest.java:53) в org.springframework.web.client.RestTemplate.doExecute (RestTemplate.java:742) в org.springframework.web.client.RestTemplate.execute (RestTemp77g) или ort. .springframework.web.client.RestTemplate.exchange (RestTemplate.java:586) в test.api.TestMe.testMe (TestMe.java:20) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.remphodN в sun.remphod.invoke (NativeMethodAccessorImpl.java:62)по адресу: 190) по адресу org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest (InvocableHandlerMethod.java:138) по адресу org.springframework.web.servlet.mvc.method.annotation.Hervleorg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod (RequestMappingHandlerAdapter.java:888) в org.springframework.web.servlet.mvc.method.anternalap. org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle (AbstractHandlerMethodAdapter.java:87) в org.springframework.web.servlet.DispatcherServlet.doDispatch (DispatcherServlet.jpg)40) в org.springframework.web.servlet.DispatcherServlet.doService (DispatcherServlet.java:943) в org.springframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:1006) forwork.werafrabДоменhttp.HttpServlet.service (HttpServlet.java:741) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:231) в org.apache.catalina.core.ApplicationFilterChain.hain. в org.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:53) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193) в org.apache.hain.Calina.doFilter (ApplicationFilterChain.java:166) в org.springframework.web.filter.RequestContextFilter.doFilterInternal (RequestContextFilter.java:100) в org.springframework.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:119) в org.apache.catalina.core.ApplicationFilterChain.Fain.Finter.hain.jin.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) в org.springframework.web.filter.FormContentFilter.doFilterInternal (FormContentFilter.java:93) в org.springfrailterFerter.java: 119) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:16.frag в илиfilter.CharacterEncodingFilter. (ApplicationFilterChain.java:193) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) в org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValache.ja). catalina.core.StandardContextValve.invoke (StandardContextValve.java:96) в org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:526) в org.apache.catalina.core.StandardHve139) в org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:92) в org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:74) в org.apache.catoyinaconnector.Service (CoyoteAdapter.java:343)в org.apache.coyote.http11.Http11Processor.service (Http11Processor.java:408) в org.apache.coyote.AbstractProcessorLight.process (AbstractProcessorLight.java:66) в org.apache.coyote.AbstractProtocol $ ConnectionHand.java: 861) в org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1579) в org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) вjava.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624) в org.apache.tomcat. выполнить (TaskThread.java:61) на java.lang.Thread.run (Thread.java:748)
Заранее спасибо