Restfull webservices + ejb

时间:2015-05-17 19:44:15

标签: rest jboss ejb resteasy

我正在使用this example之后使用ejb和resteasy进行简单的Web应用程序。不幸的是有些东西不行。 我的耳朵包括一个带有ejb bean和war的jar,它只包含我的web.xml文件。 应用程序部署没有错误,但我无法访问我的服务。 我的豆子:

@Local
@Path("/")
public interface IMyBean {

    @GET
    @Path("date")
    @Produces("text/plain")
    String getDate();

    @GET
    @Path("param/{param}")
    @Produces("text/plain")
    String getParam(@PathParam("param") String param);
}


@Stateless
public class MyBean implements IMyBean {

    @Override
    public String getDate() {
        return new Date();
    }

    @Override
    public String getParam(String param) {
        return param;
    }
}

这是我的web.xml

<web-app>
    <display-name>Archetyp Created Web Application</display-name>
    <context-param>
        <param-name>resteasy.jndi.resources</param-name>
        <param-value>rest/AuthorizationBean/local</param-value>
    </context-param>

    <listener>
        <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
    </listener>

    <servlet>
        <servlet-name>Resteasy</servlet-name>
        <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>Resteasy</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

</web-app>

我的应用程序中的模块有名称:rest(带有ejb bean的jar),war(war archive)和ear(ear archive)。我正在Jboss 7.1.1上部署。

1 个答案:

答案 0 :(得分:0)

您的网址格式正确无误。但是getDate()方法中没有提到路径。尝试下面并使用localhost:8080 / war / date,localhost:8080 / ear / date它将起作用

@GET
@Path("/date")
@Produces("text/plain")
String getDate();