J2EE 6 vous pouvez exposer votre bean session EJB en tant que service Web REST comme ci-dessousRévéler méthode EJB en tant que service 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>";
}
}
Cependant, cela fonctionne quand je packager EJB dans le .war, lorsque je tente pour empaqueter mon projet dans des modules web et ejb séparés à l'intérieur d'un fichier EAR, j'obtiens une erreur HTML 404 non trouvée.
Quelqu'un peut-il expliquer?
J'utilise Glassfish v3
Voici mon 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>
J'ai le même problème avec Glassfish v4.1.1. Tout fonctionne bien emballé dans un fichier WAR, mais je reçois un 404 lorsqu'il est empaqueté dans un fichier EAR. – Pedro