首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过代理与身份验证连接后的SocketTimeoutException

通过代理与身份验证连接后的SocketTimeoutException
EN

Stack Overflow用户
提问于 2016-10-19 13:19:29
回答 1查看 170关注 0票数 0

我编写了代码来与一个非公开的when服务进行通信,甚至在通过代理进行连接时,一切似乎都正常。此问题是在更改为授权代理后开始的。我收到以下警告:

代码语言:javascript
运行
复制
WARN  [HttpMethodDirector] Required credentials not available for BASIC <any realm>@destination.url.com:80
WARN  [HttpMethodDirector] Preemptive authentication requested but no default credentials available

之后抛出异常: java.net.SocketTimeoutException: Read

"destination.url.com“是目的地地址,所以我想我已经通过代理了。

在堆栈溢出的某个地方,我看到这个警告通常在传入用户名/密码时抛出,而不需要这样做。我不知道这是不是真的。Using HttpProxy to connect to a host with preemtive authentication

这里也有一些人指出了同样的问题,但是可以通过一个未经身份验证的代理运行到一个经过身份验证的远程存储库。我的情况正好相反。目标不需要授权(授权数据被放入SOAP消息的主体中)。https://www.jfrog.com/jira/browse/RTFACT-4147

有什么办法帮助我的处境吗?以下是我的一些代码:

代码语言:javascript
运行
复制
MyStub stub = new MyStub();
Options Options = stub._getServiceClient().getOptions();

Options.setProperty(org.apache.axis2.Constants.Configuration.CHARACTER_SET_ENCODING,"utf-8");
Options.setProperty(org.apache.axis2.Constants.Configuration.ENABLE_SWA,org.apache.axis2.Constants.VALUE_FALSE);

HttpTransportProperties.ProxyProperties proxyProperties = new HttpTransportProperties.ProxyProperties();
proxyProperties.setProxyName("proxyAddress");
proxyProperties.setProxyPort("proxyPort");
proxyProperties.setUserName("proxyUsername");
proxyProperties.setPassWord("proxyPassword");

Options.setProperty(org.apache.axis2.transport.http.HTTPConstants.PROXY,proxyProperties);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-19 14:03:43

  1. 碰巧,这个警告与异常无关。引发异常是因为webservice不支持分块消息。简单地添加它可以解决以下问题:

( options.setProperty(org.apache.axis2.transport.http.HTTPConstants.CHUNKED,Boolean.FALSE);

  1. 警告本身是奇怪的,但是有一种方法可以删除它,只需添加任何登录和密码。目的地不需要任何东西,但是警告消失了。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40132582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档