3

Java Jersey REST で Web サービスを開発しました。HttpClient を使用して、基本的な GET メソッドを呼び出しました。

この URLhttp://localhost:8080/myserver/rest/locationをブラウザで使用すると機能します。

このコードを使用して GET メソッドを呼び出すと、404 Not Found エラーが発生します。

private static final String BASIC_URL = "http://localhost:8080/myserver/rest/location";

public static boolean isAlive() throws URISyntaxException, ClientProtocolException, IOException{
    HttpClient httpclient = new DefaultHttpClient();
    HttpGet get=new HttpGet(BASIC_URL);
    System.out.println(get.getURI());

      System.out.println("after adding all namevalues: "+get.getURI());
      HttpResponse response = httpclient.execute(get);
    StatusLine statusLine = response.getStatusLine();

    if (statusLine.getStatusCode() != 200) {
        System.out.println("response status="+statusLine.getStatusCode());
        return false;
    }
    System.out.println("Response sent succesfully with status "+200);
    return true;
}

どんな手掛かり?

アップデート

また、http://192.168.9.160:8080/LocationRetreiverServer/rest/location(ローカルIP)を試してみたところ、Not Foundエラーが発生しました!!

4

1 に答える 1

0

応答「404 Not Found」は、サーバーへの HTTP 要求が正常に行われ、この HTTP 応答が返されたことを明確に示しています。したがって、問題はローカルホストの部分に起因するものではないようです。

たとえば、必要なヘッダーがいくつか欠落している可能性があります。

ブラウザーによって発行された完全な HTTP 要求と、HttpClient によって発行された完全な HTTP 要求を比較します。

于 2013-04-24T13:35:37.187 に答える