访问restful服务时出现404错误



我的应用服务器是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>

没有?

最新更新