How to call ejb from a Swing gui application client?
Hi Everyone,
I am new to EJB and I have question for calling an ejb from a Swing GUI application client. Can anyone give me an example of how my Swing GUI can call an EJB from a SUN ONE Application Server. If anyone can give me some insight, I appreciate it.
I have looked up various sources and just can't get it to work. I know I have to use the lookup() method, but I have also seen lookups using IIOP://servename......
Context ctx = getInitialContext();
DemoHome dhome = (DemoHome)ctx.lookup("demo.DemoHome");
or
Context ctx = getInitialContext();
DemoHome dhome = (DemoHome)ctx.lookup(java:comp/......)
so can anyone tell what is the difference between using iiop://servername..... as the lookup string and java:comp/......
and if using java:comp/ what does this mean? Does it mean that lookup() method is looking for the ejb somewhere in this directory. I would really appreciate if someone can give an example of a Swing GUI calling a ejb from an application server and how the code is actually doing the lookup in and what are each steps it goes through.
Thanks
Similar Messages
-
How to call ejb from Forms?
Hi.
I have an existing form (version 11.1.2.0.0) and an existing ejb. Both are running on a WebLogic server version 10.3.5.0. I want to call the ejb from the form (I know that this is not recommended, but in this case it is the only sensible solution). I have tried searching the web but I have not been able to find anything about this except some broken links.
Can somebody please explain how to do this or show me some documentation or tutorial?
Regards,
Sveinung
Edited by: SvSig on Aug 7, 2012 11:52 PMLet's skip the fact that you are asking about an EJB and instead talk about what options are available to call out to any external app or component. Here are some of the options:
<blockquote>1. To make calls from the client machine to any web server (HTTP listener) you can use WEB.SHOW_DOCUMENT. This command simply passes a url to a browser. No return information is passed back into the running form.
2. To make calls from the client machine to almost any process on the client side, including the OS directly, you would need to create a java bean and integrate it into your form. Whether or not you get return information will depend on how you write the bean and to what you are calling.
3. To make calls from the server side (mid tier) part of a running form to an external application or component on the same mid tier you can use the HOST command. This executes a shell command. Although specific information cannot be returned (i.e. return values), you can get pass or fail results.
4. To call out to java applications on the mid tier you can import java code into your Forms application using the Forms Java Importer. This will give you a direct connection to the java application both in and out.</blockquote>
All of the above examples are explained in the Forms Builder online help. There are other options which are explained in the Forms Deployment Guide
<blockquote>http://docs.oracle.com/cd/E24269_01/doc.11120/e24477/toc.htm</blockquote>
Look specifically at chapters 6-8
<blockquote><li>6 Oracle Forms and JavaScript Integration
<li>7 Enhanced Java Support
<li>8 Working with Server Events</blockquote>
Summary
<blockquote><li>WEB.SHOW_DOCUMENT
<li>HOST
<li>Java Bean
<li>Imported Java</blockquote> -
How to Call EJB from coldfusion
I need to call EJB that's created in JBoss from coldfusion.
I'm getting different errors depending on how I set the home object
and provider url.
If I prefix provider url with jnp://, then I get the
following error
The connection to the remote JNDI server on host jnp at port
1099 has failed (as have all backup hosts listed, if any) - please
verify that the server is running and the NamingService is
available
If I take the jnp out and keep just the ip address and port,
then i get the following error
null (no security manager: RMI class loader disabled).
So I'm not sure what the issue is and I haven't used this
feature before.
Here's my codeI tries to call custom EJBfrom custom component received
follwong error
ERROR [STDERR] javax.naming.CommunicationException [Root exception is java.lang.ClassNotFoundException:
No ClassLoaders found for: com.mycom.myapp.action.interfaces.pm.ejb.PmFacadeRemote
(no security manager: RMI class loader disabled)]
any idea?
Thanks
YogLC -
How to call EJB deployed on OC4J from java stored procedure?
Hello,
I'd like to call EJB from java stored procedure. My example works fine from command line, but the problem seems to be with deployment of this code into database. Especialy I'm wondering how to reference jars like oc4jclient.jar, ejb.jar, ... from java stored procedure.
Is there some example how to do that ?
Can You help me please ?
Many thanks,
Radim Kolek,
Eurotel Prague.Hi,
You may want to check up this thread
Calling JBoss EJBs from Java stored procedure
Hope this helps,
Sujatha.
OTN Group. -
Calling EJB from Java Stored Procedures
Hi,
I am trying to call an Enterprise Java Bean from stored procedure. This stored procedure calls a java program. As long as it is a simple java program it works fine and loadjava.exe does not give any problem (neither compile-time nor run-time).
It is not working when I am trying to call EJB from it. It is giving compile-time error.
If anybody has implemented the same please suggest how to go forward.
thanks in advance,
Shashank AgarwalI tried the same thing without any luck. I assume you are using OC4J for your EJB ...
The compiling issue may be because you don't have the classes in your EJB client jar loaded into the database. Once those classes are loaded, you should loadjava without any problem.
However, you won't be able to call the EJB server because the EJB client (your Java code in the DB) will need the OC4J environment (oc4j.jar). I have tried to load oc4j.jar into the DB as well, and that was a big mess and nothing worked. My DB is 8.1.7, maybe the new 9i have OC4J libs bundled?!?
I looked around and only found 2 alternatives:
1. Write a JSP page that acts like an EJB client, then use URLConnection in your DB java code to send params to the JSP for it to invlode the EJB
2. Replace the JSP with RMI code, and use RMI instead of URLConnection in your DB code to invloke the EJB client.
If you find any other solution, please share it here.
Good luck!
Hi,
I am trying to call an Enterprise Java Bean from stored procedure. This stored procedure calls a java program. As long as it is a simple java program it works fine and loadjava.exe does not give any problem (neither compile-time nor run-time).
It is not working when I am trying to call EJB from it. It is giving compile-time error.
If anybody has implemented the same please suggest how to go forward.
thanks in advance,
Shashank Agarwal -
Hello, everybody,
I'm very new at EJB and I'm trying to learn it.
I have created Enterprise Application using Netbeans IDE, I have EJB and APP client. What I want is to connect to my MySql database and get some info from table.
For e.g. Login and Password.
How can I call EJB from my client app which connects to my database and gets information I need?What server you are using?
if you use jboss AS ,here is a simple Main class how to connect EJB and access ejb methods:
package com.david.ejb.client;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;
import com.david.ejb.domain.Person;
import com.david.ejb.domain.PersonRemote;
public class Main {
public static void main(String[] args) {
try {
Context ctx = getInitialContext();
Object obj = ctx.lookup("PersonSessionRemote/remote");
PersonRemote pr=(PersonRemote)PortableRemoteObject.narrow(obj, PersonRemote.class);
Person p=new Person();
p.setName("david");
pr.addPerson(p);
pr.findPerson(1);
// System.out.print(br.find(pk).getAuthor_name());
} catch (Exception ex) {
ex.printStackTrace();
private static Context getInitialContext() throws NamingException {
Properties p = new Properties();
p.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.NamingContextFactory");
p.setProperty(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
p.setProperty(Context.PROVIDER_URL, "jnp://localhost:1099");
return new InitialContext(p);
}Person is ant @Entity and PersonRemote is remote interfaces, to connect database you have to make datasource file at jboss-4.2.3.GA\server\default\deploy
simle mysql-ds.xml looks like this:
datasources>
<local-tx-datasource>
<jndi-name>some name</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/dbname</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>root password</password>
<min-pool-size>5</min-pool-size>
<max-pool-size>100</max-pool-size>
<idle-timeout-minutes>15</idle-timeout-minutes>
<exception-sorter-class-name>com.mysql.jdbc.integration.jboss.ExtendedMysqlExceptionSorter</exception-sorter-class-name>
<valid-connection-checker-class-name>com.mysql.jdbc.integration.jboss.MysqlValidConnectionChecker</valid-connection-checker-class-name>
</local-tx-datasource>
</datasources>also at resources/META-INF directory you must have persistence.xml like this
<persistence>
<persistence-unit name="SimpleEjb">
<jta-data-source>java:/some name</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
</properties>
</persistence-unit>
</persistence> -
Hello Developers!
I deployed my ejb to OAS4081. I call that
from JDeveloper so it good. But when I try
to call from applet in IExpl5 I can't
instantiate the ORB. I've got a com.ms.security.SecurityException : oracle.oas.orb.CORBA.ORB.init
I coded the CLASSPATH(oasoorb(yoj),client,
ejbapi...) perfectly, I think.
If anybody could help, please...
Thanx!Hi there,
I saw someone on this group had a problem to locate proper classpath
to call EJB from JSP. I thought if you call EJB from classpath, you are
calling the bean. But you loss all the EJB functions. To be able to utilize
EJB features like object pooling. You need to call it from Weblogic server
using url/jndi, not from the jar directly.
Any comment? Am I right?
BTW, my question about calling EJB from JSP means calling through URL,
not a local path.
Thank you
>-------------------------------------------------------------------->
Jim wrote in message <[email protected]>...
>Hi there,
> Can I call EJB from JSP? Is there a particular security setting or
>concern for Weblogic? Is there an coding example?
>
>Thank you
>
>
-
Related documents or links on how to call webservices from WDJ
Hi all
i need documents & links on how to call webservices from Webdynpro for Java.
if anybody send the documents on sample scenarios on the same then it is the great help to me...
Thanks
SunilHi Sunil,
May these links help you.
http://help.sap.com/saphelp_nw04/helpdata/en/f7/f289c67c759a41b570890c62a03519/frameset.htm
http://help.sap.com/saphelp_nwce10/helpdata/en/64/0e0ffd314e44a593ec8b885a753d30/frameset.htm
http://help.sap.com/saphelp_nw04s/helpdata/en/d2/0357425e060d53e10000000a155106/frameset.htm
and the below thread to call weservices in java.
Re: How to call a web service from Java
Regards,
Supraja -
Calling EJB from other EJB on other J2EE Server
Can I call EJB from other EJB on other J2EE Server
Servers - Websphere 5.0
Do i require home & remote interface of that ejb on client side also
Help me, pleasethe problem is actually i require that is specific to websphere
for example i want to call a method ion that ejb
say my ejb name is myejb
so the normal way i should call is
InitialContext initialContext = new InitialContext();
Object homeObject = initialContext.lookup("ejb/MyEjbHome");
MyEJBHome myEJBHome =(MYEjbHome )javax.rmi.PortableRemoteObject.narrow(homeObjectMYEjbHome.class);
myEJB = lSHome.create();
myEJB.someMethod();
but here i am having class for home and remote available
now if other app server i am not having this classes then what to do -
Calling EJB from from a client app
Hi all,
I am trying to call an EJB component from portal. The example EJB I have taken is from SDN Bonus Calculator example - Application Server/Web Dynpro/Samples and Tutorials/Using EJBs (20)
I deployed the EAR file - no issue
I wrote the following code in a client app and trying to connect to the EJB remotely.
try {
java.util.Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "com.sap.engine.services.jndi.InitialContextFactoryImpl");
properties.put(Context.PROVIDER_URL, "ux0800:55304");
InitialContext ctx = new InitialContext(properties);
//InitialContext ctx = new InitialContext();
// get ejb home
home =
(BonusCalculatorLocalHome) ctx.lookup(
"localejbs/MySessionBean");
theCalculator = home.create();
} catch (Exception namingException) {
namingException.printStackTrace();
I get the following error
javax.naming.NoInitialContextException: Cannot instantiate class: com.sap.engine.services.jndi.InitialContextFactoryImpl [Root exception is java.lang.ClassNotFoundException: com.sap.engine.services.jndi.InitialContextFactoryImpl]
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.init(Unknown Source)
at javax.naming.InitialContext.<init>(Unknown Source)
at com.sap.bonus.calculation.sessionBean.MyCommandBean.<init>(MyCommandBean.java:27)
at com.sap.bonus.calculation.sessionBean.MyCommandBean.main(MyCommandBean.java:68)
Caused by: java.lang.ClassNotFoundException: com.sap.engine.services.jndi.InitialContextFactoryImpl
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source)
Any clue will be appreciated.
thnxHi Sabbir,
Following code works for me in calling EJB from normal java application. Did you added the jar files to your application?. see the required jar files in end of code.
Create simple java applcation do the following steps:
Give JNDI name to the EJB(HelloJNDI)->Add the HelloEJB to HelloEAR ->deploy
Proxy Program to call ejb:
import javax.naming.Context;
import javax.naming.InitialContext;
import com.sample.Hello;
import com.sample.HelloHome;
public class HelloTest {
public static void main(String[] args) {
Hello remote = null;
try {
Context ctx = new InitialContext();
HelloHome home = (HelloHome) ctx.lookup("HelloJNDI");
remote = home.create();
String result = remote.hello();
System.out.print("Result:" + result);
} catch (Exception e) {
System.out.println("Exception:" + e.getLocalizedMessage());
1. Go To Run > Java Application ->New->select your project and select your main class(java program from which your going to call EJB)
2. Click next tab ->(x)=Arguments
paste the following code in VM Arguments
-Djava.naming.factory.initial=com.sap.engine.services.jndi.InitialContextFactoryImpl -Djava.naming.provider.url=localhost:50104
replace the server IP address with your server IP address where your ejbs are running.
Under Class path settings for the program put the following jar files.
You can search for them from net weaver soruce folders
or copy from D:\usr\sap\J2E\JC01\j2ee\j2eeclient
ejb20.jar
logging.jar
exception.jar
sapj2eeclient.jar
Add Corresponding ejb.jar
and RUN >>>
this makes testing of your client programs easier, you can find the error trace on which line and saves lot of time.
Regards, Suresh -
How to make call out from XI to external applications??
Hi,
I have XI running on my system.
I want to know if there is any possibility to invoke
or to make call outs from XI to external applications
like java.If yes what is the procedure for that.
Thanks in advance
SunitaXI will need a triggering event to do this. That is, if you can send a message to XI, then using XI you can route the message to a Proxy and from the proxy (which could be a java proxy) you can make a call to a java program outside XI. But, basically, XI on its own will not make a call, but it needs a triggering message. So, you can configure a file adapter to send a triggering message from a file system to the intergration server, and configure routing rules so that the messages reaches a proxy.
Warm regards,
Venki. -
How to call a servlet by java standalone application
//program related to calling a servlet by java standalone application and printing the response on console
import java.io.*;
import java.util.*;
import java.lang.Object;
import java.net.*;
public class Program
public static void main(String s[])
System.out.println("Hello this programm defines about how to call a servlet with a java application ");
try{
URL servlet = new URL("http://localhost:8080/anchor/studentform.html");
URLConnection conn=servlet.openConnection();
conn.setDoOutput(true);
InputStreamReader isr=new InputStreamReader(conn.getInputStream());
BufferedReader br = new BufferedReader(isr);
String str =br.readLine();
System.out.println("Source code is" +str);
catch(IOException e)
System.out.println("exception is" +e);
i am able to read only one line of the form, please help me out to read the whole form (file)You are only reading one line? Why aren't you reading the data in a loop? E.g. a while loop. (Keep reading till readLine returns null)
Kaj -
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- -
Running a Java application from a Swing GUI
Hi,
I was wondering if there is a simple way to run a Java application from a GUI built with Swing. I would presume there would be, because the Swing GUI is a Java application itself, technically.
So, I want a user to click a button on my GUI, and then have another Java application, which is in the same package with the same classpaths and stuff, run.
Is there a simple way to do this? Do any tutorials exist on this? If someone could give me any advice, or even a simple "yes this is possible, and it is simple" or "this is possible, but difficult" or "no this is not possible" answer, I would appreciate it. If anyone needs more information, I'll be happy to provide it.
Thanks,
DanI don't know if it is possible to run the main method from another Java app by simply calling it...
But you could just copy and paste the stuff from your main method into a new static method called something like runDBQuery and have all the execution run from there.
How does that sound? Is it possible?
What I'm suggeting is:
Original
public class DBQuery{
public static void methodA(){
public static void doQuery(){
methodA();
public static void main(String[] args){
// Your method calls
//Your initializing
doQuery();
}Revised:
public class DBQuery{
public static void methodA(){
public static void doQuery(){
methodA();
public static void doMyQuery(){
// Your method calls
//Your initializing
doQuery();
// No main needed!!
//public static void main(String[] args){
// Your method calls
//doQuery();
//} -
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
Maybe you are looking for
-
Using an Audigy Platinum Live Drive bay with Windows 7
6Using an Audigy Platinum Li've Dri've bay with Windows 7` I bought this card/bay a long time ago: http://support.creative.com/Products/ProductDetails.aspx?catID=&subCatID=205&prodID=484 6&prodName=Audigy%20Platinum&subCatName=Audigy&Cat Name=Sound+B
-
CO-PA characteristic - country of ship-to party
Hi guys, beside the country of the customer, which I created (LAND1), I also need the country of the ship-.to party. Ship-to party is also created as characteristic (KUNWE). Now I see another characteristic: KMLAND Country Country CHAR
-
Best way to store multiple addresses
In my schema i have clients. Each customer can have up to 3 addresses (customer table has 3 columns, Add_ID1 Add_ID2, Add_ID3 which point to Address.Add_ID in the address table). Relationship in the database is One Customer to Many Addresses. Im unsu
-
hii experts, i have a structure. In that i use V(8) TYPE P. but when i save the file it gives dump. it needs TYPE C. so how i convert tthat PACKED type inco CHAR type. Please provide me the code. thanks babbal
-
Need help in upgrading Agile9.3 to 9.3.1
I am new to Agile 9.3 and and do not have any past experience with Agile upgrade. Can somebody tell me how should I go for an upgrade from 9.3 to 9.3.1 of AgilePLM?? Edited by: 866517 on Jun 16, 2011 11:15 PM