java.net.ConnectException:连接超时:在Eclipse中连接

时间:2016-07-04 02:41:39

标签: java eclipse web-services soapui

我正在尝试使用Eclipse使用以下公共Web服务。 http://www.webservicex.com/globalweather.asmx?wsdl

当我在java客户端执行时,它会给出错误;

java.net.ConnectException: Connection timed out: connect

以下是简单的客户端程序;

public class ClientTest1 
{
    public static void main(String[] args) 
    {
        GlobalWeatherSoapProxy obj1 = new GlobalWeatherSoapProxy();
        try
        {
            System.out.println(obj1.getCitiesByCountry("Japan"));
        }
        catch(Exception e1)
        {
            System.out.println(+e1.getMessage());
        }
    }
}

然而奇怪的是,当通过SOAP UI使用时,这可以正常工作。因此我认为这与Eclipse配置有关。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

Eclipse与它无关。您的代码由JVM执行,即使您的开发环境是Eclipse。连接超时意味着您的客户端无法与端点连接。

您已通过某种方式自动生成客户端代理GlobalWeatherSoapProxy。该类将通过加载WSDL获取对端点的引用。或者,url可以通过代码提供。查看该类的内容以查看端点URL的加载方式

您应该看到类似的内容(查看此完整example

URL url = new URL("http://localhost:9999/ws/hello?wsdl");
QName qname = new QName("http://ws.mkyong.com/", "HelloWorldImplService");
Service service = Service.create(url, qname);
HelloWorld hello = service.getPort(HelloWorld.class);