代理背后的DocumentDB Java SDK

时间:2015-05-26 13:50:50

标签: java proxy azure-cosmosdb

我试图从todo tutorial创建一个简单的Web应用程序。 由于我在公司代理后面,我使用了以下常见的Java系统属性:

 -Dhttp.proxyHost=myproxy Dhttp.proxyPort=3128
 -Dhttps.proxyHost=myproxy -Dhttps.proxyPort=3128

我也尝试以下参数:

 -Djava.net.useSystemProxies=true

我仍有客户端例外

java.lang.IllegalStateException: Http client execution failed.
    at com.microsoft.azure.documentdb.GatewayProxy.performPostRequest(GatewayProxy.java:350)
    at com.microsoft.azure.documentdb.GatewayProxy.doSQLQuery(GatewayProxy.java:135)
    at com.microsoft.azure.documentdb.DocumentClient.doQuery(DocumentClient.java:2013)
(...)
Caused by: java.net.ConnectException: Connection timed out: connect
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:579)
    at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:625)

我想知道azure documentdb sdk是否启用此代理设置?也许还有另一种方法可以为这个SDK设置https代理?

1 个答案:

答案 0 :(得分:0)

合并pull request后,如果要使用代理,则需要获得大于1.0.1的发布版本。

由于此时版本不可用,您可以构建github源并使用sdk快照版本。

然后您只需要通过配置设置代理:

-Dhttp.proxyHost=myproxy Dhttp.proxyPort=3128
-Dhttps.proxyHost=myproxy -Dhttps.proxyPort=3128