2015-09-23 67 views
-1

我正在進行API調用,並且我正在嘗試通過sts assume-role API來做到這一點。AWS JAVA SDK CLI:java.net.SocketTimeoutException

我的Java程序是:

STSAssumeRoleSessionCredentialsProvider = new STSAssumeRoleSessionCredentialsProvider(credentials,"arn:aws:iam::093937234853:role/CapOne-CrossAccount-CustomRole-ReadOnly","123"); 
ec2Client.setRegion(getRegion()); 
this.setDescribeInstancesResult(ec2Client.describeInstances()); 

憑證上面我變我通過我的祕密ID和密鑰。 我得到的錯誤是:

Sep 23, 2015 3:25:48 PM com.amazonaws.http.AmazonHttpClient executeHelper 
INFO: Unable to execute HTTP request: connect timed out 
java.net.SocketTimeoutException: connect timed out 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 

,直到我用的是STSAssume作用,這是工作的罰款。但由於需要我必須使用角色。所以我相信,我的憑證變量正在正確設置。

回答

-1

我沒有設置我的代理參數正確,該設置以後,它開始工作:

ClientConfiguration clientConfiguration = new ClientConfiguration(); 
    clientConfiguration.setProxyHost("proxy.kdc.capitalone.com"); 
    clientConfiguration.setProxyPort(8099); 
    clientConfiguration.setProxyUsername("EID"); 
    clientConfiguration.setProxyPassword("PWD"); 
    clientConfiguration.setPreemptiveBasicProxyAuth(false); 
+0

因此,換句話說,你沒有發佈完整的代碼來重現問題。 – EJP

+0

不,如果你看到我的代碼的第一行,我沒有通過那裏的客戶端配置。但是,我同意我應該提供更多信息。 –