2

まったく同じ URI を使用してさまざまなブラウザーで dukesAge サービスに直接アクセスして有効な回答を得ることができますが、このコード (チュートリアルから正確にコピーしたもの) は get メソッドで 404 例外をトリガーしています。

Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://localhost:8080/dukes-age/webapi/dukesAge");
String response = target.request().get(String.class);

ここで同様の質問と回答を見てきましたが、それらは以前のバージョンの Netbeans を使用しており、適用されないようです。ここに何かアイデアはありますか?

この例は、http: //docs.oracle.com/javaee/7/firstcup/doc/intro002.htmからダウンロードできます。

(Windows 7 でローカルに Netbeans 7.3.1 と Glassfish 4.0 を使用します。)

更新: 上記のコードは処理された例外をトリガーするため、エラーについて知る唯一の方法は、Duke の年齢が 18 ではなく 0 として表示されることです。.get メソッドによってスローされる実際の 404 例外を確認するには、デバッグする必要があります。私もcurlをインストールしました。試してみると:

curl -G -v http://localhost:8080/dukes-age/webapi/dukesAge

404 エラーも表示されますが、その URL はブラウザで正常に機能します。だから私はそれが私のGlassFishの設定にあるものだと思っていますが、それを見つけることができれば大変です。

4

2 に答える 2

2

これは古い質問であることは知っていますが、最近のバージョン (8.0) でも同じ問題があり、次の解決策でこれが修正されました。

DukesAge プロジェクトのステータス 404

具体的には、

  1. dukes-age プロジェクトのプロジェクト プロパティを開きます。
  2. [実行]セクションで、相対 URLが適切に設定されていることを確認します。(つまり、「/webapi/dukesAge」)
于 2017-12-26T17:25:27.837 に答える