EJB or JSP
Hi, I am trying to develop an application where the task is to search the underlying database tables based on web based user input (multi-user environment) and display the results back. One possible approach I could think of is to have my JSP pages do the connection pooling, database lookup etc. and display the results back to the browser and the other approach is to use EJBs. In the second approach my JSP pages are just clients to the EJBs and EJBs perform the actual business logic and database retrieval. Now my question... Which of the above two appraoches is more feasible? What are the advantages/disadvantages of using one over the other?? Does use of EJBs cause an extra overhead and result in poor performance?? In future we might extend the application for even database updates and inserts. Please let me know your thoughts. Thanks..
My two cents: If you are trying to code for reuse and maintainability, you follow the MVC (model, view, controller) paradigm and you cleanly separate the layers of applications. In this scheme, the view knows NOTHING about where the data came from to display on the screen. The data access mechanism has no knowledge of HOW the data it supplies is going to be used, etc. The obvious advantage of this is that this loose coupling of layers allows a developer to CHANGE the specifics of one layer without forcing the other layers to change. For instance, if you move data from one database table to another one and you have 40 JSP pages that all use this data, if they each directly access the DB, all pages have to be modified for the change. And if the pages all use a connection pool and the connection pool changes, you still modify all the pages. Instead, if all the pages simply ask some Java object (a simple class, a Session Bean, controller, etc.) to get the data they desire (i.e., "getCustomerAddress(aCust)"), then no matter where the data moves or what connection pool changes occur, none of the JSP pages has to change and be tested again.
Of course, the tradeoff is performance. There is no free ride. For most business applications today, the main concern is flexibility and rapid change. So the clean separation of layers and coding for maintainability is usually a winner. However, there will always be places in the app where you might have very critical timing/performance issues. So FOR THOSE PLACES, you might want to use alternative methods of accessing and saving data.
It should not be ALL or NONE. As you architect the application, you decide where the bottlenecks will be, where the most frequent changes are likely to occur in the business logic, and you design accordingly to give the users maximum performance AND adaptability.
That's my take on it.
Dave
Similar Messages
-
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 use EJB in JSP...urgent!!!
hello,
i am novice programmer in EJB.
i am using weblogic 6.1 ...
my problem is how to use EJB in jsp page.
my code is as follow..but its not displaying any result.
<%@ page import="javax.naming.InitialContext,
javax.naming.Context,
java.util.Properties,
firstEJB.First,
firstEJB.FirstHome"%>
<%
long t1 = System.currentTimeMillis();
System.out.println(t1);
Properties props = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.TengahInitialContextFactory");
props.put(Context.PROVIDER_URL, "localhost:7001");
Context ctx = new InitialContext(props);
FirstHome home = (FirstHome)ctx.lookup("FirstEJB");
First bean = home.create();
String time = bean.getTime();
bean.remove();
ctx.close();
long t2 = System.currentTimeMillis();
%>
<html>
<head>
<style>p { font-family:Verdana;font-size:12px; }</style>
</head>
<body>
<p>Message received from bean = "<%= time %>".<br>Time taken :
<%= (t2 - t1) %> ms.</p>
</body>
</html>
please tell me the solution.Hi, I don't know if it may be the cuase of your problems, but you should narrow the Object obtained doing the lookup, like this:
FirstHome home = (FirstHome) PortableRemoteObject.narrow(ctx.lookup("FirstEJB"), FirstHome.class); -
How to master good design with EJB and JSP?
I use JSP to calling EJB. But the .jsp file is complex and it's difficult to maintain...I just want to work higher efficent with EJB,JSP and JavaBean. I want to know is there a good design with EJB and JSP? and is there any good material about MVC for EJB,JSP and JavaBean?
You should read the J2EE blueprint available on this website. Better download the PDF, and print it for yourself so you can read it anytime.
-
HOW can I call EJB with JSP?
Hi, I'm working with JSP and want to include some EJB. I dont know how can I access EJB through JSP. I dont know if I use the right code in JSP for calling EJB. Did someone know how to use that? Can someone tell me if is the right code in JSP in my example?
Thanks, Kristjan
THIS IS THE JSP: (useejb.jsp)
<%@ taglib uri="http://xmlns.oracle.com/j2ee/jsp/tld/ojsp/ejbtaglib.tld" prefix="EJB" %>
<%@ page import="mypackage1.MySessionEJB" %>
<%@ page import="mypackage1.MySessionEJBHome" %>
<%@ page import="mypackage1.impl.MySessionEJBBean" %>
<HTML>
<head><TITLE>USEBEAN</TITLE></head>
<body>
<EJB:useHome id="mySessionEJBHome" type="mypackage1.MySessionEJBHome" location="java:comp/env/ejb/mySessionEJB" local="false" />
<EJB:useBean id="mySessionEJBBean" type="mypackage1.impl.MySessionEJBBean" local="false">
<EJB:createBean instance="<%=mySessionEJBHome.create() %>" />
</EJB:useBean>
<%= mySessionEJBBean.calc() %>
</body>
</html>
THIS IS THE EJB CODE:(MySessionEJBBean.java)
package mypackage1.impl;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import java.lang.String.*;
public class MySessionEJBBean implements SessionBean
public void ejbCreate(){}
public void ejbActivate(){}
public void ejbPassivate(){}
public void ejbRemove(){}
public void setSessionContext(SessionContext ctx){}
public String calc(String value)
return value + value;
public String zanka(String x)
return x;
(MySessionEJB.java)
package mypackage1;
import javax.ejb.EJBObject;
import java.rmi.RemoteException;
public interface MySessionEJB extends EJBObject
public String calc(String value) throws RemoteException;
String zanka(String x) throws RemoteException;
(MySessionEJBHome.java)
package mypackage1;
import javax.ejb.EJBHome;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
public interface MySessionEJBHome extends EJBHome
public MySessionEJB create() throws RemoteException, CreateException;
}You might want to look at using a Java Bean wrapper, this can be done automically using WebSphere. It creates what is called an access bean which the JSP imports.
HTH,
J.Clancey -
TagLib created by EJB to JSP Integration Tool
Hi, I've an EJB deployed on WebLogic 6.1 and I'm using WebLogic's EJB to JSP Integration
Tool to create JSP Tag Libraries.
I've written a jsp look like this.
<%@ taglib uri="WEB-INF/abc-tags.tld" prefix="abc" %>
In web.xml include a <taglib> element
taglib>
<taglib-uri>/abc-tags</taglib-uri>
<taglib-location>WEB-INF/abc-tags.tld</taglib-location>
</taglib>
Gary Tam wrote:
> Hi, I've an EJB deployed on WebLogic 6.1 and I'm using WebLogic's EJB to JSP Integration
> Tool to create JSP Tag Libraries.
> I've written a jsp look like this.
>
> <%@ taglib uri="WEB-INF/abc-tags.tld" prefix="abc" %>
-
Re: Accessing EJB through JSP
Can anyone guide me to a tuorial thru which I can learn how to invoke EJBs thru
JSP pages.
Thanks..Kevin
EJB to JSP Integration
http://edocs.bea.com/wls/docs61/jsp/ejb2jsp.html
Kevin wrote:
> Can anyone guide me to a tuorial thru which I can learn how to invoke EJBs thru
> JSP pages.
>
> Thanks..Kevin
-
Pls. help me out..Accessing ejb through jsp
hi all,
I am running my ejb on the j2sdkee.1.2.1 and jdk1.3 on Windows 2000. I am facing a problem while accessing the ejb from the jsp page. Its running fine when accessing through a client application. The following is the error when I try to access it using:
http://localhost:8000/first/FirstEJB.jsp
Error: 500
Internal Servlet Error:
org.apache.jasper.JasperException: Unable to compile class for JSP
at org.apache.jasper.runtime.JspLoader.loadJSP(JspLoader.java:287)
at org.apache.jasper.runtime.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:137)
at org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.java:148)
at org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:247)
at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:352)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at org.apache.tomcat.core.ServiceInvocationHandler.method(ServletWrapper.java:626)
at org.apache.tomcat.core.ServletWrapper.handleInvocation(ServletWrapper.java:534)
at org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:378)
at org.apache.tomcat.core.Context.handleRequest(Context.java:644)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:440)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:144)
at org.apache.tomcat.service.TcpConnectionThread.run(TcpEndpoint.java:310)
at java.lang.Thread.run(Thread.java:484)
Root cause:
java.lang.NullPointerException
at java.io.File.(File.java:181)
at org.apache.jasper.compiler.JspCompiler.computeClassFileData(JspCompiler.java:285)
at org.apache.jasper.compiler.JspCompiler.getClassName(JspCompiler.java:103)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:105)
at org.apache.jasper.runtime.JspLoader$2.run(JspLoader.java:273)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.jasper.runtime.JspLoader.loadJSP(JspLoader.java:270)
at org.apache.jasper.runtime.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:137)
at org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.java:148)
at org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:247)
at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:352)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
at org.apache.tomcat.core.ServiceInvocationHandler.method(ServletWrapper.java:626)
at org.apache.tomcat.core.ServletWrapper.handleInvocation(ServletWrapper.java:534)
at org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:378)
at org.apache.tomcat.core.Context.handleRequest(Context.java:644)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:440)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:144)
at org.apache.tomcat.service.TcpConnectionThread.run(TcpEndpoint.java:310)
at java.lang.Thread.run(Thread.java:484)
The name of the jsp file is FirstEJB.jsp
The name of the ear file is FirstEJB - Stateless Session Bean
The name of the WAR File is FirstWAR
I have created a Web Component named first
Can anyone tell me how to access the ejb using jsp?
Thanks,
ajitHello all,
Sorry for the trouble. I got the mistake..I had not given the context in the deploytool..
Thanks,
ajit -
just now i read some articles about EJB and it make me a little confused in what i have understood about EJB and JSP ( at least i thought i understood them, but now ....()
1. i found that in most JSP examples, the javabeans are used but not the EJB, right? so i have a qustion, an EJB can be used in JSP or not? and how if it can? why if it can not?
...still have a lot of question ....
thanks a lotHi,
1. i found that in most JSP examples, the javabeans
are used but not the EJB, right? so i have a qustion,
an EJB can be used in JSP or not? and how if it can?
why if it can not?It can be there for more of the examples,but you can invoke the EJB from the JSP also .Actual EJB is entirely the different concept whose foundation is build on the Distributed Technology.I advice you to read the Mastering EJB which is freely available at http://theserverside.com
before starting coding.The EJB is a vast concept and requires time and strong core foundation to understand,once it is clear then you understand it true potential...
...still have a lot of question ....You queries are welcome here!!!
regards
Vicky -
Propagation of ctx between EJB and JSP
Hello,
Does anybody know how to propagate the Security
Context between EJB and JSP so that when I login in my JSP page the user will be after recognized in my EJB system ?
Thanks
Francescotry this...as a test..
take a simple Contact ejb (as simple as you can make it, just a name and email address). In the ejb-jar.xml set up a role, for example, user, and restrict the access to only this role for all methods.
try to access the ejb from a jsp, and you should get the login form identified in your web.xml file.
make sure that the ejb is noted in the web.xml file, also.
this should work...
no try this...identify a role in your web.xml file, (user, for example) and restrict the access to the a particular jsp which is not calling the ejb. IF you navigate to this jsp, you should get the login prompt...
this should work....
now the tough part
in your application.xml create a role with the same name, user. By doing this, you have created a global role, and connect the two together.
Now point your browser to the restricted jsp with no calls to the ejb...you should get the login, so login in.
now navigate to your jsp which is unrestricted, but calls the restricted ejb...
there should now be no login prompt.
This should work. -
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
>
>
-
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! -
How to lookup an EJB from JSP on a Remote Server in JES2005Q4
Hi,
I am having two different domain (domain1,domain2) respectvely. My ABC.ear j2eee application is deployed on domain2 and its iiop port is 33703.In domain1 i have xyz.war (web application) and it's IIOP port is 3700 .In xyz.war i am having CallEJB.jsp file.In this Jsp file i want to lookup an EJB Service called PaymentEJB(JNDI Name is ejb/PaymentEJB).
The code is below
InitialContext context=new InitialContext();
Object objRef=context.lookup("corbaname:iiop:andaman:33703#ejb/PaymentEJB");
I am getting the following error.
[#|2005-12-14T16:42:03.422+0530|SEVERE|sun-appserver-pe8.1_02|javax.enterprise.resource.corba._DEFAULT_.rpc.transport|_ThreadID=11;|"IOP00410216: (COMM_FAILURE) Unable to create IIOP listener on the specified host/port: all interfaces/3700"
org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 216 completed: No
at com.sun.corba.ee.impl.logging.ORBUtilSystemException.createListenerFailed(ORBUtilSystemException.java:2661)
My doubt is
1.While starting domain1 and domain2 iiop listeners are started on the port 3700 and 33703.in that case why EJB lookup tries to create listener on one more time.
2.I am looking the 33703 port only.but it tries to create port on 3700 why?
3.It was working till JES2005Q1.Is there any patch i need to install? or i need to change anything in my code.
I am frustrated with this error for past one week.I will be happy if some body will give me the peace of mind(thru some solution).Hi,
I am having two different domain (domain1,domain2) respectvely. My ABC.ear j2eee application is deployed on domain2 and its iiop port is 33703.In domain1 i have xyz.war (web application) and it's IIOP port is 3700 .In xyz.war i am having CallEJB.jsp file.In this Jsp file i want to lookup an EJB Service called PaymentEJB(JNDI Name is ejb/PaymentEJB).
The code is below
InitialContext context=new InitialContext();
Object objRef=context.lookup("corbaname:iiop:andaman:33703#ejb/PaymentEJB");
I am getting the following error.
[#|2005-12-14T16:42:03.422+0530|SEVERE|sun-appserver-pe8.1_02|javax.enterprise.resource.corba._DEFAULT_.rpc.transport|_ThreadID=11;|"IOP00410216: (COMM_FAILURE) Unable to create IIOP listener on the specified host/port: all interfaces/3700"
org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 216 completed: No
at com.sun.corba.ee.impl.logging.ORBUtilSystemException.createListenerFailed(ORBUtilSystemException.java:2661)
My doubt is
1.While starting domain1 and domain2 iiop listeners are started on the port 3700 and 33703.in that case why EJB lookup tries to create listener on one more time.
2.I am looking the 33703 port only.but it tries to create port on 3700 why?
3.It was working till JES2005Q1.Is there any patch i need to install? or i need to change anything in my code.
I am frustrated with this error for past one week.I will be happy if some body will give me the peace of mind(thru some solution). -
How can I call EJB from JSP/Servlets in iWS?
Hi!!
My JSP/Servlets are on iWS, and I deploy EJB on iAS.
In this case, I don't know how JSP/Servlet call EJb on iAS.
I'd like to know how I can set JNDI name in JSP/Servlet on iWS.
I will thank you if you give me a simple example source using JSP/Servlet
and EJB.
Thanks in advance!!!
- Park-Park,
Why Are you running your JSP/Servlets in iWS instead of iAS? For whatever
reason,
look at the Converter sample from iAS. You will be doing RMI/IIOP in this
case and the sample explains in detail what to do.
hth,
-robert
"SungHyun, Park" <[email protected]> wrote in message
news:9jpfmt$[email protected]..
Hi!!
My JSP/Servlets are on iWS, and I deploy EJB on iAS.
In this case, I don't know how JSP/Servlet call EJb on iAS.
I'd like to know how I can set JNDI name in JSP/Servlet on iWS.
I will thank you if you give me a simple example source using JSP/Servlet
and EJB.
Thanks in advance!!!
- Park- -
Hi - I'm running OC4J 9.0.2 on windows 2000
I have a JSP that accepts user inputs and the call respective Servlets. Before the servlet gets called, I want to log a tracing event with an EJB(Stateless Session Bean).
I have manipulated the "form" values with JavaScript but cannot find any docs on how to call an EJB from JavaScript in a JSP.
The JSP and EJB works fine on there own. How do I get the "form" values into the EJB variables without JavaScript?
The EJB logs fine while still in the "JAVA" part of the JSP but I don't know how to extract these 2 index values.
Tks
Andre
Here is extract of code:
<%@ page language="java" contentType="text/html;charset=windows-1252"%>
<%@ page language="java" import="java.io.*"%>
<%@ page language="java" import="java.util.*"%>
<%@ page language="java" import="javax.naming.*"%>
<%@ page language="java" import="javax.rmi.*"%>
<%@ page language="java" import="WizardEvents.WizEventLog.*"%>
<HTML>
<HEAD>
<BODY background="/wp/Background.gif">
<script language="JavaScript">
// build timer to display at bottom of screen for debugging of screen dumps
function display_time()
var da = new Date();
var dd = da.getDate('DD');
var dm = da.getMonth('MON')+1;
var dy = da.getYear('YYYY');
var h = da.getHours();
var m = da.getMinutes();
if (m < 10)
m = "0" + m;
var t = dy+"\-"+dm+"\-"+dd+" "+h+":"+m;
defaultStatus = t;
setTimeout("display_time()",60000); // one minute
return true;
function registerEvent()
var menuItem = document.selRequest.selCategory.selectedIndex;
var serviceOption = document.selRequest.serviceOption.selectedIndex;
// now invoke EJB to log event
alert("selected menu option is "+menuItem+" and service option "+serviceOption);
return true;
// get the value from the categories and build up list of the options...
function buildItems()
// alert("Building items");
// get the index (starting with 0) of the categories selection
var menuItem = document.selRequest.selCategory.selectedIndex;
// reset the values for the options selection to 0
document.selRequest.serviceOption.length=0;
// define new array to hold options for transfer to selection item
newOptions = new Array;
// Now check which menu option, build list
var newLength = 0;
switch(menuItem)
case 0:
newLength = 1;
newOptions[0] = new Option("No Service Option",0,false,false);
break;
case 1:
newLength = 1;
newOptions[0] = new Option("No Service Option",0,false,false);
break;
case 2:
newLength = 1;
newOptions[0] = new Option("No Service Option",0,false,false);
break;
case 3:
newLength = 1;
newOptions[0] = new Option("No Service Option",0,false,false);
break;
case 4:
newLength = 1;
newOptions[0] = new Option("No Service Option",0,false,false);
break;
case 5:
newLength = 5;
newOptions[0] = new Option("All wallet and airtime balance",0,true,true);
newOptions[1] = new Option("Airtime balance",1,false,false);
newOptions[2] = new Option("SMS-a-lot balance",2,false,false);
newOptions[3] = new Option("Call Extender balance",3,false,false);
newOptions[4] = new Option("Per Second Billing balance",4,false,false);
break;
case 6:
newLength = 2;
newOptions[0] = new Option("Subscriber data - Channel Provisioning Options",8,true,true);
newOptions[1] = new Option("IBS Pending Transaction Inquiry",9,false,false);
break;
default:
newLength = 1;
newOptions[0] = new Option("No Service Option - Default",0,false,false);
break;
var serviceOption = document.selRequest.serviceOption;
// transfer array to select statement
for (var i=0; i < newLength; i++)
serviceOption.options[i] = newOptions;
</script>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
<TITLE>Wizard Prepaid Interface</TITLE>
<%----%>
<BODY text="#FFFFFF" bgcolour="#ffffff" bgcolor="#3c698a" onload="display_time();" >
<H2 ALIGN=Center>Wizard Prepaid Interface</H2>
<PRE>
<%
java.util.Enumeration params=request.getParameterNames();
StringBuffer urlBuf = request.getRequestURL();
String urlValue = urlBuf.toString();
int colPos = urlValue.indexOf(":8888");
String serverName = urlValue.substring(0,colPos+5);
String paramValues1[] = request.getParameterValues("event_ref_no");
String eventRefNo = paramValues1[0];
String paramValues2[] = request.getParameterValues("msisdn_no");
String msisdnNo = paramValues2[0];
String paramValues3[] = request.getParameterValues("operator_id");
String operatorId = paramValues3[0];
String paramValues4[] = request.getParameterValues("wizDB");
String wizDB = paramValues4[0].toLowerCase();
// set session values into session object
session.removeAttribute("eventRefNo");
session.removeAttribute("msisdnNo");
session.removeAttribute("operatorId");
session.removeAttribute("wizDB");
session.removeAttribute("serverName");
session.setAttribute("eventRefNo",eventRefNo);
session.setAttribute("msisdnNo",msisdnNo);
session.setAttribute("operatorId",operatorId);
session.setAttribute("wizDB",wizDB);
session.setAttribute("serverName",serverName);
session.setAttribute("eventOpenCount","0");
session.setAttribute("errorString","No errors encountered yet");
// now build ref to lookup event log EJB
WizardEvents.WizEventLog eventBean;
Context ctx = new InitialContext();
Object homeObject=ctx.lookup("WizEventLog");
WizardEvents.WizEventLogHome home =
(WizardEvents.WizEventLogHome)PortableRemoteObject.narrow(homeObject, WizardEvents.WizEventLogHome.class);
eventBean=(WizardEvents.WizEventLog)PortableRemoteObject.narrow(home.create(),
WizardEvents.WizEventLog.class);
int eventRefNoInput = Integer.parseInt(eventRefNo);
int operatorIdInput = Integer.parseInt(operatorId);
long msisdnNoInput = Long.parseLong(msisdnNo);
int callCatCodeInput = 177;
int callCatItemCodeInput = 2;
String machineName = "WEB";
String moduleName = "WIZARDPREPAID.JSP";
String[] resArray = null;
// event logging EJB
resArray = eventBean.setEventDetail(eventRefNoInput,
operatorIdInput,
callCatCodeInput,
callCatItemCodeInput,
machineName,
moduleName,
wizDB);
%>
</PRE>
<%--
// check if data passed is valid
--%>
<jsp:include page="/servlet/CheckValidURL" flush="true"></jsp:include>
<%
if (session.getAttribute("eventOpenCount").equals("1"))
%>
<H3 ALIGN=CENTER>MSISDN = <%=msisdnNo%></H3>
<HR>
<H4 ALIGN=CENTER>Prepaid Query History</H4>
<%--
onclick can empty the service options field
--%>
<TABLE>
<TD>Enter request target :</TD>
<%--action="/wp/servlet/ValidateParamsClass"--%>
<FORM name="selRequest" method="POST" >
<TD><SELECT name="selCategory" onchange="buildItems()" >
<OPTION value="Prepaid Cards Loaded">Prepaid Cards Loaded</OPTION>
<OPTION value="Prepaid Recycle History">Prepaid Recycle History</OPTION>
<OPTION value="Prepaid Failed Recharges">Prepaid Failed Recharges</OPTION>
<OPTION value="Prepaid Access4Life Status">Prepaid Access4Life Status</OPTION>
<OPTION value="Prepaid Number4Life Status">Prepaid Number4Life Status</OPTION>
<OPTION value="IBS Balance Inquiry">IBS Balance Inquiry</OPTION>
<OPTION value="IBS Subscriber Data Inquiry">IBS Subscriber Data Inquiry</OPTION>
</SELECT>
</TD>
</TABLE>
<%--
Build the possible service options for IBS depending on selection
Create selection list and then assign default value of none
--%>
<TABLE>
<TD>Possible Service Options:</TD>
<TD><select name="serviceOption">
<option value="">No option available</option>
<SCRIPT>
// re-build items to cater for FORWARD/BACK buttons, etc
buildItems();
</SCRIPT>
</TD>
</TABLE>
<%--
--%>
<%--
--%>
<INPUT type="submit" value="Query Prepaid Systems" onclick="registerEvent()" >
</FORM>Hi Christian,
A few questions to clarify where the cause of the problem might be:
1. When you run the JSP app in JDeveloper, are you connecting to the remotely deployed app module, or the local one in your workspace?
2. In your JSP project, there is an appmodule.properties file. This file should specify the connection mode to use to connect to your EJB (ConnectMode=EJB), and should be deployed to a directory on your webserver's classpath, along with the connections.properties file. If the appmodule.properties file contains the wrong connectmode setting, or is not on the classpath for the webserver, this might be the cause.
Let us know. -
I've used beans in JSP.. but how to use EJB's in beans ??
EJB's are deployed in Oracle 8i
Please Help
Thank You.Please find the answer in this HOWTO:
http://technet.oracle.com:89/ubb/Forum2/HTML/006404.html
HOWTO's are archived on the JDeveloper Documentation page:
http://technet.oracle.com/docs/products/jdev/listing.htm (Click on Documentation Tab)
Thanks,
-Roel.
Maybe you are looking for
-
ICal Color Coding for Family Members on on Master Calendar?
I have a very detailed ical calendar for all the family members' activities & would like to view them with a different color per person on one single calendar. I am not clear whether creating a calendar per person in a group will allow me to then mer
-
Ipod touch and iphone cannot connect, as no apple mobile device usb
First the problems was my ipod touch, it did not connect to itunes, my computer or would not charge. I tried everything, uninstalling apple software, restarting apple mobile device manager. I tried to find the apple mobile device usb, and it was just
-
I just paid almost $10 to create a pdf from a jpg file, but I did it so that I could edit it. Now I find out I needed a different Adobe package that would create the pdf AND let me edit it. What do I do now?
-
Add a 2 channel track to video file
I have a WD TV Lube Hub media center hooked up to my TV/surround system in the living room, and it's loaded with movies, all in mkv container, DTS or DD 5.1 sound. I've been using iVI Pro/iFlicks/Road Movie to convert them for iPad, using pass-throug
-
Trackpad problems after upgrade
Hi, I replaced a dented bottom casing on my Powerbook G4 12 inch 1.5 Ghz and at the same time upgraded the internal hard drive from 80 GB to the maximum 250 GB as suggested by the apple dealers (and apple themselves though they were not allowed to in