我正在使用 BindingType.Browser 开发 OpenCMIS 客户端。创建一个传递 USER、PASSWORD、BROWSER_URL、BINDING_TYPE 和 REPOSITORY_ID 所需参数的会话按预期工作。会话被创建并且可以执行进一步的步骤。
现在我想让我的客户端在使用 HTTP 代理访问互联网的机器上运行。要指定要访问的代理,我设置了系统属性 http.proxyUrl 和 http.proxyPort。只要代理不需要身份验证,这也可以工作。
嗯,这就是我现在挣扎的地方。我在测试代理中激活了身份验证,并在客户端代码中添加了参数 PROXY_USER 和 PROXY_PASSWORD 来创建会话。但这似乎不起作用。我已经调试了使用的 StandardAuthenticationProvider 来验证会发生什么。HTTP-Header“Proxy-Authenticate”是由身份验证提供程序创建的,但似乎化学框架正在发送没有该标头的请求。在我的代理日志中,收到的请求不包含任何安全标头。
CONNECT my.server.org:443 HTTP/1.1
User-Agent: Java/1.8.0_111
Host: my.server.org
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Proxy-Connection: keep-alive
有什么建议么?