即使我可以直接在具有完全相同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设置有关,但是如果我能找到它就会变得很有用。
答案 0 :(得分:1)
答案 1 :(得分:1)
我知道这是一个老问题,但我在更新的版本(8.0)中遇到了同样的问题,以下解决方案为我解决了这个问题:
Status 404 on DukesAge project
具体地,