如何调用SOAP Web服务以及如何设置代理设置?

时间:2014-02-05 10:49:20

标签: java web-services soap proxy

我想通过代理调用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服务并从中获取响应。

谢谢..

1 个答案:

答案 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;
                    }
                });