Implicit context propagation from JSP/EJB to RMI over IIOP?
Is there a way to implicitly send information, such as a UID, over IIOP. We
don't want/need the overhead of transactions but would like to embed this
UID in all threads from where they started...through to other VMs on other
hosts. This is to be used for monitoring the application.
Any help would be greatly appreciated!!
Shane
Shane wrote:
Does this get propagated to RMI servers as well...not just from EJB to EJB??Yes.
>
And, does using SSL create much extra overhead?Yes.
>
>
"Eduardo Ceballos" <[email protected]> wrote in message
news:[email protected]..
In WLS 6.0, you can use SSL. With SSL, the identity of the caller ispropagated along with the request.
Shane wrote:
Is there a way to implicitly send information, such as a UID, over IIOP.
We
don't want/need the overhead of transactions but would like to embedthis
UID in all threads from where they started...through to other VMs onother
hosts. This is to be used for monitoring the application.
Any help would be greatly appreciated!!
Shane
Similar Messages
-
Hi all...
I am now trying a program with RMI over IIOP. My server is behined a firewall and proxy and client will be running out side the network. So in this situation I want to allow this particular client through the proxy. I am not sure whether the Proxies like ISA, MS Proxy, Wingate, iPlanet and Apache proxy will allow IIOP protocol to route through the proxy. Also How can I ensure security? Does IIOP provides any security?
Please help me by giving some comments on this.
Any suggestions are appreciable.
regards,
SankaranLike in all normal RMI apps you will need open the firewall ports needed to communicate to the server on the firewall..
-
Transaction propagation from my EJB to a SOA server
Hi,
I am developing ejb Stateless wich need to invoke bpel process. To comunicates from my EJB to SOA I'm using Worklist API an EM API.My SOA server is given me a Out Of Memory and I have seen into diagosis file that my EJB statless Trasaccitóns are trasmited to SOA Server, Is it a normal behaviour? How can avoid a Transactión trasmision?
Thaks.Hi,
You must analyze inside the Worklist API and your SOA Server.
Which SOA Server are using ?
Which JVM configurations are you using to start the SOA server and Container Server ?
How much free memory has your machine with started JVM and while running the code section ?
If everything above going well and if OutOfMemory happen inside your application, you should try Weak and Soft Reference (Be careful with your development while coding). -
Getting error while passing implicit request object from JSP to JavaBean
Hi,
I am getting error while passing implicit object ie( request object)
from within JSP to JavaBean.
Following is source for JSP, JavaBean and Error message I am getting.
vaLookup.jsp Source
<jsp:useBean id="db" class="advisorinsight.javabeans.DisplayPages"
scope="request">
<jsp:setProperty name="db" property="request" value="<%= request %>"
/>
</jsp:useBean>
<jsp:getProperty name="db" property="totalrecords" />
JAVABEAN DisplayPages.java source
package javabeans;
import java.io.Serializable;
import javax.servlet.http.HttpServletRequest;
public final class DisplayPages implements Serializable {
private String totalrecords;
private HttpServletRequest request;
public void setRequest(HttpServletRequest req){
this.request = req;
public java.lang.String getTotalrecords()
this.totalrecords =
this.request.getParameter("totalrecords");
return this.totalrecords;
public DisplayPages(){
totalrecords = "";
request = null;
error after executing vaLookup.jsp
[30/Nov/2001 11:56:04:5] info: EXTMGR-006: GXExtensionManager: Extension
service JavaExtData successfully loaded
[30/Nov/2001 11:56:04:5] info: EXTMGR-006: GXExtensionManager: Extension
service LockManager successfully loaded
[30/Nov/2001 11:56:04:5] info: EXTMGR-006: GXExtensionManager: Extension
service RLOPManager successfully loaded
[30/Nov/2001 11:56:04:5] info: REQ-012: thread add
[30/Nov/2001 11:56:04:5] info: REQ-012: thread add
[30/Nov/2001 11:56:04:5] info: REQ-012: thread add
[30/Nov/2001 11:56:04:5] info: REQ-012: thread add
[30/Nov/2001 11:56:04:5] info: REQ-012: thread add
[30/Nov/2001 11:56:04:5] info: REQ-012: thread add
[30/Nov/2001 11:56:04:5] info: REQ-012: thread add
[30/Nov/2001 11:56:04:5] info: REQ-012: thread add
[30/Nov/2001 11:56:04:7] info: ENGINE-ready: ready: 10819
[30/Nov/2001 11:56:46:0] info: --------------------------------------
[30/Nov/2001 11:56:46:0] info: JSPRunnerSticky: init
[30/Nov/2001 11:56:46:0] info: --------------------------------------
[30/Nov/2001 11:56:51:7] error: Exception: SERVLET-compile_failed:
Failed in compiling template: /va/valookup.jsp, javac error:
c:\iplanet\ias6\ias\APPS\variabl
S\va\valookup.java:76: Undefined variable: JSP_8
db.setRequest(_JSP__8);
^
1 error
Exception Stack Trace:
java.lang.Exception: javac error:
c:\iplanet\ias6\ias\APPS\variableannuity\va\WEB-INF\compiled_jsp\jsp\APPS\va\valookup.java:76:
Undefined variable: JSP_8
db.setRequest(_JSP__8);
^
1 error
at
com.netscape.server.servlet.jsp.JSPCompiler.compileJSP(Unknown Source)
at
com.netscape.server.servlet.jsp.JSPCompiler.compileOrLoadJSP(Unknown
Source)
at
com.netscape.server.servlet.jsp.JSPCompiler.compileInstance(Unknown
Source)
at
com.netscape.server.servlet.jsp.JSPCompiler.compileInstance(Unknown
Source)
at
com.netscape.server.servlet.platformhttp.PlatformHttpServletResponse.callJspCompiler(Unknown
Source)
at
com.netscape.server.servlet.platformhttp.PlatformHttpServletResponse.callUri(Unknown
Source)
at
com.netscape.server.servlet.platformhttp.PlatformHttpServletResponse.callUriRestrictOutput(Unknown
Source)
at
com.netscape.server.servlet.platformhttp.PlatformRequestDispatcher.forward(Unknown
Source)
at com.netscape.server.servlet.jsp.JSPRunner.service(Unknown
Source)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at
com.netscape.server.servlet.servletrunner.ServletInfo.service(Unknown
Source)
at
com.netscape.server.servlet.servletrunner.ServletRunner.execute(Unknown
Source)
at com.kivasoft.applogic.AppLogic.execute(Unknown Source)
at com.kivasoft.applogic.AppLogic.execute(Unknown Source)
at com.kivasoft.thread.ThreadBasic.run(Native Method)
at java.lang.Thread.run(Thread.java:479)The only thing that I see that looks funny to me is when you pass the request object into the method using <%=request%>, Im not sure whats going to happen here because that is suppose to print the results. Have you tried simply using <%request%>?
-
Invoking COM objects from Weblogic EJB
Hi,
I am searching the BEA site on how best to call COM objects from
a EJB deployed in Weblogic. I find rmi over iiop, articles on ObjectBridge
which are confusing. Is there a sample where a COM method is called
from EJB server ( I only see example the other way round)
Thanks,
Harish.http://www.weblogic.com/docs51/examples/com/examples.com.ServerSideDLLClient.html
This shows use the WebLogic COM compiler to generate and RMI wrapper
around a COM DLL and invoking it remotely. Unfortunately, the example
appears to be a little out-of-date (e.g., it is using the old RMI Naming
style of doing the lookup)...
Be forewarned, WebLogic COM is not supported in WebLogic 6.0 (due to the
inavailability of a Microsoft 1.3 JVM implementation).
Harish wrote:
JIntegra is fine, but I want to know if anybody tried WebLogic-COM.
(Is this the right forum?)
Actually I tried out the 'beeper' sample but still have many doubts.
Robert Patrick <[email protected]> wrote:
JIntegra by Linar (http://www.linar.com).
Harish wrote:
Hi,
I am searching the BEA site on how best to call COMobjects from
a EJB deployed in Weblogic. I find rmi over iiop, articleson ObjectBridge
which are confusing. Is there a sample where a COM methodis called
from EJB server ( I only see example the other way round)
Thanks,
Harish. -
UNABLE TO ACCESS SECURED EJB USING IIOP FROM JSP
Following codes does not work with IIOP when called from jsp returns an
com.sap.engine.services.iiop.CORBA.CORBAObject:com.sap.engine.services.iiop.server.portable.Delegate_1_1@8312b1 step2 RemoteException occurred in server thread; nested exception is: java.rmi.RemoteException: com.sap.engine.services.ejb.exceptions.BaseRemoteException: User Guest does not have access to method create(). at
Following codes does not work with IIOP when called from a fat client returns an
org.omg.CORBA.UNKNOWN: vmcid: 0x0 minor code: 0 completed: Maybe
at com.sun.corba.se.internal.core.UEInfoServiceContext.<init>(UEInfoServ
iceContext.java:33)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
orAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
onstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at com.sun.corba.se.internal.core.ServiceContextData.makeServiceContext(
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.cosnaming.CNCtxFactory");
p.put(Context.PROVIDER_URL, "iiop://hostname:50007");
p.put(Context.SECURITY_PRINCIPAL, "User");
p.put(Context.SECURITY_CREDENTIALS, "pass");
I have add java option to add IIOP filer
-Dorg.omg.PortableInterceptor.ORBInitializerClass.com.sap.engine.services.iiop.csiv2.interceptors.SecurityInitializer
Solution Required: Could you please detail me what steps in need to perform in order for me to access secure ejb using iiop protocol.
FYI -- How ever ejb security works with P4 protocol, If required i can send you the test case ear.
Thanks
Vijay
Following are the server side logs
java.rmi.RemoteException: com.sap.engine.services.ejb.exceptions.BaseRemoteException: User Guest does not have access to method create().
at test.TestEJBHomeImpl0.create(TestEJBHomeImpl0.java:91)
at test._TestEJBHome_Stub.create(_TestEJBHome_Stub.java:214)
at jsp_testIIOP1199698887113._jspService(jsp_testIIOP1199698887113.java:33)
at com.sap.engine.services.servlets_jsp.server.jsp.JspBase.service(JspBase.java:112)
at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:544)
at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:186)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Caused by: com.sap.engine.services.security.exceptions.BaseSecurityException: Caller not authorized.
at com.sap.engine.services.security.resource.ResourceHandleImpl.checkPermission(ResourceHandleImpl.java:608)
at com.sap.engine.services.security.resource.ResourceHandleImpl.checkPermission(ResourceHandleImpl.java:505)
at com.sap.engine.services.security.resource.ResourceContextImpl.checkPermission(ResourceContextImpl.java:45)
at test.TestEJBHomeImpl0.create(TestEJBHomeImpl0.java:89)
... 20 more
; nested exception is:
java.lang.SecurityException: com.sap.engine.services.security.exceptions.BaseSecurityException: Caller not authorized.
at com.sap.engine.services.security.resource.ResourceHandleImpl.checkPermission(ResourceHandleImpl.java:608)
at com.sap.engine.services.security.resource.ResourceHandleImpl.checkPermission(ResourceHandleImpl.java:505)
at com.sap.engine.services.security.resource.ResourceContextImpl.checkPermission(ResourceContextImpl.java:45)
at test.TestEJBHomeImpl0.create(TestEJBHomeImpl0.java:89)
at test._TestEJBHome_Stub.create(_TestEJBHome_Stub.java:214)
at jsp_testIIOP1199698887113._jspService(jsp_testIIOP1199698887113.java:33)
at com.sap.engine.services.servlets_jsp.server.jsp.JspBase.service(JspBase.java:112)
at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:544)
at com.sap.engine.services.servlets_jsp.server.servlet.JSPServlet.service(JSPServlet.java:186)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)That's the code that you need to execute but you should
probably encapsulate that code in Custom Action.
Orion has a EJB Tag Library that is free to distribute that
does all that stuff you just set some attributes.
Go to their site and look at their Tag Libraries.
Also look for other Tag Libraries Freely Available for EJB Access. -
EJBs From JSPs - Tutorials?
Hi all,
I've just been given a task, and I don't know where to start. I've been given an EJB and I need to write a web front end to test it (JSP). Now if it was a plain JavaBean, I know how to do it. But I know EJB's are different.
Could somebody point me in the direction of a good tutorial about accessing EJBs from JSPs. I'm using WebLogic as my application server, so something relevant to that would be nice.
Cheers for any help.To put it in "idiot" terms:
Think of your EJBs as people you want to ring up on the phone. You know their name, but not their number. How do you do this in real life? You use a phone book, using the person's name as a reference, which will lead you to the right number to dial.
The phonebook in this paradigm is JNDI - the naming and directory interfaces.
The name you use to look up is how the EJB is bound (ie, "java:comp/env/ejb/MyPerson", or "foo/bar/beans/MyPerson"). You define this name (the phone number) in the deployment descriptors packaged with the EJBs in the jar file.
You access the phone book (in your JSP or some other bean in your webapp) by using a Context.
ie:
Object objRef = initialContext.lookup("foo/bar/beans/MyPerson");
Then you ask the context for the person's home information:
MyPersonHome home = (com.foo.interfaces.MyPersonHome)PortableRemoteObject.narrow(objRef, com.foo.interfaces.MyPersonHome.class);
Once you know where they live (you have their Home information), you can ring them up (create them, search for them, search for a singular one)
MyPerson bill = home.findByPersonNameInHouse("billy");
once you have Billy in your possession, yu can perform business logic on him:
String stats = bill.getStatistics();
// get rid of bill permanently
bill.remove();
That should be enough of an introductory paradigm. You will need to follow along the tutorials and other many documents to understand exactly how things are bound (phone numbers are listed) and so forth.
Good luck! -
Insert data into table from JSP page using Entity Beans(EJB 3.0)
I want to insert data into a database table from JSP page using Entity Beans(EJB 3.0).
1. I have a table 'FRIENDS', (in Oracle 10g database).
2. It has two columns, 'NAME' and 'CITY'. Both have datatype strings(varchar2).
3. Now from a JSP page, having two textfields, 'NAME' and 'CITY', I want to insert data into table 'FRIENDS'.
4. In between JSP and database is a Entity Bean(EJB 3.0) and a stateless session bean.
5. I am using JDev as editor.
Please provide me code ASAP or link with similar example.
Thank you.
AnuragHi,
I am also trying that scenario. So u can
Post the jsp form data to a Servlet which will act as a Controller.
In the servlet invoke the business method.
Similar kind of app is in www.roseindia.net
Hope this would help u.
Meanwhile if u get any optimal solution, pls post it.
Thanks,
Happy Java Coding. -
In portlet context include a jsp from the desktop context
Hi,
I developed a portlet, and in my jsp file I want to include a jsp file which is in my portal desktop (the file is in /etc/opt/SUNWps/desktop/..).
So I want to do something like:
<c:import url="file:///etc/opt/SUNWps/desktop/mydesktop/ PortletHeader.jsp" /> Of course this doesn't work because the jsp expressions are not executed, instead the jsp tags are just displayed in the browser.
but for including a jsp with <@include file> or <c:import> or <jsp:include>, the jsp must run in its context. So actually we should do something like <c:import url="some_path" context="some_context" >.
Now, I don't know what some_context is. To what context the portal desktop runs so the jsp file can be 'executed'?
Hope someone can give me some more information about this.
Greets,
Tim<quote>some_context <quote>
..will be the pageContext
which is the implicit object for a JSP.
or
use config object to get this context and then use
<jsp:include> or <@include file>
rgds
http://lokeshpant.blogspot.com -
Calling EJB from JSP in SSL Mode
Hi,
I need to call an EJB from JSP in SSL Mode.
How can i do that.
Regards,
S.V.Satish KumarIn that case you can refer to the following documents:
Using JPA: http://help.sap.com/saphelp_nwce711/helpdata/en/44/eba6292f446c30e10000000a114a6b/frameset.htm
Accessing persistence functionality in EJB 3.0: http://help.sap.com/saphelp_nwce711/helpdata/en/46/307a2a50094f09e10000000a114a6b/frameset.htm
Tell me, if these documents help you. Otherwise, I will search for more information on the topic.
Best regards,
Ekaterina -
How to call an ejb method from jsp?
Hi, everyone!
Inside my JSP, I4m using scripts in order to show and receive information, that is, a form.But I don4t Know if I can use the same variables from the script in order to call the 'set' methods from my EJB.
Could anyone show me an example?
Thanks in advance,
SilviaInitialContext ctx = new InitialContext();
GeneralEditor editor = (GeneralEditor) ctx
.lookup("GeneralEditorBean/remote");
GeneralService service = (GeneralService) ctx
.lookup("GeneralServiceBean/remote");
LanMu lm = new LanMu();
lm.setName("shdfkhsad");
editor.add(lm); -
Calling an EJB from jsp - ServletException
I am unable to call an EJB from jsp, unless I put the actuall classes of
the EJB into the classpath. Is this the right way to do it?
The exception is:
Servlet failed with ServletException
javax.servlet.ServletException: Servlet class: 'jsp_servlet._result'
could not be loaded - the requested class wasn't found in the
classpath:
'/local/apps/bea/wlserver6.0/config/gmodomain/applications/.wl_temp_do_not_delete/wl_local_comp34107.war:/local/apps/bea/wlserver6.0/./config/gmodomain/applications/.wl_temp_do_not_delete/WEB-INF/_tmp_war_gmo_gmo_webwar:/local/apps/bea/wlserver6.0/config/gmodomain/applications/.wl_temp_do_not_delete/WEB-INF/_tmp_war_gmo_gmo_webwar'
at
weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:532)
at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:191)
at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:148)
at
weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:306)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:208)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:246)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:1265)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1622)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
where result.jsp is the jsp page calling the EJB. I did an import of the
EJB classes in the jsp.
like i said, it works if I put the bean classes in the classpath. But is
it right?
if I have these in the exploded format, do I need to put anything in the
application web.xml under:
wlserver6.0/config/gmodomain/applications/DefaultWebApp_gmo/WEB-INF ?
redhat 6.2, wl6.0sp1
here are the xml files:
web.xml:
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<!--
$Id: web.xml,v 1.2 2001/03/14 22:23:03 jeff Exp $
$Source:
/usr/local/cvsroot/JUnitEE/example/components/web-war/WEB-INF/web.xml,v
$
-->
<web-app>
<display-name>My Web Application</display-name>
<description>none</description>
<ejb-ref>
<ejb-ref-name>MyWeb</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>com.blah.ejb.myweb.WyWebHome</home>
<remote>com.blah.ejb.myweb.MyWeb</remote>
</ejb-ref>
</web-app>
weblogic.xml:
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web
Application 6.0//EN"
"http://www.bea.com/servers/wls600/dtd/weblogic-web-jar.dtd">
<weblogic-web-app>
<jsp-descriptor>
<jsp-param>
<param-name>
pageCheckSeconds
</param-name>
<param-value>
1
</param-value>
</jsp-param>
<jsp-param>
<param-name>
verbose
</param-name>
<param-value>
true
</param-value>
</jsp-param>
<jsp-param>
<param-name>compileCommand</param-name>
<param-value>/local/apps/jdk1.3.0_02/bin/javac</param-value>
</jsp-param>
</jsp-descriptor>
<reference-descriptor>
<ejb-reference-description>
<ejb-ref-name>MyWeb</ejb-ref-name>
<jndi-name>MyWeb</jndi-name>
</ejb-reference-description>
</reference-descriptor>
</weblogic-web-app>
thanks,
Gary
Did you package your JSPs in a WAR and your EJBs in a JAR and package the
WAR and JAR in an EAR? That is how to do it in 6.0. Works well.
Peace,
Cameron Purdy
Tangosol, Inc.
http://www.tangosol.com
+1.617.623.5782
WebLogic Consulting Available
"gmo" <[email protected]> wrote in message
news:[email protected]...
> I am unable to call an EJB from jsp, unless I put the actuall classes of
> the EJB into the classpath. Is this the right way to do it?
> The exception is:
> Servlet failed with ServletException
> javax.servlet.ServletException: Servlet class: 'jsp_servlet._result'
> could not be loaded - the requested class wasn't found in the
> classpath:
>
'/local/apps/bea/wlserver6.0/config/gmodomain/applications/.wl_temp_do_not_d
elete/wl_local_comp34107.war:/local/apps/bea/wlserver6.0/./config/gmodomain/
applications/.wl_temp_do_not_delete/WEB-INF/_tmp_war_gmo_gmo_webwar:/local/a
pps/bea/wlserver6.0/config/gmodomain/applications/.wl_temp_do_not_delete/WEB
-INF/_tmp_war_gmo_gmo_webwar'
>
> at
>
weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.jav
a:532)
>
> at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:191)
>
> at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:148)
>
> at
>
weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:30
6)
>
> at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:208)
>
> at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:246)
>
> at
>
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:1265)
>
> at
>
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:1622)
>
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
>
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>
> where result.jsp is the jsp page calling the EJB. I did an import of the
> EJB classes in the jsp.
> like i said, it works if I put the bean classes in the classpath. But is
> it right?
> if I have these in the exploded format, do I need to put anything in the
> application web.xml under:
> wlserver6.0/config/gmodomain/applications/DefaultWebApp_gmo/WEB-INF ?
>
> redhat 6.2, wl6.0sp1
>
> here are the xml files:
> web.xml:
>
> <?xml version="1.0"?>
> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
> 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
>
> <!--
> $Id: web.xml,v 1.2 2001/03/14 22:23:03 jeff Exp $
> $Source:
> /usr/local/cvsroot/JUnitEE/example/components/web-war/WEB-INF/web.xml,v
> $
> -->
>
> <web-app>
> <display-name>My Web Application</display-name>
> <description>none</description>
> <ejb-ref>
> <ejb-ref-name>MyWeb</ejb-ref-name>
> <ejb-ref-type>Session</ejb-ref-type>
> <home>com.blah.ejb.myweb.WyWebHome</home>
> <remote>com.blah.ejb.myweb.MyWeb</remote>
> </ejb-ref>
> </web-app>
>
> weblogic.xml:
>
> <!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web
> Application 6.0//EN"
> "http://www.bea.com/servers/wls600/dtd/weblogic-web-jar.dtd">
> <weblogic-web-app>
> <jsp-descriptor>
> <jsp-param>
> <param-name>
> pageCheckSeconds
> </param-name>
> <param-value>
> 1
> </param-value>
> </jsp-param>
> <jsp-param>
> <param-name>
> verbose
> </param-name>
> <param-value>
> true
> </param-value>
> </jsp-param>
> <jsp-param>
> <param-name>compileCommand</param-name>
> <param-value>/local/apps/jdk1.3.0_02/bin/javac</param-value>
> </jsp-param>
> </jsp-descriptor>
> <reference-descriptor>
> <ejb-reference-description>
> <ejb-ref-name>MyWeb</ejb-ref-name>
> <jndi-name>MyWeb</jndi-name>
> </ejb-reference-description>
> </reference-descriptor>
> </weblogic-web-app>
>
> thanks,
>
> Gary
>
>
-
EJB lookup from another EJB server
Hi people,
I have two application servers on two different computers. One
of them contains an EJB, which I need to access from another EJB
server. I know that I can achieve this using RMI, but will then
security and transaction contexts be propagated to the called
EJB?
Sincerely,
Sergei Batiuk.Here is the solution posted on another forum:
[email protected] Dec 8, 6:03 am show options
Newsgroups: ibm.software.websphere.studio
From: [email protected]
Date: 8 Dec 2004 06:03:04 -0800
Local: Wed, Dec 8 2004 6:03 am
Subject: Re: EJB lookup on from one server to another does not work
Eric,
I dealt with this same problem trying to run 2 local servers (websphere
test servers), using 2 separate WSAD 5.1.2 workspaces. Running on 1
server I have an application that contains an EJB, and running on the
other server is an application that uses an access bean to make a
remote call to my EJB, running on my other server. I too repeately
received the "NameNotFoundException" when trying to lookup my EJB home
reference.
What you have to do to get around this is to modify the server
configuration of the application that contains the EJB that you are
attempting to call remotely. You must open the the server.wsi file for
the server that is running the EJB and go to the "Configuration" tab.
You must check the "Enable administrative console". Once this is
complete, start your server. When it is started, right click on the
server, and select "run administrative console". In the admin console,
select
servers -> application servers -> <your server> -> end points ->
bootstrap address. For "host" you must change "localhost" to either
your ip address or computer name (ive only tried my ip, but your
computer name should work too). When building your properties to get
the initial context, make sure you use
"env.put(Context.PROVIDER_URL, "corbaloc:iiop:<the ip or computer name
listed as the bootstrap host of server running ejb>:<the port listed as
the bootstrap port of server running ejb, which is 2809 in your case>
Restart your server and things should work. -
Problem accesing JPA EntityManager from JSP scriplet
Hy,
I am trying to access an EntityManager from JSP scriptlet for testing purposes and it just doesn't work.
Here is the JSP scriptlet:
<%
EntityManager em = (EntityManager) (new InitialContext()).lookup("java:comp/env/persistence/em");
Query query = em.createQuery("select u from USER u");
List<User> users = (List<User>) query.getResultList();
for (User user : users) { user.toString(); }
%>
The application is deployed in JBoss 4.2.2.GA.Sorry for my previous post. It was incomplete.
I am trying to access an EntityManager from JSP scriptlet for testing purposes and it doesn't work.
Here is the JSP scriptlet:
<%
EntityManager em = (EntityManager) (new InitialContext()).lookup("java:comp/env/persistence/em");
Query query = em.createQuery("select u from USER u");
List<User> users = (List<User>) query.getResultList();
for (User user : users) { user.toString(); }
%>
persistence.xml file :
<persistence-unit name="myApp">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:/XAOracleDS</jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle9iDialect"/>
</properties>
</persistence-unit>
web.xml file :
<persistence-context-ref>
<persistence-context-ref-name>persistence/em</persistence-context-ref-name>
<persistence-unit-name>myApp</persistence-unit-name>
</persistence-context-ref>
The application is deployed in JBoss 4.2.2.GA. When I access the JSP page I get the following exception:
javax.servlet.ServletException: javax.naming.NameNotFoundException: persistence not bound
I guess I have to configure the resource in jboss-web.xml too, but I don't know how. I tried with <resource-ref>, but I got the same error.
Any help at all would be highly appreciated !
Thanks.
Andrei -
Cant call localejbbean from jsp
hi all,
i try to call my LocalEjbBean from Jsp file , but i got this exception
this is my jsp file
<%
com.dcons.iss.HelloLocalHome home =null;
com.dcons.iss.HelloLocal hello=null;
Context ctx = new InitialContext();
Object obj=ctx.lookup("HelloLocalBean");
home = (com.dcons.iss.HelloLocalHome)obj;
hello = home.create();
hello.display();
%>
this is my ejb-jar xml
<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>Hello</ejb-name>
<local-home>com.dcons.iss.HelloLocalHome</local-home>
<local>com.dcons.iss.HelloLocal</local>
<ejb-class>com.dcons.iss.HelloLocalBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<ejb-local-ref>
<ejb-ref-name>HelloLocalBean</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local-home>HelloLocal</local-home>
<local>HelloLocalHome</local>
<ejb-link>HelloLocalBean</ejb-link>
</ejb-local-ref>
</session>
</enterprise-beans>
</ejb-jar>
this is my weblogic -ejb-jar.xml
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>Hello</ejb-name>
<stateless-session-descriptor>
</stateless-session-descriptor>
<reference-descriptor>
<ejb-local-reference-description>
<ejb-ref-name>HelloLocalBean</ejb-ref-name>
<jndi-name>HelloLocalBean</jndi-name>
</ejb-local-reference-description>
</reference-descriptor>
<local-jndi-name>HelloLocalBean</local-jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
Exception is
<May 17, 2004 12:53:00 PM GMT+05:30> <Error> <HTTP> <BEA-101017> <[ServletContex
t(id=14238425,name=TestServerPro,context-path=/TestServerPro)] Root cause of Ser
vletException.
javax.naming.LinkException: . Root exception is javax.naming.NameNotFoundExcept
ion: While trying to look up /app/ejb/LocalEJBProject.jar#Hello/local-home in /a
pp/webapp/TestServerPro/26623105.; remaining name '/app/ejb/LocalEJBProject/jar#
Hello/local-home'
at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(Basic
NamingNode.java:858)
at weblogic.jndi.internal.ApplicationNamingNode.lookup(ApplicationNaming
Node.java:150)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.j
ava:237)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:336)
at weblogic.jndi.factories.java.ReadOnlyContextWrapper.lookup(ReadOnlyCo
ntextWrapper.java:45)
at weblogic.jndi.internal.AbstractURLContext.lookup(AbstractURLContext.j
ava:130)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at weblogic.jndi.internal.WLNamingManager.getObjectInstance(WLNamingMana
ger.java:96)
at weblogic.jndi.internal.ServerNamingNode.resolveObject(ServerNamingNod
e.java:265)
at weblogic.jndi.internal.BasicNamingNode.resolveObject(BasicNamingNode.
java:732)
at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:19
1)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.j
ava:237)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:336)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at jsp_servlet.__index._jspService(index.jsp:20)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:402)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
va:27)
at com.bea.wlw.netui.pageflow.PageFlowJspFilter.doFilter(PageFlowJspFilt
er.java:208)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja
va:27)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispat
cherImpl.java:305)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.superForward(Page
FlowRequestProcessor.java:1304)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor$DefaultHttpRedire
ctor.forward(PageFlowRequestProcessor.java:1320)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.doForward(PageFlo
wRequestProcessor.java:1200)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.processForwardCon
fig(PageFlowRequestProcessor.java:1094)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:279)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.process(PageFlowR
equestProcessor.java:651)
at com.bea.wlw.netui.pageflow.AutoRegisterActionServlet.process(AutoRegi
sterActionServlet.java:527)
at com.bea.wlw.netui.pageflow.PageFlowActionServlet.process(PageFlowActi
onServlet.java:152)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:305)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispat
cherImpl.java:307)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.superForward(Page
FlowRequestProcessor.java:1304)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor$DefaultHttpRedire
ctor.forward(PageFlowRequestProcessor.java:1320)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.doForward(PageFlo
wRequestProcessor.java:1200)
at com.bea.wlw.netui.pageflow.PageFlowRequestProcessor.process(PageFlowR
equestProcessor.java:638)
at com.bea.wlw.netui.pageflow.AutoRegisterActionServlet.process(AutoRegi
sterActionServlet.java:527)
at com.bea.wlw.netui.pageflow.PageFlowActionServlet.process(PageFlowActi
onServlet.java:152)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:305)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:6354)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3635)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
>
javax.naming.LinkException: . Root exception is javax.naming.NameNotFoundException: While trying to look up /app/ejb/LocalEJBProject.jar#Hello/local-home in /app/webapp/TestServerPro/26623105.; remaining name '/app/ejb/LocalEJBProject/jar#Hello/local-home'
plz help me to solve this problemHi,
The portable way to lookup any resources within a J2EE component is to the private component namespace located under java:comp/env. Even though some products allow you to do a "global" lookup, that's not the preferred approach since it's not portable. Your deployment descriptors need to be changed since you need to define the ejb-local-ref within the descriptor of the client component, which in this case is the jsp. So, you would need to define the ejb-local-ref within the web.xml associated with the jsp. The ejb-ref-name within the ejb-local-ref should be appended to the java:comp/env lookup in your code. So, for your example, the jsp would ctx.lookup("java:comp/env/HelloLocalBean")
--ken
Maybe you are looking for
-
MacBook HDD dead; looking for a replacement if data recovery isn't possible
The HDD in one of my MacBooks has died - ticking at startup, and the file folder with the exclamation point ( ! ) on it upon boot. This just happened randomly one day, as I was watching a movie and the movie froze. I shut the computer down for the ni
-
check the code: for (int i=0; i<10; i++) { int tmp = 0; i want to know whether the tmp variable would be created each time the loop repeats or just once the first time. another simple question. check it; Vector vect = new Vector(); vect = null; decla
-
Cross-Repository Validation/Load
Assume that in the Product repository we have a qualified-lookup table which contains the Vendor/Pricing for a part. In this case we have two master objects that are (somewhat)related... like a Purchase Info Record in R3 ERP. The Product and the Vend
-
OIM 11.1.1.3 - Active Directory ADGroup question
All, I have used MSFT_AD_Base_9.1.1.7.0 to install active directory connector and synchronized (provision and reconciliation) oim users with the AD. I can't seem to find documentation on how to sync oim roles with with AD groups. Can you provide me s
-
Favorites exported from Internet Explorer are not available in Bookmarks drop down list as they should. Where can I find them?