代理后的 DocumentDB Java SDK

DocumentDB Java SDK behind a proxy

我正在尝试从 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 代理?

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

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

那么你只需要通过配置来设置你的代理:

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