2016-07-04 3 views
0

Eclipse를 사용하여 공개 웹 서비스를 사용하려고합니다. 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

어떻게 WSDL에서 클래스를 생성 않았다 ? cxf, jax-ws? – Rao

답변

0

Eclipse는 아무 관계가 없습니다. 개발 환경이 Eclipse 일지라도 코드는 JVM에 의해 실행됩니다. 연결 시간 초과는 클라이언트가 엔드 포인트와 연결할 수 없음을 의미합니다.

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); 
관련 문제