Ejb-link jndi issue
Hi,
I am trying to hook up a web service that talks to one of my EJBs. I feel that
I have followed the instructions to the letter, but no matter what I do I keep
getting a ServletException when I try to deploy it.
The EJB I am trying to invoke is deployed in an ejb module called SunstartEJBModule
which is deployed within an application called SunstartApplication.
This is the build file I am using:
<project name="buildWebservice" default="generate-typeinfo">
<target name="generate-typeinfo">
<source2wsdd
javaSource="sunstart/ejbs/webservices/StudentWS.java"
ejbLink="SunstartEJBModule.jar#ejb/StudentWS"
ddFile="ddfiles/web-services.xml"
serviceURI="/StudentService"
/>
</target>
<target name="generate-webservice">
<wspackage
output="ears/SunstartApplication.ear"
contextURI="web_services"
webAppClasses="com.sun.ad.sunstart.ejbs.webservices.StudentWS"
ddFile="ddfiles/web-services.xml"
overwrite="false"
/>
</target>
</project>
The SunstartWS ejb is definitely deployed as I can access it using my ServiceLocator
using java:comp/env/ejb/StudentWS. I notice in the server error log it is trying
to use a slightly different JNDI name to this - java:/app/ejb/SunstartEJBModule.jar#ejb/StudentWS/home
but I can't see how I can control this in the ant script because whenever I remove
the "SunstartEJBModule.jar#ejb/StudentWS" part and change it to "ejb/StudentWS"
it won't even deploy.
The full exception trace I am seeing is:
javax.servlet.ServletException: ERROR: The EJB component named: StudentWS specified
an ejb-link to SunstartEJBModule.jar#ejb/StudentWS, but this ejb-link could not
be found in JNDI. Please ensure that this ejb-link refers to a valid EJB, and
this EJB has already deployed. The exception was: javax.naming.NamingException:
Could not lookup EJB home, tried java:/app/ejb/SunstartEJBModule.jar#ejb/StudentWS/home
and java:/app/ejb/SunstartEJBModule.jar#ejb/StudentWS/localhome
at weblogic.webservice.server.servlet.WebServiceServlet.initLocal(WebServiceServlet.java:132)
at weblogic.webservice.server.servlet.WebServiceServlet.init(WebServiceServlet.java:86)
at javax.servlet.GenericServlet.init(GenericServlet.java:258)
at weblogic.servlet.internal.ServletStubImpl$ServletInitAction.run(ServletStubImpl.java:993)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:869)
at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:848)
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:787)
at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:3252)
at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:3197)
at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:3174)
at weblogic.servlet.internal.WebAppServletContext.setStarted(WebAppServletContext.java:5647)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:869)
at weblogic.j2ee.J2EEApplicationContainer.start(J2EEApplicationContainer.java:2022)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2063)
at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer(SlaveDeployer.java:2592)
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.java:2515)
at weblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.java:2317)
at weblogic.management.deploy.slave.SlaveDeployer$Task.checkAutoCommit(SlaveDeployer.java:2399)
at weblogic.management.deploy.slave.SlaveDeployer$Task.prepare(SlaveDeployer.java:2311)
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2479)
at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
>
If anyone know what I Am doing wrong I would be grateful if they would let me
know as this has been driving me nuts over the past few days!
Cheers,
Lucas.
Here is am working example of how to use source2wsdd
with an EJB.
http://manojc.com/?sample10
Please check if this works ok for you.
Regards,
-manoj
http://manojc.com
"Lucas King" <[email protected]> wrote in message
news:40d9b346$1@mktnews1...
>
Hi,
I am trying to hook up a web service that talks to one of my EJBs. I feelthat
I have followed the instructions to the letter, but no matter what I do Ikeep
getting a ServletException when I try to deploy it.
The EJB I am trying to invoke is deployed in an ejb module calledSunstartEJBModule
which is deployed within an application called SunstartApplication.
This is the build file I am using:
<project name="buildWebservice" default="generate-typeinfo">
<target name="generate-typeinfo">
<source2wsdd
javaSource="sunstart/ejbs/webservices/StudentWS.java"
ejbLink="SunstartEJBModule.jar#ejb/StudentWS"
ddFile="ddfiles/web-services.xml"
serviceURI="/StudentService"
/>
</target>
<target name="generate-webservice">
<wspackage
output="ears/SunstartApplication.ear"
contextURI="web_services"
webAppClasses="com.sun.ad.sunstart.ejbs.webservices.StudentWS"
ddFile="ddfiles/web-services.xml"
overwrite="false"
/>
</target>
</project>
The SunstartWS ejb is definitely deployed as I can access it using myServiceLocator
using java:comp/env/ejb/StudentWS. I notice in the server error log it istrying
to use a slightly different JNDI name to this -java:/app/ejb/SunstartEJBModule.jar#ejb/StudentWS/home
but I can't see how I can control this in the ant script because wheneverI remove
the "SunstartEJBModule.jar#ejb/StudentWS" part and change it to"ejb/StudentWS"
it won't even deploy.
The full exception trace I am seeing is:
javax.servlet.ServletException: ERROR: The EJB component named: StudentWSspecified
an ejb-link to SunstartEJBModule.jar#ejb/StudentWS, but this ejb-linkcould not
be found in JNDI. Please ensure that this ejb-link refers to a valid EJB,and
this EJB has already deployed. The exception was:javax.naming.NamingException:
Could not lookup EJB home, triedjava:/app/ejb/SunstartEJBModule.jar#ejb/StudentWS/home
and java:/app/ejb/SunstartEJBModule.jar#ejb/StudentWS/localhome
atweblogic.webservice.server.servlet.WebServiceServlet.initLocal(WebServiceSer
vlet.java:132)
atweblogic.webservice.server.servlet.WebServiceServlet.init(WebServiceServlet.
java:86)
at javax.servlet.GenericServlet.init(GenericServlet.java:258)
atweblogic.servlet.internal.ServletStubImpl$ServletInitAction.run(ServletStubI
mpl.java:993)
atweblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubjec
t.java:317)
atweblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
atweblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java
:869)
atweblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.ja
va:848)
atweblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.jav
a:787)
atweblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletC
ontext.java:3252)
atweblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServlet
Context.java:3197)
atweblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServle
tContext.java:3174)
atweblogic.servlet.internal.WebAppServletContext.setStarted(WebAppServletConte
xt.java:5647)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:869)
atweblogic.j2ee.J2EEApplicationContainer.start(J2EEApplicationContainer.java:2
022)
atweblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.jav
a:2063)
atweblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activat
eContainer(SlaveDeployer.java:2592)
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.java:2515)
atweblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.jav
a:2317)
atweblogic.management.deploy.slave.SlaveDeployer$Task.checkAutoCommit(SlaveDep
loyer.java:2399)
atweblogic.management.deploy.slave.SlaveDeployer$Task.prepare(SlaveDeployer.ja
va:2311)
atweblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDep
loyer.java:2479)
atweblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeplo
yer.java:798)
atweblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.ja
va:507)
atweblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.j
ava:465)
atweblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.ja
va:25)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
>
If anyone know what I Am doing wrong I would be grateful if they would letme
know as this has been driving me nuts over the past few days!
Cheers,
Lucas.
Similar Messages
-
Error Deploying Application - ejb-link or jndi-name
I get the following error when depoying my J2EE application. Can anyone help ?
Deployment failed on Server MServer1
weblogic.management.DeploymentException:
Exception:weblogic.management.ApplicationException: activate failed for Supplier
Module: Supplier Error: weblogic.management.DeploymentException: Could not setup environment - with nested exception:
[weblogic.deployment.EnvironmentException: ejb-ref ejb/ReceiverSes requires an ejb-link or jndi-name]
weblogic.deployment.EnvironmentException: ejb-ref ejb/ReceiverSes requires an ejb-link or jndi-name
at weblogic.deployment.EnvironmentBuilder.addEJBReferences(EnvironmentBuilder.java:473)
at weblogic.servlet.internal.CompEnv.init(CompEnv.java:123)
at weblogic.servlet.internal.WebAppServletContext.activate(WebAppServletContext.java:5616)
at weblogic.servlet.internal.WebAppServletContext.setActive(WebAppServletContext.java:5588)
at weblogic.servlet.internal.WebAppModule.activate(WebAppModule.java:841)
at weblogic.j2ee.J2EEApplicationContainer.activateModule(J2EEApplicationContainer.java:3127)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2081)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2062)
at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer(SlaveDeployer.java:2592)
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.java:2515)
at weblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.java:2317)
at weblogic.management.deploy.slave.SlaveDeployer$Task.checkAutoCommit(SlaveDeployer.java:2399)
at weblogic.management.deploy.slave.SlaveDeployer$Task.prepare(SlaveDeployer.java:2311)
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2479)
at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
--------------- nested within: ------------------
weblogic.management.DeploymentException: Could not setup environment - with nested exception:
[weblogic.deployment.EnvironmentException: ejb-ref ejb/ReceiverSes requires an ejb-link or jndi-name]
at weblogic.servlet.internal.CompEnv.init(CompEnv.java:133)
at weblogic.servlet.internal.WebAppServletContext.activate(WebAppServletContext.java:5616)
at weblogic.servlet.internal.WebAppServletContext.setActive(WebAppServletContext.java:5588)
at weblogic.servlet.internal.WebAppModule.activate(WebAppModule.java:841)
at weblogic.j2ee.J2EEApplicationContainer.activateModule(J2EEApplicationContainer.java:3127)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2081)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2062)
at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer(SlaveDeployer.java:2592)
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.java:2515)
at weblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.java:2317)
at weblogic.management.deploy.slave.SlaveDeployer$Task.checkAutoCommit(SlaveDeployer.java:2399)
at weblogic.management.deploy.slave.SlaveDeployer$Task.prepare(SlaveDeployer.java:2311)
at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2479)
at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)I found the issue. The below entries were missing from weblogic.xml
<ejb-reference-description>
<ejb-ref-name>ejb/PipelineExecutor</ejb-ref-name>
<jndi-name>${APPNAME}.BEA_personalization.PipelineExecutor</jndi-name>
</ejb-reference-description>
"rohit" <[email protected]> wrote:
>
Does anyone knows why we would get the below error. I verified the web.xml
and
it seems to be right. Any help appreciated. Rohit
<Jul 1, 2003 5:08:12 PM PDT> <Error> <Deployer> <149231> <The slave deployer
was
unable to set the activation state to true for the application portalApp
weblogic.management.ApplicationException: activate failed forceoportal
Module Name: ceoportal, Error: weblogic.j2ee.DeploymentException: Could
not setu
p environment - with nested exception:
[weblogic.deployment.EnvironmentException: ejb-ref ejb/PipelineExecutor
requires
an ejb-link or jndi-name]
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContai
ner.java:1093)
at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContai
ner.java:1022)
at weblogic.management.deploy.slave.SlaveDeployer.setActivationStateForA
llApplications(SlaveDeployer.java:617)
at weblogic.management.deploy.slave.SlaveDeployer.resume(SlaveDeployer.j
ava:376)
at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resum
e(DeploymentManagerServerLifeCycleImpl.java:235)
at weblogic.t3.srvr.ServerLifeCycleList.resume(ServerLifeCycleList.java:
65)
at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:832)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:300)
at weblogic.Server.main(Server.java:32) -
Ejb-ref, ejb-link or JNDI lookup
If I have an application in which one EJB is using another EJB in the SAME application,
what is the best of way of accessing the other EJB?
Why would I use ejb-ref / ejb-link instead of just looking it up in the JNDI?
Just curious.
Thanks.
Danejb-ref/ejb-link were introduced in the ejb spec to allow bean developers to
develop beans without any knowledge of the environment into which they would
be deployed. If you can live with hard coded jndi names then that is fine or
you can use the mechanism define below but using ejb-ref/ejb-link makes your
beans more reuseable and less dependent on the final environement.
If both the ejbs are in the same application I would recommend using ejb-ref
and ejb-link.
-- Anand
"Chad McDaniel" <[email protected]> wrote in message
news:[email protected]..
"Dan Baumbach" <[email protected]> writes:
If I have an application in which one EJB is using another EJB in the
SAME application,
what is the best of way of accessing the other EJB?
Why would I use ejb-ref / ejb-link instead of just looking it up in theJNDI?
>>
>
I believe that ejb-ref/link is not useful in most systems and causes
another level of complexity to maintain. Since EJBs are complex enough
I think that using the basic JNDI lookup is preferable. Also, this
frees you to move the beans to a remote server if you ever want to.
The simplest and most flexible technique, I believe, is to use a
utility class that handles all EJB lookups for you and use a simple
EJB and JNDI name mapping that this class can generate the JNDI name
with a simply manipulation of the bean name. If you ever change the
reference technique you will then only have one class to modify.
This is also a good place to cache home references. -
Error: Unresolved ejb-link :
I want to call a session bean from a servlet.while deploying i am getting the error
Error: Unresolved <ejb-link>:
I am using Netbeans 6.0 IDE. here i am posting my code.
Calling code in servlet :
Context ctx = new InitialContext();
Object objref = ctx.lookup("java:comp/env/ejb/Etrack");
testBean=(MyHome)PortableRemoteObject.narrow(objref,MyHome.class);
web.xml :
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>MyClientServlet</servlet-name>
<servlet-class>MyClientServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyClientServlet</servlet-name>
<url-pattern>/MyClientServlet</url-pattern>
</servlet-mapping>
<ejb-local-ref>
<ejb-ref-name>ejb/Etrack</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local-home>MyHome</local-home>
<local>MyRemote</local>
<ejb-link>Etrack</ejb-link>
</ejb-local-ref>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
My ejb-jar.xml :
<?xml version="1.0"?>
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
<ejb-jar>
<enterprise-beans>
<session>
<display-name>Etrack Bean</display-name>
<ejb-name>Etrack</ejb-name>
<local-home>MyHome</local-home>
<local>MyRemote</local>
<ejb-class>MyEjbClass</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<ejb-local-ref>
<ejb-ref-name>ejb/Etrack</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local-home>MyHome</local-home>
<local>MyRemote</local>
<ejb-link>Etrack</ejb-link>
</ejb-local-ref>
</session>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>Etrack</ejb-name>
<method-intf>Local</method-intf>
<method-name>*</method-name>
</method>
<trans-attribute>NotSupported</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
My sun-ejb-jar.xml :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 8.1 EJB 2.1//EN" "http://www.sun.com/software/appserver/dtds/sun-ejb-jar_2_1-1.dtd">
<sun-ejb-jar>
<enterprise-beans>
<ejb>
<ejb-name>Etrack</ejb-name>
<stateless-session-descriptor>
<bean-pool>
<steady-pool-size>10</steady-pool-size>
<resize-quantity>10</resize-quantity>
<max-pool-size>100</max-pool-size>
<pool-idle-timeout-in-seconds>600</pool-idle-timeout-in-seconds>
</bean-pool>
</stateless-session-descriptor>
<jndi-name>ejb/Etrack</jndi-name>
<pass-by-reference>true</pass-by-reference>
<ejb-ref>
<ejb-name>Etrack</ejb-name>
<ejb-ref-name>ejb/Etrack</ejb-ref-name>
<jndi-name>ejb/Etrack</jndi-name>
</ejb-ref>
</ejb>
</enterprise-beans>
</sun-ejb-jar>
Can anyone help me in resolving this issue.It will be a great help for me.Thanks in advanceYou could always try removing the ejb-link, and see if the container can inject a reference in the runtime environment (accessible using jndi java:comp/env/ejb/Etrack).
If it doesn't, check these:
1) http://www.redhat.com/docs/manuals/rhaps/jonas-guide/ch-beans-ejbref.html
2) the ejb 2.0 spec, which the original poster was using (although this is the same in 2.1 and 3.0), states the folowing:
+20.3.2 Application Assembler’s responsibilities+
The Application Assembler can use the ejb-link element in the deployment descriptor to link an*
EJB reference to a target enterprise bean.*
The Application Assembler specifies the link between two enterprise beans as follows:*
+• The Application Assembler uses the optional ejb-link element of the ejb-ref or+
ejb-local-ref element of the referencing enterprise bean. The value of the ejb-link*
element is the name of the target enterprise bean. (It is the name defined in the ejb-name element*
of the target enterprise bean.) The target enterprise bean can be in any ejb-jar file in the*
same J2EE application as the referencing application component.*
+• Alternatively, to avoid the need to rename enterprise beans to have unique names within an+
entire J2EE application, the Application Assembler may use the following syntax in the*
ejb-link element of the referencing application component. The Application Assembler*
specifies the path name of the ejb-jar file containing the referenced enterprise bean and*
appends the ejb-name of the target bean separated from the path name by # . The path name*
is relative to the referencing application component jar file. In this manner, multiple beans with*
the same ejb-name may be uniquely identified when the Application Assembler cannot*
change ejb-names.*
+• The Application Assembler must ensure that the target enterprise bean is type-compatible with+
the declared EJB reference. This means that the target enterprise bean must be of the type indicated*
in the ejb-ref-type element, and that the home and component interfaces of the target*
enterprise bean must be Java type-compatible with the interfaces declared in the EJB*
reference.*
The following illustrates an ejb-link in the deployment descriptor.*
+...+
*+<enterprise-beans>+*
*+<session>+*
+...+
*+<ejb-name>EmployeeService</ejb-name>+*
*+<ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class>+*
+...+
*+<ejb-ref>+*
*+<ejb-ref-name>ejb/EmplRecord</ejb-ref-name>+*
*+<ejb-ref-type>Entity</ejb-ref-type>+*
*+<home>com.wombat.empl.EmployeeRecordHome</home>+*
*+<remote>com.wombat.empl.EmployeeRecord</remote>+*
*+<ejb-link>EmployeeRecord</ejb-link>+*
*+</ejb-ref>+*
+...+
*+</session>+*
+...+
*+<entity>+*
*+<ejb-name>EmployeeRecord</ejb-name>+*
*+<home>com.wombat.empl.EmployeeRecordHome</home>+*
*+<remote>com.wombat.empl.EmployeeRecord</remote>+*
+...+
*+</entity>+*
+...+
*+</enterprise-beans>+*
+...+
The Application Assembler uses the ejb-link element to indicate that the EJB reference “Empl-*
Record” declared in the EmployeeService enterprise bean has been linked to the EmployeeRecord*
enterprise bean.</stro
The following example illustrates using the ejb-link element to indicate an enterprise bean reference*
to the ProductEJB enterprise bean that is in the same J2EE application unit but in a different ejb-jar*
file.*
*+<entity>+*
+...+
*+<ejb-name>OrderEJB</ejb-name>+*
*+<ejb-class>com.wombat.orders.OrderBean</ejb-class>+*
+...+
*+<ejb-ref>+*
*+<ejb-ref-name>ejb/Product</ejb-ref-name>+*
*+<ejb-ref-type>Entity</ejb-ref-type>+*
*+<home>com.acme.orders.ProductHome</home>+*
*+<remote>com.acme.orders.Product</remote>+*
*+<ejb-link>../products/product.jar#ProductEJB</ejb-link>+*
*+</ejb-ref>+*
+...+
*+</entity>+* -
Creating Ejb link to another Weblogic server
I am trying to create a EJB jndi link to another weblogic server from a weblogic
server.
Basically I have a web application that uses an EJB that is deploed on another
weblogic server and I would like to connect to it.
One way I can do is the remote lookup using the Hashtable and the context factory,
something like this
Hashtable props = new Hashtable();
props.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
props.put(Context.PROVIDER_URL, "t3://localhost:7001/");
Context context = new InitialContext(props);
I used a jndi-link in resin previously, that did not require me to do a remote
lookup and rather created a link at the server level and allowed me to do a direct
InitialContext() lookup.
<jndi-link>
<jndi-name>java:comp/env/ejb/test</jndi-name>
<jndi-factory>weblogic.jndi.WLInitialContextFactory</jndi-factory>
<init-param java.naming.provider.url="t3://xx.x.x.x:7001"/>
<jndi-lookup>ejb.test</jndi-lookup>
</jndi-link>
Can I do something similar in Weblogic? If yes, how can I do it.
Appreciate your help.
Thanks,
Varun"Varun Garg" <[email protected]> wrote:
>
I am trying to create a EJB jndi link to another weblogic server from
a weblogic
server.
Basically I have a web application that uses an EJB that is deploed on
another
weblogic server and I would like to connect to it.
One way I can do is the remote lookup using the Hashtable and the context
factory,
something like this
Hashtable props = new Hashtable();
props.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
props.put(Context.PROVIDER_URL, "t3://localhost:7001/");
Context context = new InitialContext(props);
I used a jndi-link in resin previously, that did not require me to do
a remote
lookup and rather created a link at the server level and allowed me to
do a direct
InitialContext() lookup.
<jndi-link>
<jndi-name>java:comp/env/ejb/test</jndi-name>
<jndi-factory>weblogic.jndi.WLInitialContextFactory</jndi-factory>
<init-param java.naming.provider.url="t3://xx.x.x.x:7001"/>
<jndi-lookup>ejb.test</jndi-lookup>
</jndi-link>
Can I do something similar in Weblogic? If yes, how can I do it.
Appreciate your help.
Thanks,
Varun
hi,
Yes, it is possible in weblogic for more info visit this url,
http://e-docs.bea.com/wls/docs70/ejb/reference.html#1221067
u have the description of how to use the below tags
<initial-context-factory>weblogic.jndi.WLInitialContextFactory</initial-context-factory>
<provider-url>WeblogicURL:Port</provider-url>
<indi-name>jndiweb</jndi-name>
hope it help u
regards,
Elango TR -
Ejb-link not working when i access ejb in different ear
Hi All
I am here trying to access ejb's which is in different ear, I am providing ejb-link inside web.xml of war file deployed inside deffirent ear file.
I am using wls8.1sp5. I tried different combination with elb-link name , but its not working . <ejb-ref>
<ejb-ref-name>ejb/AuditService</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>com.onstar.audit.ejb.AuditServiceHome</home>
<remote>com.onstar.audit.ejb.AuditService</remote>
<ejb-link>ccarenewal.jar#AuditService</ejb-link>
</ejb-ref>
<ejb-ref>
<ejb-ref-name>ejb/AccountService</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>com.onstar.account.ejb.AccountServiceHome</home>
<remote>com.onstar.account.ejb.AccountService</remote>
<ejb-link>ccarenewal.jar#AccountService</ejb-link>
</ejb-ref>
Exception:weblogic.management.ApplicationException: activate failed for sbwo Module: sbwo Error: weblogic.management.DeploymentException: Could not setup environment - with nested exception: [weblogic.deployment.EnvironmentException: [J2EE:160101]Error: The ejb-link 'ccarenewal.jar#AuditService' declared in the ejb-ref or ejb-local-ref 'ejb/AuditService' in the application module 'accountadj.war' could not be resolved. The target EJB for the ejb-ref could not be found. Please ensure the link is correct.] weblogic.deployment.EnvironmentException: [J2EE:160101]Error: The ejb-link 'ccarenewal.jar#AuditService' declared in the ejb-ref or ejb-local-ref 'ejb/AuditService' in the application module 'accountadj.war' could not be resolved. The target EJB for the ejb-ref could not be found. Please ensure the link is correct. at weblogic.deployment.EnvironmentBuilder.addEJBLinkRef(EnvironmentBuilder.java:658) at weblogic.deployment.EnvironmentBuilder.addEJBReferences(EnvironmentBuilder.java:467) at weblogic.servlet.internal.CompEnv.init(CompEnv.java:123) at weblogic.servlet.internal.WebAppServletContext.activate
I will appreciate any help.
RajivRob,
Thanks for your reply.
Below is all deployment descriptor entries i have(ejb-jar.xml, weblogic-ejb-jar.xml, web.xml, weblogic.xml)
please correct me if i have wrong entries any where.
ejb-jar.xml
ejb-ref>
<description />
<ejb-ref-name>ejb/AccountService</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>com.onstar.account.ejb.AccountServiceHome</home>
<remote>com.onstar.account.ejb.AccountService</remote>
<ejb-link>AccountService</ejb-link>
</ejb-ref>
weblogic-ejb-jar.xml
<ejb-reference-description>
<ejb-ref-name>ejb/AccountService</ejb-ref-name>
<jndi-name>cca/AccountService</jndi-name>
</ejb-reference-description>
web.xml
<ejb-ref>
<ejb-ref-name>ejb/AccountService</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>com.onstar.account.ejb.AccountServiceHome</home>
<remote>com.onstar.account.ejb.AccountService</remote>
<ejb-link>ccarenewal.jar#AccountService</ejb-link>
</ejb-ref>
weblogic.xml
<ejb-reference-description>
<ejb-ref-name>ejb/AccountService</ejb-ref-name>
<jndi-name>cca/AccountService</jndi-name>
</ejb-reference-description>
I appreciate your help.
Thanks
Rajiv -
Avk w/ ejb-links in different jars
Hello all,
I'm trying to use the 1.4.1 AVK and keep running into an issue.
I have an entity EJB jar and two session EJB jars, each with their own ejb-jar.xml.
In the entity jar's ejb-jar.xml I have:
=====
<ejb-name>Mydataobject</ejb-name>
=====
For each of the session jars, their ejb-jar.xml has a local reference:
=====
<ejb-local-ref id="EJBLocalRef_1">
<ejb-ref-name>com/mydomain/interfaces/MydataobjectLocalHome</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<local-home>com.mydomain.interfaces.MydataobjectLocalHome</local-home>
<local>com.mydomain.interfaces.MydataobjectLocal</local>
<ejb-link>Mydataobject</ejb-link>
</ejb-local-ref>
=======
Now, everything I've read regarding the EJB2.1 spec (specifically section 20.3.2) says this is how you can do this as long as all the jars are within the same application. So how come the AVK keeps coming failing with:
========
Error: No enterprise bean matching [ Mydataobject ] found within [ com.mydomain.session.ejb.<SessionOne or SessionTwo> ] JAR file.
Assertion:
EJB Link element test. Please refer to EJB 2.1 Specification Section #20.3.2 for further information.
Test Name:
tests.ejb.elements.EjbLinkElement
========
thanks, very confused.
-DTry to consolidate the Session and Entity Beans into a single jar containing the consolidated ejb-jar.xml file having implementations for both Session and Entity.
-
Unable to access Remote EJB with jndi.properties in classpath
Hi
I'm trying to use remote interfaces with my adf web layer.
Created remote datacontrol for my model part and my model EAR is deployed in another Oracle App Server instance(S1).
My web layer is deployed in another Oracle App Server(S2). My page def uses the remote interfaces.
Following are the files which are needed to have ejb ref entry.
---- orion-web.xml ----
<?xml version = '1.0' encoding = 'windows-1252'?>
<orion-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://xmlns.oracle.com/oracleas/schema/orion-web-10_0.xsd"
schema-major-version="10" schema-minor-version="0"
servlet-webdir="/servlet/" >
<ejb-ref-mapping name="MySessionEJB" location="MySessionEJB"
remote-server-ref="true"
jndi-properties-file="jndi.properties"></ejb-ref-mapping>
</orion-web-app>
--- web.xml ---
<?xml version = '1.0' encoding = 'windows-1252'?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee">
<description>Empty web.xml file for Web Application</description>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<context-param>
<param-name>oracle.adf.view.faces.USE_APPLICATION_VIEW_CACHE</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>CpxFileName</param-name>
<param-value>com.home.view.DataBindings</param-value>
</context-param>
<filter>
<filter-name>PCF</filter-name>
<filter-class>oracle.webcache.adf.filter.FacesPageCachingFilter</filter-class>
</filter>
<filter>
<filter-name>adfBindings</filter-name>
<filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>
</filter>
<filter>
<filter-name>adfFaces</filter-name>
<filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PCF</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfBindings</filter-name>
<url-pattern>*.jspx</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfFaces</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>adfFaces</filter-name>
<url-pattern>*.jspx</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>AFCStatsServlet</servlet-name>
<servlet-class>oracle.webcache.adf.servlet.AFCStatsServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>resources</servlet-name>
<servlet-class>oracle.adf.view.faces.webapp.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>resources</servlet-name>
<url-pattern>/adf/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>1</session-timeout>
</session-config>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
<jsp-config/>
<ejb-ref>
<ejb-ref-name>MySessionEJB</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<remote>com.home.model.MySessionEJBRemote</remote>
<ejb-link>MySessionEJB</ejb-link>
</ejb-ref>
</web-app>
and this jndi.properties file in placed in the WEB-INF/classes folder.
java.naming.factory.initial=oracle.j2ee.rmi.RMIInitialContextFactory
java.naming.security.principal=oc4jadmin
java.naming.security.credentials=welcome123
java.naming.provider.url=opmn:ormi://S1:6003:Test_Instance/test-ejb
The same web application if I run it in Jdeveloper its able to open the welcome.jspx which calls the remote EJB method on load. But when I deploy it Oracle Server 10.1.3.1.0 the error "500 Internal Server Error" shows up and in log file following exception can be found
avax.faces.el.EvaluationException: oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg
=JBO-29000: Unexpected exception caught: javax.naming.NameNotFoundException, msg=MySessionEJB not found
Seems like the jndi properties is ignored during the Context creation for lookup.
Please advice where I'm missing the configuration.http://docs.sun.com/source/819-0079/dgjndi.html
-
Ejb-link is still required when using local references?
Hi!
In BEA's link (http://e-docs.bea.com/wls/docs81/ejb/DDreference-ejb-jar.html#1114738) there is the following comment for weblogic-ejb-jar.xml element 'jndi-name':
"Assigning a JNDI name to a bean is not recommended. Global JNDI names generate heavy multicast traffic during clustered server startup. See Using EJB Links for the better practice."
Since we're using local references (local-jndi-name) to access our ejbs instead of remote references, is this still recommendation still pertinent?
Thanks
ChristianneIt is enough if you add the ejb-ref & ejb-link in the session bean. The
session will look up relative to java:comp/env
The following doc shows an example of accessing an ejb from a web app using
ejb-link.
http://e-docs.bea.com/wls/docs81/webapp/components.html#146848
--Sathish
<Christianne Carvalho> wrote in message news:[email protected]..
I'm not getting very well how the ejb-link is used. In my case I have
entity beans that are referenced in session beans.
In my entity beans I have the following XDoclet tag.
* @ejb.bean
* name="ProductDescription"
* display-name="ProductDescription"
* jndi-name="ejb/ProductDescription"
* local-jndi-name="ejb/ProductDescriptionLocal"
* view-type="local"
* type="CMP"
In my session bean I'm currently getting the reference for the entity bean
using the following code:
productDescriptionLocalHome=(ProductDescriptionLocalHome)
lookupLocalHome(ProductDescriptionLocalHome.JNDI_NAME);
If I add the following XDoclet tag to my session bean, in ejb-jar.xml a
<ejb-link> is created inside <ejb-local_ref> tag.
* @ejb.ejb-ref ejb-name="ProductDescription" view-type="local"
Considering the info above:
1) In the entity bean, is there any extra tag to define the ejb-link or is
the ejb-link only defined in the session bean?
2) Re session bean, only adding the @ejb-ref xdoclet tag is enough for
using the ejb-link or do I also have to change my lookup? If I do, what do
I have to search for in the lookup?
Thanks! -
[J2EE:160167] uses ejb-links but no EJB modules
Dear All
Seeking support/assistance to resolve the below problem. I'm using laster Jdeveloper 11g software publish in 2011.
weblogic.deployment.EnvironmentException: [J2EE:160167]The module abc-ViewController-context-root in application abc_Project1_abc uses ejb-links but no EJB modules were found for this application
Please provide guidelines why this appears and how to resolve it.
Best Regards
Shahebaz ShaikhThe module abc-ViewController-context-root in application abc_Project1_abc uses ejb-links but no EJB modules were found for this application
Is the application deployed as an EAR application with web and ejb modules? If not, deploy as an EAR application. -
Fail to lookup the local EJB by JNDI in Managed Server
Hi all,
I currently in a deep problem, and can't figure out the cause of it. It just annoying me for week.
In my app, I have binded to the local ejb to JNDI (let's say "ejb/CustomerLocal"), then the client lookup the Local EJB by the following code.
localIc = new InitialContext();
home = (EJBLocalHome)localIc.lookup("ejb/CustomerLocal");
It works well as I do development in the Domain Admin Server. However, when I do the System Integration Test and deploy my app to the managed server, the app fail. It just can't do the Local EJB lookup. Following is the exception.
javax.naming.NameNotFoundException: Unable to resolve 'ejb/CustomerLocal' Resolved ejb[Root exc
eption is javax.naming.NameNotFoundException: Unable to resolve 'ejb.CustomerLocal' Resolved ejb
]; remaining name CustomerLocal'
Does anybody know the cause of it and have solution?
Thanks a lotHi,
Just now I replicated the same problem what you are facing. I created one managed server. When I deployed my ejb to admin server I did not get any problem. But when I deploy the same into my managed server I got Naming Exception. Because I did n/t specify Context.PROVIDER_URL. A provider URL contains bootstrap server information that the initial context factory can use to obtain an initial context. So when you deploy EJB on another server, you have to get the Naming service from that server. Hence provider URL must pointing to that server. So I included following statements before lookup my ejb in managed server.
Properties p=new Properties ();
p.put (Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
p.put (Context.PROVIDER_URL,"t3://localhost: 7003");
Context ctx=new InitialContext (p);
FacadeHome home=(FacadeHome) ctx.lookup ("ejb/CustomerLocal");
In my case managed server port number is 7003. Now onwards managed server (Port number 7003) will provide ‘Naming Service’, not by admin server (port number 7001), which is default.
Note: Context.PROVIDER_URL— specifies the URL of the WebLogic Server that provides the name service. The default is t3://localhost: 7001. When you are not specified it will assume that POVIDER_URL is t3://localhost: 7001 this is nothing but your admin server in your case. However, a JNDI client may need to access a name space other than the one identified in its environment. In this case, it is necessary to explicitly set the java.naming.provider.url (provider URL) property used by the InitialContext constructor.
I hope it helps.
Regards,
Kuldeep Singh. -
How to rename a EJB's jndi name?
Using Sun Appserver, having deployed all EJBs, I want to rename a EJB's jndi name, for instance,
to rename object "java:comp/env/ejb/User" to "java:comp/env/ejb/User1". By using InitialContext.rename(oldName,newName), a NamingException is thrown and its message is "java:comp namespace cannot be modified ". How to solve it?It is not possible.
Prohibited by the EJB spec. -
I'm unable to locate the Connection factory for JMS queue of a MBD deployed in Glassfish. Any help is appreciated. Thanks.
static javax.naming.InitialContext ic;
queueConnectionFactory = (QueueConnectionFactory)ic.lookup("corbaname:iiop:127.0.0.1:3700#jms/HealthMDBDestinationFactory");The following is the error message:
NamingException: javax.naming.NameNotFoundException [Root exception is org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0]
Using the same InitialContext object, I am able to locate a Session EJB in the same server.
Object ref = ic.lookup("corbaname:iiop:" + ipAddr + ":" + portNum + "#ejb/AppServerHealth");When I deploy the MDB, do I also need to manually configure the JMS Queue as well?
In the sun-ejb-jar.xml, the JNDI are there, but I can't see the names when looking at the application server's JNDI tree.
<ejb>
<ejb-name>HealthMDBBean</ejb-name>
<jndi-name>jms/HealthMDBBean</jndi-name>
<mdb-connection-factory>
<jndi-name>jms/HealthMDBDestinationFactory</jndi-name>
</mdb-connection-factory>
<bean-pool>
<steady-pool-size>4</steady-pool-size>
<max-pool-size>6</max-pool-size>
</bean-pool>
</ejb>
<message-destination>
<message-destination-name>HealthMDBDestination</message-destination-name>
<jndi-name>jms/HealthMDBBean</jndi-name>
</message-destination>I am trying to post a message to the queue of a MDB bean from a standalone Java client.Thanks.
Yes, the entry focuses on Remote EJB lookup, but you can use the same approach to look up anything in the appserver's naming context. This is what I am trying to do and it does not work. To lookup a Glassfish Remote EJB from a Java standalone client application, you need to use the CORBA Interoperable Naming Syntax.
So, I am trying to lookup the ConnectionFactory with
queueConnectionFactory = (QueueConnectionFactory)ic.lookup("corbaname:iiop:127.0.0.1:3700#jms/HealthMDBDestinationFactory");
The key is to instantiate the appserver's naming context. That happens automatically when you have our classes in the classpath and you use the no-arg InitialContext. I am am doing this.
static javax.naming.InitialContext ic;
public static void main(String[] args) {
try {
ic = new javax.naming.InitialContext();
} catch (javax.naming.NamingException ex) {
System.out.println("NamingException: " + ex);
} I am using the same context object to lookup a Session EJB in the same server using the Corba syntax and it finds the JNDI name without any problem.
Object ref = ic.lookup("corbaname:iiop:127.0.0.1:3700#ejb/AppServerHealth");
Then just use the global JNDI name of the queue or connection factory instead of the Remote EJB.I am passing the JNDI name of the connection factory associated with the MDB. It is not finding the JNDI name and returning an NamingException.
queueConnectionFactory = (QueueConnectionFactory)ic.lookup("corbaname:iiop:127.0.0.1:3700#jms/HealthMDBDestinationFactory");The MDB is deploying. However, in the sun-ejb-jar.xml, the JNDI names are there, but I can't see the names when looking at the application server's JNDI tree. -
Hi all,
I am using weblogic 6.1. Whenever i deploy EJBs, i put them in different
application folders and deploy them as different applications by specifying
them in config.xml.
Now, i have two entity beans (say A and B) in two different such
applications. Now B contains an CMR field of type A. When i write the
ejb-jar.xml for B, i specify A in the relationship.
Now the weblogic does't recognise the entry of B in the relationship as it
is in a different application. SO, i try to give an ejb-ref for the entity
bean B.
Now the question, when i define ejb-link tag in the ejb-ref, how do i
specify the the name of the ejb A in this tag. if my application name "a"
and the entity bean name is "A", shall i say "a.A" OR "a#A".
I couldnot find any documents for this. Any help is hightly appreciated.
Thanks
LakshmananFor two beans to participate in a relation, both of them must be there in
the same jar. See ejb-spec.
So this wouldn't work.
Rupesh
Lakshman <[email protected]> wrote in message
news:[email protected]..
Hi all,
I am using weblogic 6.1. Whenever i deploy EJBs, i put them in different
application folders and deploy them as different applications byspecifying
them in config.xml.
Now, i have two entity beans (say A and B) in two different such
applications. Now B contains an CMR field of type A. When i write the
ejb-jar.xml for B, i specify A in the relationship.
Now the weblogic does't recognise the entry of B in the relationship as it
is in a different application. SO, i try to give an ejb-ref for theentity
bean B.
Now the question, when i define ejb-link tag in the ejb-ref, how do i
specify the the name of the ejb A in this tag. if my application name"a"
and the entity bean name is "A", shall i say "a.A" OR "a#A".
I couldnot find any documents for this. Any help is hightly appreciated.
Thanks
Lakshmanan -
Hi ,
I got this problem, some of my hyperlinks (downloadable pdf) are not displayed when i'm testing my site, the new window open but nothing happen
I wonder, may be its because I've put them in my dropbox in first place ?
I noticed dropbox link have issues to, link can't be downloaded
How to do it , link pdf file properly ?
ThanksYou don't need to use Dropbox to host your PDFs for download, Muse will do this natively for you.
>In Deisgn Mode click on the text image, etc thato you want to be your active link to download.
> In the toolbar at the top of the page click the drop dowb menu next to "Hyperlinks"
> Scroll down to "Files" section, then to "Link to File" and then navigate on your HD to where your PDF is. This then links that PDF up and when you upload your site to a testing site or to your server, the PDF will be included in the upload to then be downloaded by your users.
Maybe you are looking for
-
[tuner card] cx88 alsa buffer under-run (on xc4000)
I'm having really weird bug and I don't know where should I look for help. I own Leadtek WinFast DTV2000 H Plus card with Conexant CX2388x PCI bridge and Xcieve XC4000 tuner. I'm using it with mplayer to watch analog cable tv. I'm suffering from buff
-
Upgrade process for SQL server 2005 service pack4 on stand alone and cluster servers
Hi All, We have iniated a process of upgarding sp4 for all sql 2005 stand alone and clusters servers. Please provide me the step by step process for installing sp4 and roll back paln for sql 2005 servers.And before proceeding with sp installation wha
-
How to disable my ipad air.
How to disable my ipad air
-
Error when I am executing any method in shopping cart
Dear All , I am getting following error when I am executing any method in shopping cart. *"No data found for contact person 0000000244 . Inform system administration . "* Please Can you help me with this error .
-
LR5 trial to full version with serial doesn't open
Hi i have just bought a full version of LR5 after the trial expired I put the serial number into it and I get the green click and then move to the next window and fill out my details and then it won't open... anyone had the same issue thanks