我正在尝试使用JAX-RS注释将一些EJB公开为REST Web服务.当我将war包含EJB Jar的文件部署WEB-INF/lib到Wildfly 8中时,我可以在Web管理面板EJB Jar中看到已部署,但是我无法访问REST端点并获得404.
这是以下内容web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<servlet-mapping>
<servlet-name>javax.ws.rs.core.Application</servlet-name>
<url-pattern>/separated/*</url-pattern>
</servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)
这是一个示例会话bean我正在尝试作为Web服务并放入jar文件中:
@Stateless(name = "TestSessionEJB")
@LocalBean
public class TestSessionBean {
@PersistenceContext(unitName = "TestPU")
private EntityManager em;
public AuthenticationSessionBean() {
}
@GET
@Path("ep")
public String testEP() {
return "Hello from testEP()";
}
}
Run Code Online (Sandbox Code Playgroud)
我无法testEP通过/<war_file_name>/separated/ep.添加了ejb-jar.xml描述符WEB-INF/,仍然没有成功.我用直接在war文件中编译和部署的类创建了另一个服务WEB-INF/classes:
@ApplicationPath("/integrated")
public class TestRestApp extends Application {
} …Run Code Online (Sandbox Code Playgroud)