aspose file tools*
The moose likes EJB and other Java EE Technologies and the fly likes unresolved ejb-link Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » EJB and other Java EE Technologies
Bookmark "unresolved ejb-link" Watch "unresolved ejb-link" New topic
Author

unresolved ejb-link

Henrique Ordine
Ranch Hand

Joined: Sep 03, 2004
Posts: 127
Dear ranchers:

I have this web application (SoftBudgetWeb.war), which references ejbs in two EJB jars, SoftBudgetEJB.jar and SignonEJB.jar. Also, SoftBudgetEJB.jar refrences ejbs in SignonEJB.jar via annotations.
I'm deploying them as separate modules instead of all in one ear on glassfish v2.
SignonEJB deploys ok and so does SoftBudgetEJB.
When I try to deploy SoftBudgetWeb I get the following error:

Unresolved <ejb-link>: signon.SignonEJB
Exception occured in J2EEC Phasejava.lang.RuntimeException: Error: Unresolved <ejb-link>: signon.SignonEJB
com.sun.enterprise.deployment.backend.IASDeploymentException: Error loading deployment descriptors for module [SoftBudgetWeb] -- Error: Unresolved <ejb-link>: signon.SignonEJB
at com.sun.enterprise.deployment.backend.Deployer.loadDescriptors(Deployer.java:390)
at com.sun.enterprise.deployment.backend.ModuleDeployer.loadDescriptors(ModuleDeployer.java:423)
at com.sun.enterprise.deployment.backend.WebModuleDeployer.deploy(WebModuleDeployer.java:157)
at com.sun.enterprise.deployment.backend.ModuleDeployer.doRequestFinish(ModuleDeployer.java:179)
at com.sun.enterprise.deployment.phasing.J2EECPhase.runPhase(J2EECPhase.java:191)
at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:919)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:279)
at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:788)
at com.sun.enterprise.management.deploy.DeployThread.deploy(DeployThread.java:187)
at com.sun.enterprise.management.deploy.DeployThread.run(DeployThread.java:223)
Caused by: java.lang.RuntimeException: Error: Unresolved <ejb-link>: signon.SignonEJB
at com.sun.enterprise.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:530)
at com.sun.enterprise.deployment.WebBundleDescriptor.visit(WebBundleDescriptor.java:1406)
at com.sun.enterprise.deployment.archivist.WebArchivist.validate(WebArchivist.java:188)
at com.sun.enterprise.deployment.archivist.ApplicationArchivist.openArchive(ApplicationArchivist.java:790)
at com.sun.enterprise.deployment.archivist.ApplicationArchivist.openArchive(ApplicationArchivist.java:744)
at com.sun.enterprise.deployment.backend.Deployer.loadDescriptors(Deployer.java:349)


I'm not using annotations in my Web module and I declare references to ejbs in web.xml and sun-web.xml.
Here are my <ejb-ref>s in my web.xml:
<ejb-ref>
<ejb-ref-name>ejb/SignonEJB</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home/>
<remote>br.com.pedrasoftware.signon.ejb.SignonEJB</remote>
</ejb-ref>
<ejb-ref>
<ejb-ref-name>ejb/BudgetManagerEJB</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home/>
<remote>br.com.pedrasoftware.softbudget.ejb.BudgetManagerEJB</remote>
</ejb-ref>
<ejb-ref>
<ejb-ref-name>ejb/TransactionManagerEJB</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home/>
<remote>br.com.pedrasoftware.softbudget.ejb.TransactionManagerEJB</remote>
</ejb-ref>
<ejb-ref>
<ejb-ref-name>ejb/NamedTxManagerEJB</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home/>
<remote>br.com.pedrasoftware.softbudget.ejb.NamedTxManagerEJB</remote>
</ejb-ref>
<ejb-ref>
<ejb-ref-name>ejb/CategoryManagerEJB</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home/>
<remote>br.com.pedrasoftware.softbudget.ejb.CategoryManagerEJB</remote>
</ejb-ref>
<ejb-ref>
<ejb-ref-name>ejb/FundManagerEJB</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home/>
<remote>br.com.pedrasoftware.softbudget.ejb.FundManagerEJB</remote>
</ejb-ref>

and in my sun-web.xml:
<ejb-ref>
<ejb-ref-name>ejb/BudgetManagerEJB</ejb-ref-name>
<jndi-name>br.com.pedrasoftware.softbudget.ejb.BudgetManagerRemote</jndi-name>
</ejb-ref>
<ejb-ref>
<ejb-ref-name>ejb/CategoryManagerEJB</ejb-ref-name>
<jndi-name>br.com.pedrasoftware.softbudget.ejb.CategoryManagerRemote</jndi-name>
</ejb-ref>
<ejb-ref>
<ejb-ref-name>ejb/FundManagerEJB</ejb-ref-name>
<jndi-name>br.com.pedrasoftware.softbudget.ejb.FundManagerRemote</jndi-name>
</ejb-ref>
<ejb-ref>
<ejb-ref-name>ejb/NamedTxManagerEJB</ejb-ref-name>
<jndi-name>br.com.pedrasoftware.softbudget.ejb.NamedTxManagerRemote</jndi-name>
</ejb-ref>
<ejb-ref>
<ejb-ref-name>ejb/SignonEJB</ejb-ref-name>
<jndi-name>br.com.pedrasoftware.signon.ejb.SignonRemote</jndi-name>
</ejb-ref>
<ejb-ref>
<ejb-ref-name>ejb/TransactionManagerEJB</ejb-ref-name>
<jndi-name>br.com.pedrasoftware.softbudget.ejb.TransactionManagerRemote</jndi-name>
</ejb-ref>

here's how I annotate SignonEJB to call it signon.SignonEJB:
@Stateless (name="signon.SignonEJB")
public class SignonEJB implements SignonRemote, SignonLocal{


here is my annotation on an ejb in SoftBudgetEJB, which references SignonEJB:
@Stateless (name="softbudget.FundManagerEJB")
@EJB (name="ejb/SignonLocal",
beanInterface=SignonLocal.class,
beanName="signon.SignonEJB",
mappedName="br.com.signon.ejb.SignonLocal")
public class FundManagerEJB implements FundManagerRemote {
@PersistenceContext (unitName="SoftBudgetPU")
private EntityManager manager;

@EJB (name="ejb/SignonLocal")
private SignonLocal signon;

Could anyone help please?


J2EE Architect/Developer
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: unresolved ejb-link
 
Similar Threads
Error deploying EJB Model
EJB access from within a EJB using @EJB is failing in Sun Application Server
wsdl file WEB-INF/wsdl/wscoor.wsdl does not exist
Injecting a Stateful Session Bean into a servlet
Trouble in using @EJB in a ManagedBean...