通过伪代理的SOAPConnection不会失败

时间:2011-04-08 08:54:33

标签: java soap proxy

我对这个“问题”感到生气。

我需要通过http代理进行SOAPConnection而无需身份验证。因为我的网络上没有代理进行测试,所以我决定测试配置假代理URL以查看它是如何失败的。

当我配置“dummyHost”和“8080”并且JUNit不会失败时,我感到惊讶。建立连接并且响应正常。我希望得到一些DNS或超时问题,以检查我的连接是否正在尝试使用代理。

这是我配置这些设置的代码:

/**
 * Configure the proxy settings.
 * 
 * @param connection
 *            The SOAP connection to be configured.
 */
private void configureProxySettings(SOAPConnection connection)
        throws Exception {

    if (isProxyEnabled()) {

        System.setProperty("proxySet", "true");
        if (proxyHost == null || "".equals(proxyHost)) {
            throw new Exception("No proxy host configured");
        }
        if (proxyPort == 0) {

            throw new Exception("No proxy port configured");
        }
        if (connection instanceof HttpSOAPConnection) {

            HttpSOAPConnection soapConnection = (HttpSOAPConnection) connection;
            soapConnection.setProxy(proxyHost, proxyPort);
        }
    }
}

我得到的SOAPConnection实现是:

com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection

如果我调试这个类(“post”方法)。执行请求时系统属性似乎正常:

System.getProperty("http.proxyHost"); //returns "dummyHost"
System.getProperty("http.proxyPort"); //returns "8080"
System.getProperty("proxySet");       //returns "true"

我做错了什么?如何检查我的代理设置是否有效?

0 个答案:

没有答案