我的应用服务器是Jboss Wildfly 8。我将使我的EJB成为一个REST web服务。我的EJB:
接口:
@Local
@Path("/books")
public interface BookBeanLocal {
@GET
@Path("/getbookname")
public String getBookName();
}
类:
@Stateless
public class BookBean implements BookBeanLocal {
@Override
public String getBookName() {
// TODO Auto-generated method stub
return "OK";
}
}
它们都作为EJB模块放在Jar中。控制台日志显示:Registered web context: /ejb_rest_web
我正在尝试访问http://127.0.0.1:8080/ejb_rest_web/books/getbookname
但是我得到了404错误。为什么?
正如前面的答案,我认为你混淆了web.xml的配置。关于ejb示例中的restasy文档它们将ejb映射到web xml中,如下所示
<context-param>
<param-name>resteasy.jndi.resources</param-name>
<param-value>LibraryBean/local</param-value>
</context-param>
你可以看到LibraryBean/local,我认为混淆是关于/local的,这是服务器为statelesbean LibraryBean做的映射的一部分,所以我认为你应该有:
<context-param>
<param-name>resteasy.jndi.resources</param-name>
<param-value>BookBeanLocal/local</param-value>
</context-param>
好吧,那肯定有很多错误日志要处理。
我想你的web.xml
可能有问题
<param-value>BookBean/Local</param-value>
应该<param-value>BookBeanLocal</param-value>
没有?