AxisProperties代理设置停止在Axis 1.4中工作

时间:2016-07-14 19:03:28

标签: java axis

使用Apache Axis 1.4客户端通过代理访问Web服务时,我遇到了问题。

起初工作但在某些时候(尚未确定间隔)代理只是停止工作而我开始得到:UnknownHostException

以下是代码:

if (proxyHost != null && !proxyHost.isEmpty()) {
        logger.warn("Using proxy server: " + proxyHost + " port " + proxyPort);
        AxisProperties.getProperties().put("proxySet", "true");
        AxisProperties.setProperty("http.proxyHost", proxyHost);
        AxisProperties.setProperty("http.proxyPort", proxyPort);
        if (proxyUser != null && !proxyUser.isEmpty()) {
            logger.warn("User proxy user: " + proxyUser);
            AxisProperties.setProperty("http.proxyUser", proxyUser);
            AxisProperties.setProperty("http.proxyPassword", proxyPassword);
        }
    } //then make call

    Stub binding = (Stub)                       new ServiceLocator().getServiceSoap(new URL(myUrl));

我错过了一个重点吗?

1 个答案:

答案 0 :(得分:0)

我发现了这个问题。它与调用的顺序有关。我的应用程序调用多个Web服务...一些需要代理,一些不需要。在服务器重新启动后,如果首先调用非代理服务,则AxisProperties使用默认值,但不包括代理。如果首先调用该服务需要代理,那么它工作正常。所以我将AxisProperties块移到UP上方,以便在进行任何调用之前完成。我还设置了#http; nonProxyHosts'包括不需要代理的服务。

我知道这种技术正在变老,寻找答案变得越来越难。我希望这可以帮助那些暂时停留在1.4的人。