即使我可以使用完全相同的 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 的年龄显示为 0 而不是 18。您必须调试才能看到 .get 方法引发的实际 404 异常。我还安装了 curl,当我尝试时:
curl -G -v http://localhost:8080/dukes-age/webapi/dukesAge
它还显示 404 错误 - 但该 url 在浏览器中工作正常。所以我假设它与我的 GlassFish 设置有关,但如果我能找到它,那就太糟糕了。