Потребление службы отдыха get метод не работает с клиентом Джерси - PullRequest
0 голосов
/ 25 октября 2019
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;

public class TestingHttpGetV1 {

    public static void main(String[] args) {
        Client client = Client.create();
        String getUrl = "http://example.com:8080/api/v1/devices";
        WebResource webResource = client.resource(getUrl);
        webResource.setProperty("Authorization", "Bearer dbc38d421ad74141bc670f454fsgher64ger6344d1a9921f148060dc1e9");
        webResource.setProperty("Accept","application/json");
        ClientResponse response = webResource.get(ClientResponse.class);
        if(response.getStatus()!=200){
            throw new RuntimeException("HTTP Error: "+ response.getStatus());
        }else {
            System.out.println("response.getStatus() :"+response.getStatus());
        }
    }
}

это мой файл класса Java, который выполняется, чтобы проверить, работает ли API. Я попробовал этот API, используя приложение почтальона. это работает нормально. почему этот API не работает для меня из кода.

Сведения об окружающей среде:

  • Eclipse
  • Java 7
  • Импортированные банки: Jersey-bundle-1.19.4. jar, jsr311-api-1.1.1.jar

Исключение из консоли:

    Exception in thread "main" com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection timed out: connect
    at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:155)
    at com.sun.jersey.api.client.Client.handle(Client.java:652)
    at com.sun.jersey.api.client.WebResource.handle(WebResource.java:682)
    at com.sun.jersey.api.client.WebResource.get(WebResource.java:193)
    at TestingHttpGetV1.main(TestingHttpGetV1.java:13)
    Caused by: java.net.ConnectException: Connection timed out: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:579)
    at java.net.Socket.connect(Socket.java:528)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
    at sun.net.www.http.HttpClient.New(HttpClient.java:308)
    at sun.net.www.http.HttpClient.New(HttpClient.java:326)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:997)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:933)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:851)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1301)
    at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
    at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:253)
    at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:153)
    ... 4 more

1 Ответ

0 голосов
/ 25 октября 2019

Попробуйте увеличить время ожидания соединения. Не видя каких-либо определенных свойств тайм-аута, устанавливаемых здесь, Может быть установлен в объекте Client через выставленные свойства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...