Ejb in standalone application
hello
does anybody know how to make a standalone application, with ejb classes as domainobjects, run?
currently i keep on getting the same error:
Exception in thread "main" java.lang.IllegalArgumentException: Unknown entity bean class: class be.roularta.scenario.domain.Definition, please verify
that this class has been marked with the @Entity annotation.
at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerImpl.findInternal(EntityManagerImpl.java:266)java version is 1.5.0
can anybody help me ?
Hi Martin,
I am trying to do something similar and got the same exception.
java.lang.ClassCastException
at com.sun.corba.se.internal.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:293)
at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:134)
at com.sap.ip.bi.sdk.datasource.beans.TestJ2EE.getSystems(TestJ2EE.java:124)
at com.sap.ip.bi.sdk.datasource.beans.TestJ2EE.<init>(TestJ2EE.java:67)
at com.sap.ip.bi.sdk.datasource.beans.TestJ2EE.main(TestJ2EE.java:146)
The code snippet:
Properties props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sap.engine.services.jndi.InitialContextFactoryImpl");
props.put(Context.PROVIDER_URL, "localhost:50004");
props.put(Context.SECURITY_PRINCIPAL, "Administrator");
props.put(Context.SECURITY_CREDENTIALS, "");
try {
Context ctx = new InitialContext(props);
Object obj = ctx.lookup("BI_SDK_CAF");
IBI_CAF_Home boxHome = (IBI_CAF_Home) PortableRemoteObject.narrow(obj,
IBI_CAF_Home.class);
BI_CAF_Bean bean = (BI_CAF_Bean) boxHome.create();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
I tried doing the "get client jar" and putting it in the classpath but that did not work.
Am I missing something else?
Regards,
Anweas
Similar Messages
-
Batch application: As EJB or standalone?
Hi,
We are trying to develop some batch applications using java language.
I was asked to evaluate the differences between running them as standalone java programs or as an EJB inside an Application Server.
Any idea? Which is the best way?Good question. I'm currently in a similar planning process (I'm still in a pretty early stage), and so far, I've come up with the following notes:
pro non-ejb:
- on EJB you cannot have multiple threads for a single EJB
- File I/O is also restricted on EJB
pro ejb:
- location transparency; you can basically run it everywhere
- on app server, possibility of ressource sharing (e.g. JDBC connection pooling)
misc:
- future ejb specs might contain timers (schedulers) so that you can schedule the jobs without programming the scheduler; not available at the moment in general, although some vendors might support this (weblogic ??) -
Batch processing: As EJB or standalone?
Hi,
We are trying to develop some batch applications using java language.
I was asked to evaluate the differences between running them as standalone java programs or as an EJB inside an Application Server.
Any idea? Which is the best way?If you are running the EJB's and the client calling them within the same application server and it is a non-idiotic EJB container, then the overhead of calling an EJB is on the level of a method call plus some hashtable lookups or the like for turning the symbolic name for the EJB into a java reference to an instance.
If your system is large enough that you have to spread the load of running the EJBs over several machines you will benefit from the facilities for controlling and administering such a setup that the appliaction server provides you with.
Building your own system will not only cost a lot of time and effort and end up offereng less functionality than the J2EE server due to your development budget being orders of magnitude smaller than SUN's, you will also have a hard time making a better performing system since you have the same facilities at your disposal for creating your system as SUN had when creating J2EE.
The only exception is if your task is very unlike what J2EE was constructed for handling well so you will be creating a radically different architecture than J2EE. From what little you have told about your task, it seems to fit nicely within the range os tasks J2EE was ment to handle well. -
Client Applications vs Standalone Applications
Hi all,
I'm just confused about differences between
Client Applications and Standalone Applications.
Is it right that with a Client Application I don't need
to specify in my java code (with Properties) the
INITIAL_CONTEXT_FACTORY and the PROVIDER_URL
of my application server ?
For what concerne lookup() method, do Client Applications
use the "java:comp/env/...." syntax (like co-located bean) ?
Do they need to use narrow() method to cast EJB references ?
What are advantages/advantages of using Client Applications
or Standalone App. ?
Thanks in advance
MorenoI'm no expert, and I'm not sure that I fully understand your question but...I far as I understand it, a standalone application is just that. It doesn't require anything other than what comes delivered and installed with the application. A client application requires a server (among other things).
-
Beginner Question - Help Needed for EJB QL Sample Application
I'm working with a group of student interns, like myself, and we've been given an assignment to work with Oracle. All of us have no training or experience with this, so we're just learning as we go.
I've been trying to run the EJB QL Sample Application (http://www.oracle.com/technology/sample_code/tech/java/ejb_corba/ejbql/Install.html), but I keep running into problems at step 3.
Now, we will deploy the sample application onto OC4J. Open another command prompt and go to the folder <OC4J_HOME>/j2ee/home and run the following commands one-by-one
> java -jar admin.jar ormi://<machine_name>:<admin_port> admin <admin_pwd> -deploy -file <SAMPLE_HOME>/build/ejbql.ear -deploymentName Ejbql
> java -jar admin.jar ormi://<machine_name>:<admin_port> admin <admin_pwd> -bindWebApp Ejbql ejbql-war http-web-site /ejbql
where,
<machine_name> Name of the machine where OC4J Server is running
<admin_port> Admin Port on which the OC4J server listens. This value by default is 23791 unless explicitly changed by the user
<admin_pwd> Adminstrator password to access OC4J. The default value is welcome
When I do this step I get this error:
Error: Unable to find java:comp/ServerAdministrator: Lookup error: javax.naming.
AuthenticationException: Invalid username/password for default (sds); nested exc
eption is:
javax.naming.AuthenticationException: Invalid username/password for defa
ult (sds)
com.evermind.client.orion.AdminCommandException: Unable to find java:comp/Server
Administrator: Lookup error: javax.naming.AuthenticationException: Invalid usern
ame/password for default (sds); nested exception is:
javax.naming.AuthenticationException: Invalid username/password for defa
ult (sds)
at com.evermind.client.orion.Oc4jAdminConsole.executeCommand(Oc4jAdminCo
nsole.java:105)
at com.evermind.client.orion.Oc4jAdminConsole.main(Oc4jAdminConsole.java
:27)
javax.naming.NamingException: Lookup error: javax.naming.AuthenticationException
: Invalid username/password for default (sds); nested exception is:
javax.naming.AuthenticationException: Invalid username/password for defa
ult (sds) [Root exception is javax.naming.AuthenticationException: Invalid usern
ame/password for default (sds)]
at com.evermind.server.rmi.RMIContext.lookup(RMIContext.java:153)
at com.evermind.client.orion.Oc4jAdminConsole.executeCommand(Oc4jAdminCo
nsole.java:102)
at com.evermind.client.orion.Oc4jAdminConsole.main(Oc4jAdminConsole.java
:27)
Caused by: javax.naming.AuthenticationException: Invalid username/password for d
efault (sds)
at com.evermind.server.rmi.RMIConnection.connect(RMIConnection.java:2410
at com.evermind.server.rmi.RMIConnection.connect(RMIConnection.java:2226
at com.evermind.server.rmi.RMIConnection.lookup(RMIConnection.java:1692)
at com.evermind.server.rmi.RMIServer.lookup(RMIServer.java:727)
at com.evermind.server.rmi.RMIContext.lookup(RMIContext.java:134)
... 2 more
---- Embedded exception
javax.naming.AuthenticationException: Invalid username/password for default (sds
at com.evermind.server.rmi.RMIConnection.connect(RMIConnection.java:2410
at com.evermind.server.rmi.RMIConnection.connect(RMIConnection.java:2226
at com.evermind.server.rmi.RMIConnection.lookup(RMIConnection.java:1692)
at com.evermind.server.rmi.RMIServer.lookup(RMIServer.java:727)
at com.evermind.server.rmi.RMIContext.lookup(RMIContext.java:134)
at com.evermind.client.orion.Oc4jAdminConsole.executeCommand(Oc4jAdminCo
nsole.java:102)
at com.evermind.client.orion.Oc4jAdminConsole.main(Oc4jAdminConsole.java
:27)
Any suggestions to fix this error?
Thanks in advance for any help.George,
The Readme.html file is available with the ejbqlsample.jar downloadable (Extract and find the doc in Ejbql\docs\Readme.html) which is printable.
Or,
If you are trying to print the file directly from OTN site, you need to set the Page-Setup Orientation to 'Landscape'.
Hope this helps.
Regards
Pushkala -
How to use JDBC Connection Pools in a standalone application?
Hi, there,
I have a question about how to use JDBC Connection Pools in an application. I know well about connection pool itself, but I am not quite sure how to keep the pool management object alive all the time to avoid being destroyed by garbage collection.
for example, at the website: http://www.developer.com/java/other/article.php/626291, there is a simple connection pool implementation. there are three classes:JDBCConnection, the application's gateway to the database; JDBCConnectionImpl, the real class/object to provide connection; and JDBCPool, the management class to manage connection pool composed by JDBCConnectionImpl. JDBCPool is designed by Singleton pattern to make sure only one instance. supposing there is only one client to use connection for many times, I guess it's ok because this client first needs instantiate JDBCPool and JDBCConnectionImpl and then will hold the reference to JDBCPool all the time. but how about many clients want to use this JDBCPool? supposing client1 finishes using JDBCPool and quits, then JDBCPool will be destroyed by garbage collection since there is no reference to it, also all the connections of JDBCConnectionImpl in this pool will be destroyed too. that means the next client needs recreate pool and connections! so my question is that if there is a way to keep pool management instance alive all the time to provide connection to any client at any time. I guess maybe I can set the pool management class as daemon thread to solve this problem, but I am not quite sure. besides, there is some other problems about daemon thread, for example, how to make sure there is only one daemon instance? how to quit it gracefully? because once the whole application quits, the daemon thread also quits by force. in that case, all the connections in the pool won't get chance to close.
I know there is another solution by JNDI if we develop servlet application. Tomcat provides an easy way to setup JNDI database pooling source that is available to JSP and Servlet. but how about a standalone application? I mean there is no JNDI service provider. it seems a good solution to combine Commons DBCP with JNID or Apache's Naming (http://jakarta.apache.org/commons/dbcp/index.html). but still, I don't know how to keep pool management instance alive all the time. once we create a JNDI enviroment or naming, if it will save in the memory automatically all the time? or we must implement it as a daemon thread?
any hint will be great apprieciated!
SamTo my knoledge the pool management instance stays alive as long as the pool is alive. What you have to figure out is how to keep a reference to it if you need to later access it.
-
In a single program how to lookup different EJB from different application
Hi,
I have deployed two applications app1 and app2 on oc4j.
There is a stateless session bean in a1 called ejb1.
And there is also a stateless session bean ejb2 in app2.
I write a test jsp in app1 to lookup ejb1 and ejb2 as an application client. So I need to create an application-client.xml for it.
<?xml version="1.0"?>
<!DOCTYPE application-client PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.2//EN" "http://java.sun.com/j2ee/dtds/application-client_1_2.dtd">
<application-client>
<display-name>ejbs</display-name>
<ejb-ref>
<ejb-ref-name>ejb1</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>class_of_ejb1Home</home>
<remote>class_of_ejb1</remote>
</ejb-ref>
<ejb-ref>
<ejb-ref-name>ejb2</ejb-ref-name>
<ejb-ref-type>ejb2</ejb-ref-type>
<home>class_of_ejb2Home</home>
<remote>class_of_ejb2</remote>
</ejb-ref>
</application-client>
However, When I run the test.jsp, It will report following error:
javax.naming.NamingException: Error reading application-client descriptor: No location specified and no suitable instance of the type 'class_of_ejb2' found for the ejb-ref ejb2
In fact, if I only lookup any of the ejb and the application-client.xml just specify only the according ejb-ref, everything is alright.
But how to construct the application-client.xml so that it can suitable for 2 different ejb in different application? Do I miss something in doing it?
Kindly advice!
Queeny TangHi Debabrata Panda,
I did add parent in web.xml, but it still encounter
"Error reading application-client descriptor: No location specified and no suitable instance of the type 'class_of_ejb2' found for the ejb-ref ejb2"
In my program, a jsp in app2 will lookup ejb1 of app1. In the same way, a jsp in app1 will lookup ejb2 of app2.
if I declare in server.xml
<application name="app2" path="../applications/app2.ear" parent="app1" auto-start="true" />
<application name="app1" path="../applications/app1.ear" parent="app2" auto-start="true" />
That will cause error reading application-client.xml for all
ejbs.
How to solve this.
Thanks in advance!
Yours Queeny -
Looking for a standalone application/system menu
Most (all?) desktop environments features some kind of application menu in the panel. But for the people running more lightweight environments (like just a tiled wm) have no reason to have an extra panel around just for the menu.
I know about application launchers, such as launchy and gmrun, but the thing I'm looking for is something that could give me a list of all "bigger" programs installed, grouped by category. Because, simply, I can never remember all stuff I've installed over the years.
So I'm thinking: there must be someone out there that has developed a standalone application menu?
Either the program could just scan the "/usr/share/applications" direcotry, or one could try to extract the menu part from a panel program, such as lxpanel?Hey, adeskmenu seem to be exactly what I'm looking for! Thanks a lot! :-)
(now just need to find out why the aur version crashes... no problem, though. seems to be other versions around that works) -
Standalone application can't get JDBC data source from Weblogic 10.3
We have the following configuration :
A Weblogic server 10.3 (default installation).
The server contains a JMS queue (jndi name: "DMQ") and JDBC data sources (jndi names: Oracle thin XA - "dataSource", MS SQL - "dataSource1")
We have built wlfullclient5.jar for Java 1.5 ([http://edocs.bea.com/wls/docs103/client/jarbuilder.html#wp1078122]) (according to the docs)
And now we use a test standalone application with the wlfullclient5.jar :
public static void main (String[] args) throws NamingException {
bq. Hashtable<String, String> env = new Hashtable<String, String>(); \\ env.put(Context.+INITIAL_CONTEXT_FACTORY+, "weblogic.jndi.WLInitialContextFactory"); \\ env.put(Context.+PROVIDER_URL+, "http://serv1:7001"); \\ env.put(Context.+SECURITY_CREDENTIALS+, "weblogic"); \\ env.put(Context.+SECURITY_PRINCIPAL+, "weblogic"); \\ InitialContext ic = new InitialContext(env); \\ \\ System.+out+.println("Get DMQ"); \\ ic.lookup("DMQ"); \\ System.+out+.println("Get dataSource"); \\ ic.lookup("dataSource");
bq. System.+out+.println("Get dataSource1"); \\ ic.lookup("dataSource1"); \\ System.+out+.println("Done"); \\
Here is the output when connected to WLS 10.3:
bq. Get DMQ \\ Get dataSource \\ Exception in thread "Main Thread" java.lang.AssertionError: Failed to generate class for weblogic.jdbc.common.internal.RmiDataSource_1030_WLStub \\ at weblogic.rmi.internal.StubGenerator.generateStub(_StubGenerator.java:790_) \\ at weblogic.rmi.internal.StubGenerator.generateStub(_StubGenerator.java:779_) \\ at weblogic.rmi.extensions.StubFactory.getStub(_StubFactory.java:74_) \\ at weblogic.rmi.internal.StubInfo.resolveObject(_StubInfo.java:213_) \\ at weblogic.rmi.internal.StubInfo.readResolve(_StubInfo.java:207_) \\ at sun.reflect.NativeMethodAccessorImpl.invoke0(_Native Method_) \\ at sun.reflect.NativeMethodAccessorImpl.invoke(_NativeMethodAccessorImpl.java:39_) \\ at sun.reflect.DelegatingMethodAccessorImpl.invoke(_DelegatingMethodAccessorImpl.java:25_) \\ at java.lang.reflect.Method.invoke(_Method.java:585_) \\ at java.io.ObjectStreamClass.invokeReadResolve(_ObjectStreamClass.java:1033_) \\ at java.io.ObjectInputStream.readOrdinaryObject(_ObjectInputStream.java:1728_) \\ at java.io.ObjectInputStream.readObject0(_ObjectInputStream.java:1305_) \\ at java.io.ObjectInputStream.readObject(_ObjectInputStream.java:348_) \\ at weblogic.utils.io.ChunkedObjectInputStream.readObject(_ChunkedObjectInputStream.java:197_) \\ at weblogic.rjvm.MsgAbbrevInputStream.readObject(_MsgAbbrevInputStream.java:564_) \\ at weblogic.utils.io.ChunkedObjectInputStream.readObject(_ChunkedObjectInputStream.java:193_) \\ at weblogic.rmi.internal.ObjectIO.readObject(_ObjectIO.java:62_) \\ at weblogic.rjvm.ResponseImpl.unmarshalReturn(_ResponseImpl.java:240_) \\ at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(_ClusterableRemoteRef.java:348_) \\ at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(_ClusterableRemoteRef.java:259_) \\ at weblogic.jndi.internal.ServerNamingNode_1030_WLStub.lookup(Unknown Source) \\ at weblogic.jndi.internal.WLContextImpl.lookup(_WLContextImpl.java:392_) \\ at weblogic.jndi.internal.WLContextImpl.lookup(_WLContextImpl.java:380_) \\ at javax.naming.InitialContext.lookup(_InitialContext.java:351_) \\ at test.main(_test.java:23_) \\ Caused by: java.lang.reflect.InvocationTargetException \\ at sun.reflect.NativeConstructorAccessorImpl.newInstance0(_Native Method_) \\ at sun.reflect.NativeConstructorAccessorImpl.newInstance(_NativeConstructorAccessorImpl.java:39_) \\ at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(_DelegatingConstructorAccessorImpl.java:27_) \\ at java.lang.reflect.Constructor.newInstance(_Constructor.java:494_) \\ at weblogic.rmi.internal.StubGenerator.generateStub(_StubGenerator.java:788_) \\ at weblogic.rmi.internal.StubGenerator.generateStub(_StubGenerator.java:779_) \\ at weblogic.rmi.extensions.StubFactory.getStub(_StubFactory.java:74_) \\ at weblogic.rmi.internal.StubInfo.resolveObject(_StubInfo.java:213_) \\ at weblogic.rmi.internal.StubInfo.readResolve(_StubInfo.java:207_) \\ at sun.reflect.NativeMethodAccessorImpl.invoke0(_Native Method_) \\ at sun.reflect.NativeMethodAccessorImpl.invoke(_NativeMethodAccessorImpl.java:39_) \\ at sun.reflect.DelegatingMethodAccessorImpl.invoke(_DelegatingMethodAccessorImpl.java:25_) \\ at java.lang.reflect.Method.invoke(_Method.java:585_) \\ at java.io.ObjectStreamClass.invokeReadResolve(_ObjectStreamClass.java:1033_) \\ at java.io.ObjectInputStream.readOrdinaryObject(_ObjectInputStream.java:1728_) \\ at java.io.ObjectInputStream.readObject0(_ObjectInputStream.java:1305_) \\ at java.io.ObjectInputStream.readObject(_ObjectInputStream.java:348_) \\ at weblogic.utils.io.ChunkedObjectInputStream.readObject(_ChunkedObjectInputStream.java:197_) \\ at weblogic.rjvm.MsgAbbrevInputStream.readObject(_MsgAbbrevInputStream.java:564_) \\ at weblogic.utils.io.ChunkedObjectInputStream.readObject(_ChunkedObjectInputStream.java:193_) \\ at weblogic.rmi.internal.ObjectIO.readObject(_ObjectIO.java:62_) \\ at weblogic.rjvm.ResponseImpl.unmarshalReturn(_ResponseImpl.java:240_) \\ at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(_ClusterableRemoteRef.java:348_) \\ at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(_ClusterableRemoteRef.java:259_) \\ at weblogic.jndi.internal.ServerNamingNode_1030_WLStub.lookup(Unknown Source) \\ at weblogic.jndi.internal.WLContextImpl.lookup(_WLContextImpl.java:392_) \\ at weblogic.jndi.internal.WLContextImpl.lookup(_WLContextImpl.java:381_) \\ at javax.naming.InitialContext.lookup(_InitialContext.java:351_) \\ at test.main(_test.java:26_) \\ Caused by: java.lang.ArrayIndexOutOfBoundsException: 6 \\ at weblogic.jdbc.common.internal.RmiDataSource_1030_WLStub.ensureInitialized(Unknown Source) \\ at weblogic.jdbc.common.internal.RmiDataSource_1030_WLStub.<init>(Unknown Source) \\ at sun.reflect.NativeConstructorAccessorImpl.newInstance0(_Native Method_) \\ at sun.reflect.NativeConstructorAccessorImpl.newInstance(_NativeConstructorAccessorImpl.java:39_) \\ at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(_DelegatingConstructorAccessorImpl.java:27_) \\ at java.lang.reflect.Constructor.newInstance(_Constructor.java:494_) \\ at weblogic.rmi.internal.StubGenerator.generateStub(_StubGenerator.java:788_) \\ at weblogic.rmi.internal.StubGenerator.generateStub(_StubGenerator.java:779_) \\ at weblogic.rmi.extensions.StubFactory.getStub(_StubFactory.java:74_) \\ at weblogic.rmi.internal.StubInfo.resolveObject(_StubInfo.java:213_) \\ at weblogic.rmi.internal.StubInfo.readResolve(_StubInfo.java:207_) \\ at sun.reflect.NativeMethodAccessorImpl.invoke0(_Native Method_) \\ at sun.reflect.NativeMethodAccessorImpl.invoke(_NativeMethodAccessorImpl.java:39_) \\ at sun.reflect.DelegatingMethodAccessorImpl.invoke(_DelegatingMethodAccessorImpl.java:25_) \\ at java.lang.reflect.Method.invoke(_Method.java:585_) \\ at java.io.ObjectStreamClass.invokeReadResolve(_ObjectStreamClass.java:1033_) \\ at java.io.ObjectInputStream.readOrdinaryObject(_ObjectInputStream.java:1728_) \\ at java.io.ObjectInputStream.readObject0(_ObjectInputStream.java:1305_) \\ at java.io.ObjectInputStream.readObject(_ObjectInputStream.java:348_) \\ at weblogic.utils.io.ChunkedObjectInputStream.readObject(_ChunkedObjectInputStream.java:197_) \\ at weblogic.rjvm.MsgAbbrevInputStream.readObject(_MsgAbbrevInputStream.java:564_) \\ at weblogic.utils.io.ChunkedObjectInputStream.readObject(_ChunkedObjectInputStream.java:193_) \\ at weblogic.rmi.internal.ObjectIO.readObject(_ObjectIO.java:62_) \\ at weblogic.rjvm.ResponseImpl.unmarshalReturn(_ResponseImpl.java:240_) \\ at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(_ClusterableRemoteRef.java:348_) \\ at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(_ClusterableRemoteRef.java:259_) \\ at weblogic.jndi.internal.ServerNamingNode_1030_WLStub.lookup(Unknown Source) \\ at weblogic.jndi.internal.WLContextImpl.lookup(_WLContextImpl.java:392_) \\ at weblogic.jndi.internal.WLContextImpl.lookup(_WLContextImpl.java:380_) \\ at javax.naming.InitialContext.lookup(_InitialContext.java:351_) \\ at test.main(_test.java:23_)
But at the same time the output when connected to WLS 10.0 is :
Get DMQ \\Get dataSource \\Get dataSource1 \\Done
(so that the test passed)
Could you give me a piece of advice ?
Thanks,
SergeyI hit the same problem as yours. This issue is caused by JDK version. The JDK used by Weblogic 10.3 is java 6, while your client program's jdk version is java5. So change the both of them to java 6. This issue will be fixed.
Don't forget to rebuild the wlfullclient.jar which also should be java 6.
Good luck! -
Run standalone applications on E-Business Suite Application Server
Hi,
Environment Details:
Database - 10.2.0.3
Apps. - 12.0.3
We have a 6i client-server Forms & Reports application that we want to web-enable. This is a standalone application that has no integration with the E-Business Suite. We would like to use the E-Business Suite application server forms and reports servers to run this application too.
I had two questions:
1. Are there any documents available that would document best practices for such a scenario?
2. Is it possible to create a standalone report server on the E-Business Suite reports server or is there a way to integrate the standalone application reports with the EBS report server?
Thanks,
RameshRamesh wrote:
Hi,
Environment Details:
Database - 10.2.0.3
Apps. - 12.0.3
We have a 6i client-server Forms & Reports application that we want to web-enable. This is a standalone application that has no integration with the E-Business Suite. We would like to use the E-Business Suite application server forms and reports servers to run this application too.Since you are on R12, you need to use Developer 10g (since Developer 6i is not certified with R12).
Using the OracleAS 10.1.2 Forms and Reports Builders with Oracle Applications Release 12 [ID 444248.1]
How To Bring Up 10G Forms Builder In R12 Environment? [ID 579318.1]
How To Upgrade 11i Custom Forms To R12 [ID 563258.1]
Accessing Custom Forms After Upgrading From To R12. [ID 451934.1]
I had two questions:
1. Are there any documents available that would document best practices for such a scenario?Yes.
https://forums.oracle.com/forums/search.jspa?threadID=&q=Custom+AND+Top+AND+R12&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
https://forums.oracle.com/forums/search.jspa?threadID=&q=Custom+AND+Forms+AND+R12&objID=c3&dateRange=all&userID=&numResults=15&rankBy=10001
Oracle E-Business Suite Developer's Guide
http://docs.oracle.com/cd/E18727_01/doc.121/e12897/toc.htm
2. Is it possible to create a standalone report server on the E-Business Suite reports server or is there a way to integrate the standalone application reports with the EBS report server?Register your reports as concurrent programs and let the concurrent manager take care of the processing.
http://docs.oracle.com/cd/E18727_01/doc.121/e12893/toc.htm
http://docs.oracle.com/cd/E18727_01/doc.121/e12897/toc.htm
Thanks,
Hussein -
How to call jsp/ejb in webdynpro applications
Hi
Is It Possible to call jsp and EJB in webdynpro applications.If it is please let me know..
Regards
ChandraHi,
You can call JSp and serlvets using suspend and resume plugs
/people/bertram.ganz/blog/2006/07/03/web-dynpro-java-foundation--whats-new-in-sap-netweaver-2004s
http://help.sap.com/saphelp_nw04s/helpdata/en/42/bb8c6cc7131d67e10000000a1553f6/frameset.htm
For EJbs you can create a DTO and try to make use of the model import available in Webdynpro.
Regards
Ayyapparaj -
Creating a user in EP using a java standalone application
Hi,
I am trying to create a java application to create a user in Enterprise Portal.
I am getting the following error:
com.sap.security.api.UMRuntimeException: Cannot lookup ManageConnectionFactory "jdbc/sapep". Possible reasons: 1) The connector in which ManagedConnectionFactory "jdbc/sapep" is defined is not deployed or not started, 2) Cannot deserialize object due to a naming exception.
ume.db.connection_pool_type=jdbc/sapep
ume.db.connection_pool.j2ee.xatransactions_used=false
ume.db.connection_pool.j2ee.is_unicode=true
ume.db.connection_pool.j2ee.oracle_native_driver_used=false: Cannot lookup ManageConnectionFactory "jdbc/sapep". Possible reasons: 1) The connector in which ManagedConnectionFactory "jdbc/sapep" is defined is not deployed or not started, 2) Cannot deserialize object due to a naming exception.
Q1. Is it possible to create user from java standalone application.
Q2. Pls. help to resolve the error or give any sample code if you have
Thanks in advance.
Regards,
PratikHi Ravi,
How about something like this:
IUserMaint user = UMFactory.getUserFactory().newUser("myNewUser");
user.setFirstName("1st Name");
user.setLastName("2nd Name");
user.setEmail("[email protected]");
user.save();
user.commit();
IUserAccount uacc = UMFactory.getUserAccountFactory().newUserAccount("myNewUser", user.getUniqueID());
uacc.setPassword("initial");
uacc.setPasswordChangeRequired(false);
uacc.save();
uacc.commit();
Hope this helps.
Daniel -
Servlets Vs Standalone Application?
Servlets Vs Standalone Application?
I know this is an extremely broad subject, but put very simply can anyone give me a basic list of pros & cons in writing an application on a network with either of the two mentioned technologies?!?
We will need security, efficiency, speed etc as well as an intuitive interface!!
Not much to ask i know!
cheers now!Servlets:
+Easier to deploy
+Upgrading easier (Just upgrade one instance)
-Interface somewhat limited
+Security is centralized
Standalone
-You have to deploy to every client
-Upgrading is cumbersome, especially when the new version is not backwards compatible, and you need a big bang upgrade.
+Highly interactive interfaces (Swing)
-Security can be a problem (e.g. clients can be forged), when it is not centralized.
The speed of the application is dependent on the kind of application. It depends on the complexity of the UI, whether data is on a central server or local, etc.
--Arnout -
Standalone application through BOE SDK
Hi,
I am new to SDK development so trying out different things with the SDK. The first experiement that I did was trying to build a standlone application through BOE SDK. The main purpsoe of this application is to connect the enterprise and get some details about an info object. But while building out this application I have noticed few issues:
1. The getInstalledAuthIDs method of the ISessionMgr class is not returing any available authentication types.
2. While trying to login using the logon method of the ISessionMgr using the secEnterprise as Enterprise, it's throwing the following exception:
com.crystaldecisions.sdk.exception.SDKException$PluginNotFound: The plugin secEnterprise does not exist
at com.crystaldecisions.sdk.occa.pluginmgr.internal.PluginMgr.getPluginInterface(Unknown Source)
at com.crystaldecisions.sdk.occa.security.internal.o.a(Unknown Source)
at com.crystaldecisions.sdk.occa.security.internal.t.a(Unknown Source)
at com.crystaldecisions.sdk.occa.security.internal.t.userLogon(Unknown Source)
at com.crystaldecisions.sdk.occa.security.internal.l.userLogon(Unknown Source)
at com.crystaldecisions.sdk.framework.internal.d.logon(Unknown Source)
at com.bo.boesdk.tutorials.Login.createEnterpriseSession(Login.java:41)
at com.bo.boesdk.tutorials.Login.main(Login.java:55)
I have noticed that all tutorials associated with SDK are all using eithe JSP/ASP to demonstrate features of SDK. There is none exists on using the standalone application. Is it we can't build any standalone application using the BOE SDK?The BusinessObjects Enterprise SDK is only tested and fully supported in web applications - that's the reason why the documentation only describes its use in JSP/Servlet code.
As for the specific exception you're getting - it may be caused since you're missing jar files.
If using XI Release 2, then I'd reference the jars found by default in <install>\common\3.5\java\lib and <install>\common\3.5\java\lib\external.
If using XI 3.0, then I'd use the documentation found [here|https://boc.sdn.sap.com/node/7298].
Sincerely,
Ted Ueda -
Lookup ejb in another application in same container
Hi,
The 1012 ejb faq http://www.oracle.com/technology/tech/java/oc4j/1012/collateral/OC4J-EJB-FAQ-101202.pdf states:
"If you want to access an EJB in another application in the same OC4J container you do not have to use RMIInitialContextFactory and you can make the application that contains your application as the parent of your application from your you are trying to access EJBs from e.g. ..."
Question: The FAQ implies that the "parent" attribute is NOT necessary to facilitate this situation and RMIInitialContextFactory may be used - is this correct? I have not found any examples that demonstrate how to do this as elsewhere in the Oracle doco they seem to imply that "parent" must be used (but not in 10.1.3). Can anyone please clarify this and/or what works and what doesn't?
Note: The lookup of remote ejb from another application in same container does work without the parent attribute, its just subsequent calls from a 3rd application or redeploy breaks.
My problem: I get a ClassCastException when :
a) lookup remote EJB (in application A) following redeploy of application B
b) the next invocation of the application A method from client application C
Thanks for any advice,
PaulYour understanding is correct.
If you make application a to be the parent application of app b; then app b could access app a without using RMIInitialContext.
Also you could use RMIInitialContext to obtain the object without using "parent application" approach, example:
Hashtable env = new Hashtable();
env.put("java.naming.factory.initial",
"com.evermind.server.rmi.RMIInitialContextFactory");
env.put("java.naming.provider.url","ormi://remotehost/bmpapp");
env.put("java.naming.security.principal","SCOTT");
env.put("java.naming.security.credentials","TIGER");
Context context = new InitialContext(env);
Object homeObject =
context.lookup("java:comp/env/EmployeeBean");
For this servlet example, you also need to declare <ejb-ref> elements in the web.xml file:
<ejb-ref>
<ejb-ref-name>EmployeeBean</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<home>bmpapp.EmployeeHome</home>
<remote>bmpapp.Employee</remote>
</ejb-ref>
In addition, orion-web.xml, must include a mapping from the logical name EmployeeBean to the actual JNDI name where the EJB is bound, as shown in the following example:
<ejb-ref-mapping name="EmployeeBean" location="bmpapp/EmployeeBean" />
Hope this helps,
-Frances
Maybe you are looking for
-
Searching for missing column names in a single database.
I have a database with about 100 tables, database gets generated using entity framework. The application has been enhanced so users deployed with older version of the application need to upgrade to newer version. The database generated is both versi
-
Problems with the iOS 5.1 version, HELP!
I just upgraded to the latest version - iOS 5.1 on my iPhone 4, but now the screen is freezing all the time, and the phone shuts down. Is this a problem with the new 5.1 version? What can I do to fix it?
-
I am running windows 7 64bit, have a brother printer MFC-J4510W with the latest driver update, have Adobe reader 11.0.10.32 and as of today I cannot print any pdf files that before I could, all help appreciated I followed the FAQ troubleshooting and
-
Philips LCD HDTV without RF Input???
Hi - I am curious about this Philips model television: Philips - 55" Class / 1080p / 240Hz / LCD HDTV http://www.bestbuy.com/site/Philips+-+55%22+Class+/+1080p+/+240Hz+/+LCD+HDTV/1390518.p?skuId=1390518... But noticed it doesn't have an RF Antenna
-
Hi All, I have got some requirement.please look into this The requirement is in this way: We have a transaction in R/3 called as CN22(Network Change).In this transaction user is having different activity tabs and under each activity user is supposed