Deploying BC4J 9.0.3.4 Application in WebSphere 5.0.2
We are deploying the application developed using BC4J 9.0.3.4 libraries in WebSphere 5.0.2.
We are getting the following error when we tried to create new row using BC4J view object.
[511] BaseSQLBuilder: setSavepoint 'BO_SP' ignored
[512] BaseSQLBuilder Executing DML ... (Insert)
[513] Executing DML...
[514] Warning: BaseSQLBuilder does not support RETURNING (key-cols) clause....
[515] Warning: BaseSQLBuilder does not support RETURNING (cols) clause....
[516] INSERT INTO FISTS_USER_MESSAGE(MSG_ID,MSG_FROM_USER_ID,MSG_MOD_NAME,MSG_SUBJECT,
MSG_BODY,MSG_CREATE_TS,MSG_USER_ID,MSG_GLOBAL_FLAG,MSG_EXPIRATION_DT) VALUES (?,?,?,?,?,?,?,?,?)
[517] Fetch RefreshOnInsert attributes
[518] BaseSQLBuilder.doRefreshSQL, Executing Select for Refresh-on-insert or update attributes
[519] Warning: Attempting to use current primary key attributes for refresh SQL.
[520] ******* Found no UniqueKey attribute when a PK attribute is marked for refresh on Entity:FistsUserMessage
[521] Built select: 'SELECT MSG_ID, MSG_GLOBAL_FLAG FROM FISTS_USER_MESSAGE'
[522] Executing Refresh SQL...SELECT MSG_ID, MSG_GLOBAL_FLAG FROM FISTS_USER_MESSAGE WHERE MSG_ID=?
[523] General failure Failure in select : JBO-25019: Entity row of key oracle.jbo.Key[-42 ] not found in FistsUserMessage.
[524] Close prepared statement for refresh SQL
[525] BaseSQLBuilder: rollbackToSavepoint 'BO_SP' ignored
oracle.jbo.RowAlreadyDeletedException: JBO-25019: Entity row of key oracle.jbo.Key[-42 ] not found in FistsUserMessage.
FYI: we are using BC4J setting jbo.SQLBuilder=SQL92, since jbo.SQLBuilder=Oracle is not working either.
====================================================
Error when we use BC4J setting jbo.SQLBuilder=Oracle
java.lang.ClassCastException: com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement
at oracle.jbo.server.OracleSQLBuilderImpl.doStatementSetRowPrefetch(OracleSQLBuilderImpl.java:919)
Any help to resolve this issue is appreciated.
Sam
Since you're using WebSphere, SQLBuilder=SQL92 is the correct setting.
As for your RowAlreadyDeletedException, the following lines are key in solving your issue:
[519] Warning: Attempting to use current primary key attributes for refresh SQL.
[520] ******* Found no UniqueKey attribute when a PK attribute is marked for refresh on Entity:FistsUserMessageIt seems
1. You designated your PK as DBSequence which implies/needs retrieve-on-insert. (Retrieve-on-insert means that after the row is inserted into db, the attr value needs to be refreshed from database).
With DBSequence, when you create a new row, the DBSequence domain object is assigned a temporary value (in your case -42).
2. You are using a SQLBuilder which does not support 'RETURNING' clause. Oracle DB allows you do insert a row and then bring back the attr values using the RETURNING clause. Since your SQLBuilder does not support RETURNING, BC4J generates a SQL block that has
-> The INSERT statement
-> Immediately followed by a SELECT statement that tries to retrieve your PK attr.
3. For this SELECT statement, we need a WHERE clause to identify the row that was just inserted. Normally (if the PK attr is stable), we use the PK attr. However, in your case, since PK itself will be assigned a new value in the database, we try to find another unique attribute. When this turn up nothing we print the above "Warning: Attempting to ..."
4. Then, it issues SELECT statement with WHERE MSG_ID = -42. Since database assigned a new value to this attr, it doesn't find the row.
5. So, it thinks that the row was deleted by another transaction ==> RowAlreadyDeletedException.
~~~~~
To work around this, I would suggest one of the followings:
A) Instead of DBSequence and retrieve-on-insert, you can try to set the PK value by getting its seq number in the EntityImpl's create() method override.
B) Or, you can desginate some other attr (if you have one) as unique (should be stable, meaning that its value will not change by the insert operation). Then, we can use that to locate the row and perform the correct SELECT operation.
Thanks.
Sung
Similar Messages
-
Deploying BC4J as J2EE compliant applications
Hi.
I've been looking over the threads concerning deployment of BC4J applications into oc4j.
Maybe I have missed the concept of bc4j, but doesn't bc4j act as 'just another runtime library' and be deployed as a standard J2EE library, i.e:
war-file->
/WEB-INF/classes/<all the java-classes, including bc4j packages>
/WEB-INF/web.xml
/WEB-INF/lib/<bc4j runtime libraries>
/<jsp,html,images etc.>
It seems to me that BC4J is not really adapted to a J2EE environment. For example, local file access from an EJB application is a big no-no in the specs.
Is there any plans for a rewrite of bc4j to make it more 'J2EE-compliant'?
Best Regards /AndersYou could deploy the BC4J archives along with each and every WAR file if you want, but this is kind of a waste. Instead, you typically deploy them in the global library directory of your container.
BC4J reads resources from the application context for things like metadata files. Have you found this issue to stop you from successfully running BC4J applications as J2EE EJB Session Beans?
Remember the J2EE includes both Servlets and EJB's. Some customers shy away from the additional complexity of EJB's and build J2EE-compliant applications that work entirely in the J2EE "Web Tier" without using the "J2EE EJB Tier" as well.
BC4J-powered J2EE applications support deploying application components either to the J2EE Web Tier or to the J2EE EJB Tier without requiring code changes. -
Error deploying BC4J JSP-application to OC4J
Hi!
I am trying to deploy a typical default generated jsp - application based on default generated BC4J components (against a simple table in an oracle 8.1.7 database) to an external oc4j - service.
The application runs without problems in the internal JDeveloper oc4j, but when I deploy it to an external oc4j service, I get the following error:
++++++++++++++++++++++++++++++++++++++++++++++++
Error Message: JBO-30003: The application pool (mypackage1.Mypackage1Module.Mypackage1ModuleLocal) failed to checkout an application module due to the following exception:
Error Message: JBO-25029: Data class (a domain?) {0} not found
JBO-30003: The application pool (mypackage1.Mypackage1Module.Mypackage1ModuleLocal) failed to checkout an application module due to the following exception:
oracle.jbo.domain.DataCreationException: JBO-25029: Data class (a domain?) {0} not found
at oracle.jbo.common.JBOClass.findDataClass(JBOClass.java:152)
at oracle.jbo.server.AttributeDefImpl.loadFromXML(AttributeDefImpl.java:1922)
at oracle.jbo.server.EntityDefImpl.loadAttribute(EntityDefImpl.java:2293)
at oracle.jbo.server.EntityDefImpl.loadAttributes(EntityDefImpl.java:2236)
## Detail 0 ##
java.lang.ClassNotFoundException: oracle.jbo.domain.RowID
at com.evermind.naming.ContextClassLoader.findClass(ContextClassLoader.java:185)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at oracle.jbo.common.java2.JDK2ClassLoader.loadClassForName(JDK2ClassLoader.java:30)
at oracle.jbo.common.JBOClass.forName(JBOClass.java:136)
at oracle.jbo.common.JBOClass.findDataClass(JBOClass.java:148)
at oracle.jbo.server.AttributeDefImpl.loadFromXML(AttributeDefImpl.java:1922)
at oracle.jbo.server.EntityDefImpl.loadAttribute(EntityDefImpl.java:2293)
I am using JDeveloper 9.0.2 Production
and oc4j 9.0.2.0.0
KetillJump to the following link, read, and understand everything:
Re: How to use the classes of ott generated in Visual c++
Also, locate the C:\Jdev9i\BC4J\bin\bc4j2oc4j.bat file, make the necessary changes for the OC4J_HOME, JDEV_HOME, and JDK_HOME and run. This file should setup the BC4J libraries in your OC4J installation. Be sure your OC4J_HOME\j2ee\home\admin.jar is version compatible with the JDEV_HOME\j2ee\home\admin.jar.
Arnold Angel
[email protected] -
Issues with deploying BC4J/JSP applications on OC4J
To everyone who's been having problems deploying BC4J/JSP applications to OC4J.
We are aware that you're having problems deploying to OC4J, and we're working on them. OC4J was not available in time for us to add support for OC4J deployment to the JDeveloper 3.2.3 release. In addition there are some bugs in the first release of OC4J that have an impact on BC4J applications. This note describes the issues, and how we plan to address them.
Issue 1: Classpath problems
People have been getting "class not found" or "properties file not found" errors when they try to run their JSP. The answer is to make sure that all relevant archives and your JSP's .properties file are in the OC4J classpath - there's a note addressing the .properties file problem at http://technet.oracle.com:89/ubb/Forum99/HTML/000028.html. In general though, setting up the classpath can be tricky.
Issue 2: JSP TAG NOT RELEASED ON END TAG. SAME TAG IS REUSED.
This issue affects JSP pages whose behaviour relies on a tag instance being cleaned up as a result of release() being called.
Your tag will not be released, and subsequent instances of the tag will reuse the first instance, rather than instantiating a new
one.
Issue 3:JSP SCRIPTABLE VARIABLE NULL
A scriptable variable set in a tag cannot be accessed by a scriptlet. For example, this JSP code will throw a
NullPointerException, because the scriptlet cannot access the value of resultRow:
<jbo:Row id="resultRow" action="CURRENT" datasource="customer_vo1" />
<%
session.putValue("FIRSTNAME", resultRow.getAttribute("Firstname").toString());
%>Workaround: Add a line of code at the beginning of the scriptlet to explicitly get the variable's value from the page context, for
example:
<jbo:Row id="resultRow" action="CURRENT" datasource="customer_vo1" />
<%
resultRow = (oracle.jbo.Row)pageContext.findAttribute("resultRow");
session.putValue("FIRSTNAME", resultRow.getAttribute("Firstname").toString());
%>
What we plan to do
To address issue 1, we're currently testing a utility that installs the BC4J runtime libraries to OC4J, and provides a script to start OC4J with the correct classpath. We plan to post this by the end of this week, along with instructions for deploying a BC4J application to OC4J; deployment will be a lot simpler after running the utility.
To address issues 2 and 3, we're working on a second utility that installs BC4J runtime and provides a fix to the JSP compiler. We plan to post this second utility by the end of next week.
We do apologise for the problems you're having; please bear with us as we work on making it easier for you to deploy BC4J applications to OC4J.
Thanks
BlaiseHi, I have been trying desparately to deploy
a simple example JDeveloper application for months and months.
I HAVE NEVER BEEN SUCCESSFUL IN DEPLOYING ANYTHING.
I don't know much about webservers and I am relying
on the instructions from JDeveloper help and this website.
I have already tried Apache, and WebLogic
because there are instructions in the JDev help.
No luck.
Now I am trying to use OC4J on 9ias because there are instructions.
I have read the instructions about how to install a BC4J
app on OC4J about 25 times, but I can't get this thing to work.
It works fine inside of JDeveloper.
I create a BC4J project using the scott
schema (just the dept and emp tables).
Then I create an empty project for my JSP client.
I choose JSP Application from the web
objects and it connects to my BC4J project.
As I say, when I run it in JDeveloper, there is no problem.
In the instructions for installing BC4J
in OC4J, it first says install JDev 3.2.3 and OC4J.
This is done, and it tested fine.
Then it says to install the deployment software.
No problem.
But when I deploy the app according to the instructions,
it just hangs (like Rick Wang's program did).
The main.jsp page loads and displays correctly,
but when I click on the links to the DeptView.jsp
or EmpView.jsp it just hangs.
Here is the entire batch file I'm using
to start OC4J: cd c:\oracle_9ias\j2ee\home
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\default-web-app\lib
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\classes
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\classes12.jar
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\xmlparserv2.jar
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jdev-rt.zip
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbojdbcpatch.zip
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\connectionmanager.zip
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbohtml.zip
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jboimdomains.zip
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\ordim817.zip
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\ordvir817.zip
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\ordhttp.zip
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbomt.zip
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbodomorcl.zip
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jboremote.zip
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jndi.jar
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\jbodatum12.zip
set CLASSPATH=%CLASSPATH%;c:\oracle_9ias\j2ee\home\lib\al_BC4J.jar
java -cp C:\oracle_9ias\j2ee\home\orion.jar;%CLASSPATH%
com.evermind.server.ApplicationServer
pause
The file al_BC4J.jar contains my application.properties file
and my connections.properties file, as well as my business components.
All of the files referenced in my classpath are
present in my c:\oracle_9ias\j2ee\home\lib directory.
I noticed that Raghu's classpath contains a file called jdev.jar
So does the classpath of another fellow who says
he was successful in deployment (his name is Jeffrey Jackson).
I searched my JDev_3.2.3 for this file and found it nowhere.
I also searched my OC4J home and my 9iAS for this file and
found it nowhere.
It is nowhere on my C:\.
Is this file necessary?
I will also try removing my application.properties file
and my connections.properties file from my BC4J .jar file
and put them in a separate .jar file at the root level (as Raghu did).
However, Jeffery Jackson did not do this and says he was
successfull in deployment.
***DO I NEED TO JAR UP ANY OF MY THE FILES FROM the JSP
FOLDER IN JDevHome\myhtml???***
***or place them in the classpath?***
I have read over all of the discussions at: http://technet.oracle.com:89/ubb/Forum2/HTML/008232.html
and http://technet.oracle.com:89/ubb/Forum99/HTML/000028.html
many, many times.
Can anyone help me? -
I am trying to deploy BC4J as Ejb to 8i (8.1.6). I use the following deployment method with j: my Jdev root.
setjboenv j: ejb8i
loadjava - u user/passwd@host:port:sid - thin -v - r grant "SYS,PUBLIC" j:lib\xmlparserv2.jar
loadjava - u user/passwd@host:port:sid - thin -v - r grant "SYS,PUBLIC" j:lib\jbomt.zip
loadjava - u user/passwd@host:port:sid - thin -v - r grant "SYS,PUBLIC" j:lib\jboejb.jarI then create a deployment profile for ejb 8i with the ide. (Without deploying)
I then use loadjava outside the IDE to deploy the 2 jar files created
MyProject1CommonEJB.jar
and
Myproject1.jar
I then use the ide again to deploy the bean profile
Package1ModuleServerEJB.prf
The last step fails with the error :
Publishing EJBHome...org.omg.CORBA.BAD_PARAM: null Strings are illegal in IIOP. Please correct your application or run the ORB in backward compatibility mode. minor code: 0 completed: No
void oracle.aurora.ejb.deployment.GenerateEjb.invoke()
void oracle.aurora.server.tools.sess_iiop.ToolImpl.invoke(java.lang.String[], java.io.InputStream, java.io.PrintStream, java.io.PrintStream)
void oracle.aurora.ejb.deployment.GenerateEjb.main(java.lang.String[])
Exception in thread main
Strangely, when I test this EJB with the tester (middle tier = remote ejb) it works, but from JSP's I get an application error : "Unknown Exception"
I am using Jdev 3.1
Also using the deploy option when creating the deployment profile fails apparantly due to the missing grant "SYS,PUBLIC" when loading classes to the database before deploying the bean.
What can be done ?
nullHi Blaise
Thanks for the reply. I have tried to do the complete deployment from within Jdev, but now I get the following error right at the end of the deployment.
/BC4J1AppModuleEjb/EjbObject_RemoteBC4J1AppModuleEjb:ORA-29535: source requires recompilationjava.lang.NullPointerException at sun.tools.java.Environment.error(Environment.java) at sun.tools.java.Environment.error(Environment.java) at sun.tools.java.Environment.error(Environment.java) ..... etc.
I have tried to deploy to a clean schema with the java privilages granted as described in the Jdev release notes.
I included the following libraries in my project :
JBO JDBC816 PATCH
JBO OSQL Domains
JDeveloper Runtime
Oracle 8.1.6 JDBC
Connection Manager
JBO Runtime
JBO VB Runtime
JBO 8i Runtime
SQLJ Runtime
JBO 8i Client
JBO Vanilla Domains
JBO EJB Runtime
JServer
Oracle XML SQL Utility
ORACLE XML Parser 2.0
Then I just used the deployment wizzard
null -
Problem with deploying bc4j into Oracle 8i
Hi ,
We are trying to deploy bc4j in to Oracle 8i. Using the
business componets tutorial as a guideline, we have created
business components for a master detail relationship between dept and emp tables. When tested using the business components tester in
JDev 3.0 in the local mode it is working well. Then we made
the application remotable to be deployed as a corba object in
Oracle 8i database. When the deployment is done the following errors
are occuring during resolving.
resolving: oracle/jbo/server/DatabaseTransactionFactory
Error while resolving class oracle/jbo/server/DatabaseTransactionFactory
ORA-29554: unhandled Java out of memory condition
resolving: oracle/jbo/common/remote/PiggybackReturn
resolving: oracle/jbo/server/xml/JTPersistable
resolving: oracle/jbo/server/util/JboSQLUtil
Error while resolving class oracle/jbo/server/util/JboSQLUtil
ORA-29554: unhandled Java out of memory condition
resolving: oracle/jbo/server/xml/XMLContextCustImpl
oracle/jbo/server/xml/JTStorageOutput is already resolved
resolving: oracle/jbo/server/java/util/Iterator
resolving: oracle/jbo/server/rules/JboSQLCompareValidator
Error while resolving class oracle/jbo/server/rules/JboSQLCompareValidator
ORA-29554: unhandled Java out of memory condition
resolving: oracle/jbo/server/ValidationManager
Error while resolving class oracle/jbo/server/ValidationManager
ORA-29554: unhandled Java out of memory condition
resolving: oracle/jbo/server/TransactionListener
Error while resolving class oracle/jbo/server/TransactionListener
ORA-29554: unhandled Java out of memory condition
resolving: oracle/jbo/common/CheckedListResourceBundle
resolving: oracle/jbo/DeleteEvent
Error while resolving class oracle/jbo/DeleteEvent
ORA-29554: unhandled Java out of memory condition
resolving: oracle/jbo/common/PiggybackObjRemovedEntry
resolving: oracle/jbo/server/rules/SQLBindUtility
resolving: oracle/jbo/server/ViewRowCache
Error while resolving class oracle/jbo/server/ViewRowCache
ORA-29554: unhandled Java out of memory condition
resolving: oracle/jbo/server/ContainerObjectEvent
resolving: oracle/jbo/domain/Char$1$facClass
Error while resolving class oracle/jbo/domain/Char$1$facClass
ORA-29554: unhandled Java out of memory condition
But at the end we are able to resolve all classes from the sqlplus using alter java class .... resolve.
After resolving all the invalid classes manually, when we try to test
the application using business component tester in Oracle 8i mode
we end up with the error
String index out of range: -25
The same thing happens when we are trying to deploy the business components as an ejb in Oracle 8i as well.
Oracle 8i (8.1.5) is running on Windows NT. Java pool size is 60MB
Ramanujam SYou need to configure the Java shared pool size in the init.ora for the RDBMS. The default is 20 MB and this is not enough for deploying the BC4J into the RDBMS, try 50 MB (or more if you can afford it). There are a lot of classes in the BC4J and the resolver needs a lot of temporary space to take care of loading and resolving these.
-
HOWTO:Deploy BC4J as Session Bean in Weblogic
This document describes Howto deploy a BC4J Appmodule as EJB Session Bean to Weblogic and
test the appmodule through the BC4J tester.
=>create a BC4J Application using Business Components Wizard.
=>test it using BC4J tester
=>make the Application Module Remotable [list]
[*]Select Appmodule and right mouse on it to select the edit option
[*]Select Remote tab
[*]Select the check box for Remotable Application Module
[*]Select EJB Session Bean and shuttle it from Available list to Selected list
[*]Click on the finish button[list]
=> Do File| Save All and a Rebuild on the project
=> create the weblogic XML Deployment Descriptor[list]
[*]Choose File|New
[*]Select the web objects tab
[*]Select XML and click ok
[*]Rename the file as ejb-jar.xml using File|Rename
[*]Save it in the JDEV_HOME/myclasses/META-INF directory.
[*]Open the xml file by double clicking on it.
[*]Paste the following into the file
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'>
<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>wl.WlModule</ejb-name>
<home>wl.common.ejb.WlModuleHome</home>
<remote>wl.common.ejb.RemoteWlModule</remote>
<ejb-class>wl.server.ejb.WlModuleServerEJB</ejb-class>
<session-type>Stateful</session-type>
<transaction-type>Bean</transaction-type>
</session>
</enterprise-beans>
<assembly-descriptor>
</assembly-descriptor>
</ejb-jar>
[*]Choose File|New
[*]Select the web objects tab
[*]Select XML and click ok
[*]Rename the file as weblogic-ejb-jar.xml using File|Rename
[*]Save it in the JDEV_HOME/myclasses/META-INF directory.
[*]Open the xml file by double clicking on it.
[*]Paste the following into the file
<!DOCTYPE weblogic-ejb-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 5.1.0 EJB//EN' 'http://www.bea.com/servers/wls510/dtd/weblogic-ejb-jar.dtd'>
<weblogic-ejb-jar>
<weblogic-enterprise-bean>
<ejb-name>wl.WlModule</ejb-name>
<caching-descriptor>
<max-beans-in-free-pool>100</max-beans-in-free-pool>
<max-beans-in-cache>100</max-beans-in-cache>
<idle-timeout-seconds>60</idle-timeout-seconds>
</caching-descriptor>
<jndi-name>wl.WlModule</jndi-name>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
In this example "wl" is the package name and "WlModule" is the Appmodule name.[list]
=> generate the jar file for appmodule along with xml deployment descriptors[list]
[*]from the command line in JDEV_HOME/myclasses directory run
[*]jar cvf0 wlappmodule.jar wl META-INF[list]
=> edit the setenv.cmd file in WEBLOGIC_HOME directory[list]
[*]set JAVA_HOME=f:\jdev32\java1.2
[*]set JBOLIB=f:\jdev32\lib
[*]set JDBC_CLASSES=f:\jdev32\jdbc\lib\oracle8.1.7\classes12.zip
[*]set JBO_RUNTIME=%JBOLIB%\jboorasql.zip;%JDBC_CLASSES%;%JBOLIB%\jbodatum12.zip;%JBOLIB%\xmlparserv2.jar;%JBOLIB%\jbomt.zip;%JBOLIB%\jboejb.jar
[*]add JBO_RUNTIME in the set CLASSPATH variable[list]
=> create a bc4j deploy batch file "Deploybc4j.cmd" in the WEB_LOGIC HOME
which will generate the server side jar files
@setlocal
set JAVA=java
set JAVAC=javac
set BEAN_JAR=%1
set EJB_TEMP=f:\jdev32\myclasses\wl
set XMLPARSERV2=f:\jdev32\lib\xmlparserv2.jar;
set JDBC_LIBS=f:\jdev32\jdbc\oracle8.1.7\lib\classes12.zip
set JBO_EJB_RUNTIME=f:\jdev32\lib\jbomt.zip;f:\jdev32\lib\jboejb.jar;%XMLPARSERV2%;%JDBC_LIBS%
set CLASSPATH=%CLASSPATH%;%JBO_EJB_RUNTIME%;%BEAN_JAR%;%EJB_TEMP%
%JAVA% weblogic.ejbc -compiler javac f:\jdev32\myclasses\wlappmodule.jar f:\jdev32\myclasses\wlAppModuleGenerated.jar;f:\jdev32\lib\jbodomorcl.zip
pushd %EJB_TEMP%
@endlocal
Note: substittue appropriate jar file and directory structure names
=> Run setenv.cmd
=> Run deploybc4j.cmd
=> Configure Weblogic server[list]
If your weblogic server is residing on a different machine then
[*]copy wlAppModuleGenerated.jar (generated jar file from deploybc4j.cmd)
[*]Copy classes12.zip from JDEV_HOME/jdbc/lib/oracle8.1.7/ directory
[*]Copy jbodomorcl.zip
[*]jbodatum12.zip
[*]xmlparserv2.jar
[*]jbomt.zip
[*]jboejb.jar from JDEV_HOME/lib directory
[*]edit weblogic.properties file in WEBLOGIC_HOME directory
[*]In the WEBLOGIC EJB DEMO PROPERTIES sectio
[*]add weblogic.ejb.deploy=E:/weblogic/myserver/wlAppModuleGenerated.jar
(generated jar file from deploybc4j.cmd file)
[*]edit startweblogic.cmd file in WEBLOGIC_HOME directory
[*]set POST_CLASSPATH=f:\jdev32\jdbc\oracle8.1.7\lib\classes12.zip;f:\jdev32\lib\jboorasql.zip;f:\jdev32\lib\jbodatum12.zip;f:\jdev32\lib\xmlparserv2.jar;f:\jdev32\lib\jbomt.zip;f:\jdev32 \lib\jboEJB.jar;f:\jdev32\lib\jbodomorcl.zip
[*]add E:/weblogic/myserver/wlAppModuleGenerated.jar
(generated jar file from deploybc4j.cmd file) in the weblogic_classpath setting[list]
Note: modify the directory structure of jar files as apporpriate
=> Run the BC4J tester to test the deployed BC4J Appmodule as session bean to Weblogic[list]
[*]Add a new library
[*]Select the Project in which you developed the BC4J Appmodule
[*]Project | Project Properties
[*]select libraries tab
[*]Click on Add
[*]Click on New
[*]Specify "JBO WL Client" in the NAME
[*]Click on ... button for adding the jar files
[*]Click on Add/Zip jar button to add the following files
weblogicaux.jar
jboremoteejb.zip
jboremote.zip
<Weblogic_home>/classes
[*]Click on OK
[*]Start the weblogic server
[*]Bring the BC4J Tester by doing a right mouse on the appmodule and selecting Test option
[*]In the Middle Tier Server Type Select "Weblogic"
[*]Specify Host name and port # of weblogic server
[*]Click on Connect[list]
raghu
nullAlthough this explains how to then deploy to Weblogic on another server, it still presumes that it is installed on the same computer as JDev. I moved the weblogic.jar file over to the computer and fudged a few things to get it to work.
Also, I am testing this with Weblogic 6.0, so some of the information does not work as prescribed. I edited the config.xml instead of the weblogic.properties file. I am trying to figure out where to put all of the *.jar and *.zip files that I copied over to the Solaris machine with Weblogic. Any suggestions?
And one of the steps in the section to create the deploybc4j.cmd file is wrong. It says
"%JAVA% weblogic.ejbc -compiler javac f:\jdev32\myclasses\wlappmodule.jar f:\jdev32\myclasses\wlAppModuleGenerated.jar;f:\jdev32\lib\jbodomorcl.zip"
Which does not work. I took off the last part:
"%JAVA% weblogic.ejbc -compiler javac f:\jdev32\myclasses\wlappmodule.jar f:\jdev32\myclasses\wlAppModuleGenerated.jar"
and it worked. It was getting that whole last part and trying to create a directory with that name and failing.
<BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by David Shanes ([email protected]):
This seems to assume that JDev and Weblogic are installed on the same server (I refer to the section on setting the setenv.cmd file in the WEBLOGIC_HOME dir that includes the path to the JDev install.
I have JDev installed on a Win 2k box and Weblogic installed on a Solaris. Any suggestions? I got all the way up to the setenv.cmd step fine.<HR></BLOCKQUOTE>
null -
Unable to deploy bc4j component properly
I m deploying bc4j from the machine on which oc4j rel 2 server
is running using
jdev 9i, i m facing the following prob.
My applicatin is made in jsp & bc4j.
1. It is giving some EOFException at the time of deploying.
After deployment
some jsome links are working and some are not working.
2. Can we deploy from other remote machine on the oc4j server????
3. how do we use a component already deployed on the server in
our other oc4j
programs??
3. In our system there is a lot of repeatitions of same entities
in different
- application module so how do we redue that?
i wd apreciate any answer this query.
regardshi,
can you please provide more details on this issue.
Which links are working and which links are not working?
What do you mean by the question: can we use other component in the server in our oc4j. What components do you mean?
I hope an answer to these questions will clarify the issue?
thank you -
What are the steps one needs to follow while deploying BC4J to Apache as a middle-tier library? Any URLs where this is discussed?
Thanks for your help.Hello ,
You just need to have the BC4J application
classes & the BC4J framework jar files
placed in the middle tier (
JBO , and have them included in your CLASSPATH.The BC4J classes
then could be accessed from a java application deployed on Apache.
This is similar to Local deployement.
null -
Is it possible to deploy BC4J auction on Microsoft internet information server 4?
nullYou should be able to deploy a JSP web application to any webserver that supports JSP 1.0 and Servlet 2.0 or later.
Make sure to deploy the runtime libraries needed by the app to the webserver's host and include them in the classpath for the webserver.
See your webserver doc for more information on setting its classpath.
For more info on deploying JSP web applciations, see the online help:
User Guides
Developing Applications
Developing Web Applications
Using Java ServerPages
Deploying a JSP Application -
hi,
We have a Browser based InfoPath Form deployed on a Claims based Web Application. We are tyring to call WCF Services that are secure using Certificates via the Data Connections on Infopath Form.
Earlier we used to get the Data in BCS External List via the WCF Services and the Data Connections used to get the Data from the BCS External List. Due to Performance Issues, we want to remove the BCS External List and straightaway call the secure WCF Services
via the Data Connections.
Have anyone implemented this scenario.
Thanks
Ram
Thanks RamHi Ram,
As these are browser based InfoPath forms, you have two options
1) Deploy as sandboxed forms
In this case you have to create a secure store application id and then set the credentials for that account.
You then have to export the data connection to Data connections library and modify the .udcx file to utilize the newly created secure store application id.
This may sometime give issues related to sandboxed code service. You have to give permissions on the secure store for the user account which the sandboxed code service is running.
2) Deploy as administrator approved forms
This would be ideal way of doing things as you have full control over the web request if you write code behind InfoPath forms.
3) Deploy as a Hybrid solution
a) Write a full trust proxy solutions (extend SPProxyOperation class and override execute method) and make the web request call inside this and return the response
b) Invoke above operation from the sandboxed InfoPath form's code behind by SPUtility.RegisteredProxyOperation(four part assembly name, operation args)
Hope this helps.
Thanks,
Srikanth -
Hi everyone,
I followed the instructions of the following link to create a web service using jDeveloper 10.1.3.1.0 on Oracle Application Server 10.1.2.0.2. [http://st-curriculum.oracle.com/obe/jdev/obe1013jdev/10131/devdepandmanagingws/devdepandmanagingws.htm#t1]
The web service created was deployed & used with no errors on the standalone OC4J instance.
But my goal is to deploy my web service on Oracle Application Server 10.1.2.0.2.
So after several attempts, I was able to deploy it on the Oracle Application Server 10.1.2.0.2 but unfortunately I didn't know the URL needed to use the web service.
I tried the following link (http://192.168.0.91:18100/JavaWebService-GetDates-context-root/GetDatesWSSoapHttpPort) but also didn't work :(
I also tried converting to J2EE 1.3 and still not knowing how to access the web service.
Please advice with a solution.
Thanks in advance.
LanaThanks everyone for your help :)
The problem turned out to be that Oracle application server 10.1.2 is unlike the others servers, it uses 2 ports:
- port (19100) is dedicated for the console.
- port (7779) is to view your applications.
So the URL needed turned out to be "http://acteos-109.beirut.acteos:7779/beanTest" instead of "http://acteos-109.beirut.acteos:18100/beanTest"
Hope this info is useful
Lana -
Hello,
Using the ADF Runtime Installer for JBoss found in JDeveloper 10.1.3.0.4, i've received deployment error during startup of JBoss. The error message as displayed in the console window as follows:
09:29:16,325 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
--- Incompletely deployed packages ---
org.jboss.deployment.DeploymentInfo@89f00429 { url=file:/C:/Java/JBossAppServers/jboss-4.0.4.CR2/server/default/deploy/bc4j.ear }
deployer: org.jboss.deployment.EARDeployer@3a835d
status: Deployment FAILED reason: Could not create deployment: file:/C:/Java/JBossAppServers/jboss-4.0.4.CR2/server/default/tmp/deploy/tmp65518bc4j.ear-contents/webapp.war; - nested throwable: (org.jboss.ws.WSException: java.lang.ClassNot
FoundException: oracle.jbo.server.emd.EMDServlet)
state: FAILED
watch: file:/C:/Java/JBossAppServers/jboss-4.0.4.CR2/server/default/deploy/bc4j.ear
altDD: null
lastDeployed: 1146014956309
lastModified: 1146014950147
mbeans:Above it there is a lot more lines of stack trace, tell me if you need it to help me with this problem. The file structure deployed is as follows (Based on the log displayed in JDeveloper):
In deploy directory
bc4j.ear
In jlib directory
bc4jdomgnrc.jar
In lib directory
adf-connections.jar
adfbinding.jar
adfcm.jar
adfm.jar
adfmtl.jar
adfmweb.jar
adfshare.jar
adfui.jar
antlr.jar
bc4jct.jar
bc4jctejb.jar
bc4jdomgnrc.jar
bc4jdomorcl.jar
bc4jhtml.jar
bc4jimdomains.jar
bc4jmt.jar
bc4jmtejb.jar
cache.jar
collections.jar
commons-cli-1.0.jar
commons-el.jar
concurrent.jar
datatags.jar
dc-adapters.jar
dms.jar
http_client.jar
jazncore.jar
jdev-cm.jar
jsp-el-api.jar
mdds.jar
mdsrt.jar
ojdbc14.jar
ojdbc14dms.jar
ojdl.jar
ojpse.jar
oracle-el.jar
oraclepki.jar
orajaxr.jar
orasaaj.jar
orawsdl.jar
orawsrm.jar
ordhttp.jar
ordim.jar
osdt_cert.jar
osdt_core.jar
osdt_saml.jar
osdt_wss.jar
osdt_xmlsec.jar
regexp.jar
runtime12.jar
share.jar
toplink.jar
translator.jar
wsclient.jar
wsdl.jar
wssecurity.jar
xml.jar
xmlef.jar
xmlparserv2.jar
xsdlib.jar
xsqlserializers.jar
xsu12.jar
And another thing, is there any way to have the ADF Runtime Installer install the ADF Runtime into another JBoss config directory. As far as I noticed, it will only install into the JBoss default config directory.
TQ in advance.Hi Cleber,
Is it possible that you can send me a copy of your original 10.1.2 project which contains these diagrams so that I can take a look? The diagrams should open fine in 10.1.3.0.4.
My email address is [email protected], if you could zip up your project and then change the .zip file extension to .zap to get it through the email server.
Regards,
Lisa
JDev QA -
Error while Deploying application in Websphere
Hi All,
When I was installing and deploying an application in Websphere, I got some virtual memory error due to which the websphere admin console page had to be closed. So I restarted websphere and when I try to install the application again It throws the error :
Application already exists in the configuration repository.
I can not see this application in the console and cannot even install it again.
Please help me with this error, I am going crazy resloving this.
Please..Please...
Thanks in Advance
Swapna.So see reply one... go hunting for the applications
artifacts with the good ole winblows explorer
thingummy and just blow 'em away.
Worste come to worste blow the whole app server away
and reinstall it.There are also a couple of directories called temp\ and wstemp\ that you might need to clear out within your server's directory. Sometimes they get gummed up and you have to clear them out manually. -
How to deploy a POJO or a java application in oracle ESB?
hi,
I m beginner in oracle ESB.
please someone tell me how to deploy a POJO or a java application in oracle ESB?
thank you.
Peter.The short answer is "you wouldn't"
The long answer is that you would expose your Java Application or POJO as a Web Service then virtualise it through the ESB.
If you're wanting to learn more about SOA, ESB and BPEL have you been to this site http://download.oracle.com/docs/cd/B31017_01/index.htm
Maybe you are looking for
-
Error Installing Windows 8.1 on SSD which is in place of macbook pro's SuperDrive
I'm trying to install a regular copy of Windows 8.1 pro on an SSD on a Macbook Pro mid 2010. The SSD has been mounted replacing the old, unused SuperDrive with a support to add another disk. After starting the setup and formatting the disk to be read
-
i have just done the update for intel mac- i can note that all windows have a steel grey finish now- i just wanted to check with others if they have the sasme finish or is it a problem with my mac also is this the way leopard will look like
-
Is it true that Macbook Air is no longer allowed on planes?
Is it true that Macbook Air is no longer allowed on planes?
-
Some incoming emails have the comment that Mail is not currently configured to show HTML. Under Mail>preferences>view I have checked the box display remote images in HTML. How do I correct this without having to go to a web link to read the message i
-
Blockrecover datafile wants more and more redologs
Hello, in our prod. system we have a block corruption at datafile 5 block 988626; It's Oracle 11.2.0.2. DBV at 10.03.2012 was red. DBV at 03.03.2012 was green. We have tried a blockrecover like discribed in sap note 540463 with a copy of affected dat