Web服务客户端 - 由于超时导致构建失败(代理问题)

时间:2015-05-22 18:41:54

标签: java web-services soap https proxy

我在Java 1.6中有一个扩展javax.xml.ws.Service的Web服务。 WSDL URL位于HTTPS端点,我在公司代理(我相信NTLM)后面。我有代理主机,端口,用户名和密码。我已经验证过,如果我在curl文件中指定了代理,我可以使用.curlrc访问WSDL。当调用构造函数时,它最终会因错误而超时:

  

javax.xml.ws.WebServiceException:无法在https://www.blah.com/myservice.asmx?wsdl访问WSDL。它失败了:           连接超时。

失败的呼叫是:

public MyService_Service() {
    // this call to super is the one that times out
    super(__getWsdlLocation(), MYSERVICE_QNAME);
}

我尝试了以下方法,但没有一种解决方案有效。

如何从代理服务器后面调用Web服务?

1 个答案:

答案 0 :(得分:0)

我能够通过在服务器实例化之前添加以下代码来实现此目的:

System.setProperty("proxyHost", "myproxy.com");
System.setProperty("proxyPort", "8080");

奇怪的是,当我通过设置VM选项-DproxyHost-DproxyPort对其进行测试时,这是有效的,然后搜索了如何以编程方式设置它。