2016-11-01 1 views
0

안녕하세요 저는 원거리 코드를 사용하여 멀리 떨어진 곳에서 휴식을 취하려고합니다. vertex 3.3.3에서는 defaulthttpclient (appache)와 작동하지만 비동기가 아닙니다.vertx에서 httpclient를 사용하는 중 오류가 발생했습니다.

여전히 오류가 발생합니다 : nov. 01, 2016 오전 8시 15분 8초 io.vertx.core.http.impl.HttpClientRequestImpl 그라브는 : java.net.ConnectException : 연결이 거부 됨 : 로컬 호스트/127.0.0.1 : 80

final HttpClient httpClient = vertx.createHttpClient(); 

     final HttpGet getRequest = new HttpGet(uri); 

     httpClient.request(apiMethod.getHttpMethod(), uri, resultHandler -> { 
      resultHandler.statusCode(); 
      if (resultHandler.statusCode() == 200) { 
       environment.setStatus(ApiStatus.OK); 
       apiMethod.setStatus(ApiStatus.OK); 
      } else { 
       environment.setStatus(ApiStatus.ERROR); 
       apiMethod.setStatus(ApiStatus.ERROR); 
      } 
      resultHandler.bodyHandler(buffer -> { 
       String message = ""; 
       logger.debug("Output from Server .... \n"); 
       logger.debug(buffer); 
       message = buffer.toString(); 
       apiMethod.setCallingDate(new Date()); 
       apiMethod.setCallingResult(message); 
      }); 
     }).putHeader("content-type", "application/json").end(); 

사람이 도와 드릴까요?

안부,

답변

1

당신이 호스트 및 포트에 연결되는 클라이언트를 구성 잊고있는 당신은 예외에서 읽을 수로 기본 값 localhost:80를 사용하는 것 같다.

당신은 같은 일을해야

:

/api/users?from=5&to=10 

당신이 다음보다 컴팩트 한 버전을 찾고 있다면 : uri이 같은 URL 그래서이 있어야 할 것이 아닙니다

httpClient.request(GET, "www.yourserver.com", 80, uri, res -> { 
    ... 
}); 

하는 것으로를 당신이 사용해야하는 것은 requestAbs 방법입니다 :

httpClient 
    .requestAbs(GET, "http://www.yourserver.com/api/users?from=5&to=10", res -> { 
    ... 
    }); 
+0

안녕하세요 파울로는 requestAbs를 사용하는 것 같아서 의견을 보내 주셔서 고맙습니다.하지만 지금은 "연결이 끊어졌습니다"라는 메시지가 나타납니다. 다른 매개 변수가 변경 되었습니까? – EFOE

+0

@Paulo Lopez - 미래에 이것을 감싸는 방법을 알고 있습니까? –

관련 문제