OAuth2에 의해 보안되는 API를 사용해야합니다. 그 때문에 OAuth2RestTemplate을 사용하고 있습니다. 그러나 오류 아래에 무엇입니까 :이 때문에 프록시 문제에 무슨 일이 일어나고OAuth2RestTemplate의 프록시 구성
java.net.ConnectException: Connection timed out: connect
. 내가 RestTemplate에서 프록시를 설정하는 방법을 알고 :
SimpleClientHttpRequestFactory clientHttpRequestFactory = new SimpleClientHttpRequestFactory();
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("Proxy host", 8080));
clientHttpRequestFactory.setProxy (프록시); RestTemplate restTemplate = new RestTemplate (clientHttpRequestFactory);
내가 OAuth2RestTemplate 설정하려고 같은 방법 : 제대로 작동하고 포기하지 않는
@Bean
public OAuth2RestOperations restTemplate(OAuth2ClientContext oauth2ClientContext) {
OAuth2RestTemplate client = new OAuth2RestTemplate(resource(), oauth2ClientContext);
SimpleClientHttpRequestFactory clientHttpRequestFactory = new SimpleClientHttpRequestFactory();
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(PROXY_HOST, PROXY_PORT));
clientHttpRequestFactory.setProxy(proxy);
client.setRequestFactory(clientHttpRequestFactory);
return client;
}
그러나이 예외를 "연결 시간이 초과되었습니다." 이것은 첫 번째 줄인 OAuth2RestTemplate client = new OAuth2RestTemplate(resource(), oauth2ClientContext);
때문에 프록시 토큰이 필요하다는 것을 의미하는 액세스 토큰을 얻으려고하기 때문에 발생합니다. 우리가 바람둥이 서버에 설정할 수있는 권한이 없기 때문에 ("", "") 옵션을
System.setProperty("https.proxyHost", "urproxy.com");
System.setProperty("https.proxyPort", "8080");
하지만 System.setProperties의를 사용할 수 없습니다 : 나는 줄 아래에 추가하면 다음 작동합니다.
이 개체를 만드는 동안 OAuth2RestTemplate에서 프록시를 설정할 방법을 조사했지만 찾을 수 없습니다.
도움을 주시면 감사하겠습니다. 감사
질문이 명확하지 않은 경우 알려주십시오. 어떤 도움을 주셔서 감사합니다. – aks2012