2016-07-04 95 views
0

私はEclipseを使用して公開Webサービスの下で消費しようとしています。 http://www.webservicex.com/globalweather.asmx?wsdljava.net.ConnectException:接続がタイムアウトしました:Eclipseで接続

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の設定と関係があると想定しています。

ご協力いただきありがとうございます。

+0

を見るべきかエンドポイントURL

をロードされている見るために、そのクラスの内容を見直し? cxf、jax-ws? – Rao

答えて

0

Eclipseはそれとは関係ありません。開発環境がEclipseであっても、コードはJVMによって実行されます。接続タイムアウトとは、クライアントがエンドポイントに接続できないことを意味します。

クライアントプロキシを自動生成して、何らかの方法でGlobalWeatherSoapProxyを取得しました。このクラスは、WSDLをロードしてエンドポイントへの参照を取得します。あるいは、urlはコードで提供することができます。あなたはどのようにWSDLからクラスを生成なかったようなもの(このフル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); 
関連する問題