Q:

ConnectionExceprion при получении маркера доступа в есиа отправляя post запрос

Привет. Помогите пожалуйста с получением маркера доступа к данным есиа. Авторизационный код получил. Нужно сделать post запрос на тестовую среду для получения токеда доступа. Вот мой код:
public void getNewToken(String code, String state, String scope, Token token, boolean byRefresh)
        throws OAuthSystemException, OAuthProblemException, JsonException {
    if (state.equals(this.state.getStateAuthorize())) {
        String timestamp = timestampUtil.generateTimestamp();
        String clientSecret = certificateUtil.getUrlSafeSign(
                scope + timestamp +
                        rpguConfig.getClientID() + this.state.generateStateToken()
        );
        GrantType grantType;
        if (byRefresh) {
            grantType = GrantType.REFRESH_TOKEN;
        } else {
            grantType = GrantType.AUTHORIZATION_CODE;
        }
        OAuthClientRequest requestToEsia = OAuthClientRequest
                .tokenLocation(esiaConfig.getEsiaTokenPoint())
                .setClientId(rpguConfig.getClientID())
                .setRedirectURI(rpguConfig.getRedirectUrl())
                .setScope(scope)
                .setCode(code)
                .setGrantType(grantType)
                .setClientSecret(clientSecret)
                .setParameter("state", this.state.getStateToken())
                .setParameter("token_type", rpguConfig.getTokenType())
                .setParameter("timestamp", timestamp)
                .setParameter("access_type", rpguConfig.getAccessType())
                .buildBodyMessage();

        OAuthClient oAuthClient = new OAuthClient(new URLConnectionClient());

        //OAuthAccessTokenResponse response = oAuthClient.accessToken(requestToEsia);

        OAuthJSONAccessTokenResponse oauthResponse = oAuthClient.accessToken
                (requestToEsia, OAuth.HttpMethod.POST, OAuthJSONAccessTokenResponse.class);

        if (!inspectorToken.checkToken(oauthResponse.getAccessToken())) {
            parserTokenData.parseTokenData(oauthResponse, token); //парсим данные токена
        }
    }
}

Но при выполнении метода по получению токена - oAuthClient.accessToken выбрасывает ошибку такую:
 org.apache.oltu.oauth2.common.exception.OAuthSystemException: java.net.ConnectException: Connection timed out: connect
at org.apache.oltu.oauth2.client.URLConnectionClient.execute(URLConnectionClient.java:108)
at org.apache.oltu.oauth2.client.OAuthClient.accessToken(OAuthClient.java:65)
at org.apache.oltu.oauth2.client.OAuthClient.accessToken(OAuthClient.java:55)
at org.apache.oltu.oauth2.client.OAuthClient.accessToken(OAuthClient.java:71)
at controller.server.esia.AuthorizationServer.getNewToken(AuthorizationServer.java:140)
at service.token.TokenService.getNewTokenByScope(TokenService.java:48)
at web.controller.EsiaController.getAccessCode(EsiaController.java:78)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:220)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:116)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748) ....

Если пройти по трейсу и посмотреть вглубь всех вызывающих методов то ошибка вываливается при конекте(получение стрима) объекта HttpСlient. В документации сказано что нужно отправлять запросы на: https://esia-portal1.test.gosuslugi.ru/aas/oauth2/te
В чем может быть ошибка? Почему к нему нет доступа?

A:

Эта ошибка выбрасывается в нескольких основных случаях: 
1) нет доступа к данному ресурсу с машины на которой запущено приложение
2) (похоже на первое) если машина имеет доступ к ресурсу но работает через прокси то необходимо в настройках tomcat jvm добавить эти проски примерно выглядит так -Djava.net.useSystemProxies=true -Dhttp.proxyHost=proxy -Dhttp.proxyPort=22 -Dhttps.proxyHost=proxy -Dhttps.proxyPort=33 -Dfile.encoding=UTF8 -Dhttp.nonProxyHosts="192.168.*"

