PessoAll,
Alguém pode me ajudar, estou com um problemão, sem saber o que fazer, de MappableContainerException could not be mapped no lookup do meu WS consumindo um EJB.
Desenvolvi um Web Service na arquitetura RESTful com Jersey, tenho um metodo no WS que consome um bean (@stateless session bean) de um EJB, esses dois artefatos (ejb.jar / ws.war) estão deployed no mesmo container do Jboss7.1.1 (jboss-as-7.1.1.Final).
No metodo do Web Service eu faço um context.lookup(lookupName) para acesso a serviços do EJB. lookupName = ejb:/USERCODE-COMP EJB//GeneratorCodeUserBean!com.w7vm.component.usercod.session.GeneratorCodeUserRemote
Nesse momento ocorre a exception:
20:55:45,601 SEVERE [com.sun.jersey.spi.container.ContainerResponse] (http–127.0.0.1-8080-1) The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container: java.lang.NoClassDefFoundError: com/w7vm/component/usercod/session/GeneratorCodeUserBean
Quando realizado o deployer do EJB e Web Service, ocorreu de forma correta a identificação do JNDI bindings for session bean Named IdentityAccessManagerBean:
deployment unit deployment “IAM-WS-JXRS.war” are as follows:
java:global/IAM-WS-JXRS/IdentityAccessManagerBean!com.w7vm.iam.service.IdentityAccessManager java:app/IAM-WS-JXRS/IdentityAccessManagerBean!com.w7vm.iam.service.IdentityAccessManager java:module/IdentityAccessManagerBean!com.w7vm.iam.service.IdentityAccessManager java:jboss/exported/IAM-WS-JXRS/IdentityAccessManagerBean!com.w7vm.iam.service.IdentityAccessManager java:global/IAM-WS-JXRS/IdentityAccessManagerBean java:app/IAM-WS-JXRS/IdentityAccessManagerBean java:module/IdentityAccessManagerBean
Deployment “USERCODE-COMP-EJB.jar” are as follows:
java:global/USERCODE-COMP EJB/GeneratorCodeUserBean!com.w7vm.component.usercod.session.GeneratorCodeUserRemote java:app/USERCODE-COMP-EJB/GeneratorCodeUserBean!com.w7vm.component.usercod.session.GeneratorCodeUserRemote java:module/GeneratorCodeUserBean!com.w7vm.component.usercod.session.GeneratorCodeUserRemote java:jboss/exported/USERCODE-COMP-EJB/GeneratorCodeUserBean!com.w7vm.component.usercod.session.GeneratorCodeUserRemote java:global/USERCODE-COMP-EJB/GeneratorCodeUserBean java:app/USERCODE-COMP-EJB/GeneratorCodeUserBean java:module/GeneratorCodeUserBean
package com.w7vm.component.usercod.session;
import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.naming.InitialContext;
import javax.naming.NamingException;
/**
* Session Bean implementation class GeneratorCodeUserBean
*/
@Stateless(name="GeneratorCodeUserBean")
@Remote(GeneratorCodeUserRemote.class)
public class GeneratorCodeUserBean implements GeneratorCodeUserRemote {
}
package com.w7vm.component.usercod.session;
import javax.ejb.Remote;
@Remote
public interface GeneratorCodeUserRemote {
public String getCodeUser();
}
Obrigadoooooo