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");
をしかし、我々はTomcatのサーバ上で設定する権限を持っていないように私はSystem.setPropertiesの(「」、「」)オプションを使用することはできません:私はラインの下に追加した場合、それは動作します。
このオブジェクトの作成中に調査しましたが、OAuth2RestTemplateでプロキシを設定する方法が見つかりませんでした。
ご協力いただければ幸いです。ありがとう
質問が不明な場合は教えてください。どんな助けでも大変感謝しています。 – aks2012