我想通过代理调用webservice(SOAP)。 假设,代理用户名:xyz和密码:xyz
网络服务网址:https://xyz.com/pqr
服务名称:uploadData
我用过
System.getProperties().put("http.proxyHost", "some host");
System.getProperties().put("http.proxyPort", "some port");
System.getProperties().put("http.proxyUser", "username");
System.getProperties().put("http.proxyPassword", "password"); // I have also tried base64 password.
但它会抛出身份验证所需的异常。
基本上我需要用一些参数调用这个web服务并从中获取响应。
谢谢..
答案 0 :(得分:0)
您必须使用像
这样的身份验证器final PasswordAuthentication AUTHENTICATOR = new PasswordAuthentication(proxyUser, proxyPassword.toCharArray());
Authenticator.setDefault(new Authenticator()
{
@Override
protected PasswordAuthentication getPasswordAuthentication()
{
if( ObjectUtil.equals(getRequestorType(), Authenticator.RequestorType.PROXY) ) {
return AUTHENTICATOR;
}
return null;
}
});