Предоставление метода EJB в качестве службы REST
В J2EE 6 вы можете представить свой EJB-сессионный компонент как веб-сервис REST, как показано ниже
@Stateless
@Path("/test")
public class TestSessionBean {
@GET
@Produces("application/xml")
public String getTest() {
return "<?xml version='1.0' encoding='UTF-8'?><val>test session bean</val>";
}
}
Это работает, когда я упаковал EJB в.war, однако, когда я пытаюсь упаковать свой проект в отдельные модули web и ejb внутри EAR, я получаю ошибку HTML 404 not found.
Может кто-нибудь объяснить, пожалуйста?
Я использую Glassfish v3
Вот мой web.xml
<servlet>
<servlet-name>TaskRestService</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>TaskRestService</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
1 ответ
Решение
JAX-RS аннотированные корпоративные bean-компоненты в отдельном файле или в отдельном файле ejb-jar, включенном в EAR, не поддерживаются.
Увидеть ниже