Stateless ejb doesn't insert row
Hi
When I generate stateless jsp pages for AM deployed on 8i ejb, it cannot insert a new record. However if I make statefull pages - everything is fine. Also it works in tester.
Also with Local deployment both types of jsp generation (statefull and stateless) works fine.
Please help.
Err message that I am getting is:
Error Message: Caught RuntimeException in remote method; nested exception is: java.lang.NullPointerException:null Remote Stack Trace: java.lang.NullPointerException at java.lang.String.length(String.java) at java.io.DataOutputStream.writeUTF(DataOutputStream.java) at java.io.ObjectOutputStream.writeUTF(ObjectOutputStream.java) at oracle.jbo.common.PiggybackExceptionEntry.writeObject(PiggybackExceptionEntry.java:96) at java.lang.reflect.Method.invoke(Method.java) at java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java) at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java) at oracle.jbo.common.PiggybackOutput.getPiggybackStream(PiggybackOutput.java:128) at oracle.jbo.server.remote.ejb.EJBApplicationModuleImpl.processException(EJBApplicationModuleImpl.java:1893) at oracle.jbo.server.remote.ejb.EJBApplicationModuleImpl.riRowOperation(EJBApplicationModuleImpl.java:536) at oracle.aurora.ejb.gen._test_scott_ejb_colojbo101.colo.EjbObject_Remotecolo.riRowOperation(oracle/aurora/ejb/gen/_test_scott_ejb_colojbo101/colo/EjbObject_Remotecolo:3228) at colojbo101.common.ejb._tie_Remotecolo.riRowOperation(_tie_Remotecolo.java:1807) at oracle.jbo.common.remote.ejb._RemoteApplicationModuleImplBase._execute(_RemoteApplicationModuleImplBase.java:3109) at colojbo101.common.ejb._RemotecoloImplBase._execute(_RemotecoloImplBase.java:151) at com.visigenic.vbroker.orb.SkeletonDelegateImpl.execute(SkeletonDelegateImpl.java) at oracle.aurora.server.GiopProtocolAdapter.doRequest(GiopProtocolAdapter.java) at com.visigenic.vbroker.orb.GiopProtocolAdapter.dispatchMessage(GiopProtocolAdapter.java) at oracle.aurora.server.ThreadSessionDispatcher.run(ThreadSessionDispatcher.java) at oracle.aurora.server.VCIiopConnection.processRequest(VCIiopConnection.java) at oracle.aurora.server.GiopServer._service(GiopServer.java) at oracle.aurora.server.GiopServer.service(GiopServer.java) at oracle.aurora.net.VirtualCircuit.processRequest(VirtualCircuit.java) at oracle.aurora.net.Presentation.handleRequest(Presentation.java)
null
Hi,
We had the same problem.
1. Permissions.
2. Growth of the User table space not catered for. (Too small)
Hope this helps.
Buks
Similar Messages
-
HOWTO: Using a BC4J Application Module in an Stateless EJB Session Bean
HOWTO: Using a BC4J Application Module in an Stateless EJB Session Bean
by Steve Muench
Overview
BC4J provides automatic facilities for deploying any application module as a stateful EJB session bean. If you want to leverage the features of your BC4J application module from a stateless EJB session bean, it's not automatic but it is straightforward to implement. This howto article explains the details.
For our example, we will create a stateless EJB session bean that uses a container-managed transaction. To keep things simple, let's assume the session bean has a single public method on its remote interface named createDepartment() with the following signature:
public void createDepartment(int id, String name, String loc) throws AppException
AppException is an example of an application-specific exception that our method will throw if any problems arise during its execution.The goal of this article is to illustrate how to use the BC4J application module named com.example.hr.HRApp as part of the implementation of this createDepartment method on our stateless enterprise bean. Let's assume that the HRApp application module has a view object member named Departments, based on the com.example.hr.DeptView view object, based on the familiar DEPT table and related to the com.example.hr.Dept entity object so our view can be updateable.
Creating the Stateless Session Bean
We can start by using the JDeveloper Enterprise Bean wizard to create a new stateless session bean called StatelessSampleEJB implemented by:[list][*]com.example.StatelessSampleEJBBean (Bean class)[*]com.example.StatelessSampleEJBHome (Home interface)[*]com.example.StatelessSampleEJB (Remote interface)[list]
We then use the EJB Class Editor to add the createDepartment method to the remote interface of StatelessSampleEJB with the signature above. We edit the remote interface to make sure that it also reflects that the createDepartment method thows the AppException like this:
package com.example;
import javax.ejb.EJBObject;
import java.rmi.RemoteException;
public interface StatelessSampleEJB extends EJBObject {
void createDepartment(int id, String name, String loc)
throws RemoteException,AppException;
}Before we start adding BC4J into the picture for our implementation, our StatelessSampleEJBBean class looks like this:
package com.example;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
public class StatelessSampleEJBBean implements SessionBean {
public void ejbCreate(){}
public void ejbActivate(){}
public void ejbPassivate(){}
public void ejbRemove(){}
public void setSessionContext(SessionContext ctx){
public void createDepartment(int id, String name, String loc)
throws AppException {
// TODO: Implement method here
}We can double-click on the ejb-jar.xml file in our project to see the XML deployment descriptor for the bean we just created:
<ejb-jar>
<enterprise-beans>
<session>
<description>Session Bean ( Stateless )</description>
<display-name>StatelessSampleEJB</display-name>
<ejb-name>StatelessSampleEJB</ejb-name>
<home>com.example.StatelessSampleEJBHome</home>
<remote>com.example.StatelessSampleEJB</remote>
<ejb-class>com.example.StatelessSampleEJBBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>We need to add the extra <assembly-descriptor> section in this file to indicate that the createDepartment method will require a transaction. After this edit, the ejb-jar.xml file looks like this:
<ejb-jar>
<enterprise-beans>
<session>
<description>Session Bean ( Stateless )</description>
<display-name>StatelessSampleEJB</display-name>
<ejb-name>StatelessSampleEJB</ejb-name>
<home>com.example.StatelessSampleEJBHome</home>
<remote>com.example.StatelessSampleEJB</remote>
<ejb-class>com.example.StatelessSampleEJBBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>StatelessSampleEJB</ejb-name>
<method-name>createDepartment</method-name>
<method-params>
<method-param>int</method-param>
<method-param>java.lang.String</method-param>
<method-param>java.lang.String</method-param>
</method-params>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
Aggregating a BC4J Application Module
With the EJB aspects of our bean setup, we can proceed to implementing the BC4J application module aggregation.
The first thing we do is add private variables to hold the EJB SessionContext and the instance of the aggregated BC4J ApplicationModule, like this:
// Place to hold onto the aggregated appmodule instance
transient private ApplicationModule _am = null;
// Remember the SessionContext that the EJB container provides us
private SessionContext _ctx = null;and we modify the default, empty implementation of the setSessionContext() method to remember the session context like this:
public void setSessionContext(SessionContext ctx){ _ctx = ctx; }We add additional constants that hold the names of the J2EE datasource that we want BC4J to use, as well as the fully-qualified name of the BC4J application module that we'll be aggregating:
// JNDI resource name for the J2EE datasource to use
private static final String DATASOURCE = "jdbc/OracleCoreDS";
// Fully-qualified BC4J application module name to aggregate
private static final String APPMODNAME = "com.example.hr.HRApp";We expand the now-empty ejbCreate() and ejbRemove() methods to create and destory the aggregated instance of the BC4J application module that we'll use for the lifetime of the stateless session bean. When we're done, ejbCreate() it looks like this:
public void ejbCreate() throws CreateException {
try {
// Setup a hashtable of environment parameters for JNDI initial context
Hashtable env = new Hashtable();
env.put(JboContext.INITIAL_CONTEXT_FACTORY,JboContext.JBO_CONTEXT_FACTORY);
// NOTE: we want to use the BC4J app module in local mode as a simple Java class!
env.put(JboContext.DEPLOY_PLATFORM, JboContext.PLATFORM_LOCAL);
env.put(PropertyConstants.INTERNAL_CONNECTION_PARAMS,DATASOURCE);
// Create an initial context, using this hashtable of environment params
InitialContext ic = new InitialContext(env);
// Lookup a home interface for the application module
ApplicationModuleHome home = (ApplicationModuleHome)ic.lookup(APPMODNAME);
// Using the home, create the instance of the appmodule we'll use
_am = home.create();
// Register the BC4J factory to handle EJB container-managed transactions
registerContainerManagedTransactionHandlerFactory();
catch(Exception ex) {
ex.printStackTrace();
throw new CreateException(ex.getMessage());
}and ejbRemove() looks like this:
public void ejbRemove() {
try {
// Cleanup any appmodule resources before getting shutdown
_am.remove();
catch(JboException ex) { /* Ignore */ }
}The helper method named reigsterContainerManagedTransactionHandlerFactory() looks like this:
private void registerContainerManagedTransactionHandlerFactory() {
SessionImpl session = (SessionImpl)_am.getSession();
session.setTransactionHandlerFactory(
new TransactionHandlerFactory() {
public TransactionHandler createTransactionHandler() {
return new ContainerManagedTxnHandlerImpl();
public JTATransactionHandler createJTATransactionHandler() {
return new ContainerManagedTxnHandlerImpl();
}The last detail is to use the BC4J appmodule to implement the createDepartment() method. It ends up looking like this:
public void createDepartment(int id, String name, String loc)
throws AppException {
try {
// Connect the AM to the datasource we want to use for the duration
// of this single method call.
_am.getTransaction().connectToDataSource(null,DATASOURCE,false);
// Use the "Departments" view object member of this AM
ViewObject departments = _am.findViewObject("Departments");
// Create a new row in this view object.
Row newDept = departments.createRow();
// Populate the attributes from the parameter arguments.
newDept.setAttribute("Deptno", new Number(id));
newDept.setAttribute("Dname", name);
newDept.setAttribute("Loc", loc);
// Add the new row to the view object's default rowset
departments.insertRow(newDept);
// Post all changes in the AM, but we don't commit them. The EJB
// container managed transaction handles the commit.
_am.getTransaction().postChanges();
catch(JboException ex) {
// To be good EJB Container-Managed Transaction "citizens" we have
// to mark the transaction as needing a rollback if there are problems
_ctx.setRollbackOnly();
throw new AppException("Error creating dept "+ id +"\n"+ex.getMessage());
finally {
try {
// Disconnect the AM from the datasource we're using
_am.getTransaction().disconnect();
catch(Exception ex) { /* Ignore */ }
Building a Test Client
With the EJB-Tier work done, we can build a sample client program to test this new stateless EJB Session Bean by selecting the bean in the Oracle9i JDeveloper IDE and choosing "Create Sample Java Client" from the right-mouse menu.
When the "Sample EJB Client Details" dialog appears, we take the defaults of connecting to embedded OC4J container. Clicking the (OK) button generates the following test class:
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
import com.example.StatelessSampleEJB;
import com.example.StatelessSampleEJBHome;
public class SampleStatelessSampleEJBClient {
public static void main(String [] args) {
SampleStatelessSampleEJBClient sampleStatelessSampleEJBClient =
new SampleStatelessSampleEJBClient();
try {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.evermind.server.rmi.RMIInitialContextFactory");
env.put(Context.SECURITY_PRINCIPAL, "admin");
env.put(Context.SECURITY_CREDENTIALS, "welcome");
env.put(Context.PROVIDER_URL,
"ormi://localhost:23891/current-workspace-app");
Context ctx = new InitialContext(env);
StatelessSampleEJBHome statelessSampleEJBHome =
(StatelessSampleEJBHome)ctx.lookup("StatelessSampleEJB");
StatelessSampleEJB statelessSampleEJB;
// Use one of the create() methods below to create a new instance
// statelessSampleEJB = statelessSampleEJBHome.create();
// Call any of the Remote methods below to access the EJB
// statelessSampleEJB.createDepartment( int id, java.lang.String name, java.lang.String loc );
catch(Throwable ex) {
ex.printStackTrace();
}We uncomment the call to the create() method and add a few calls to the createDepartment() method so that the body of the test program now looks like this:
// Use one of the create() methods below to create a new instance
statelessSampleEJB = statelessSampleEJBHome.create();
// Call any of the Remote methods below to access the EJB
statelessSampleEJB.createDepartment( 13, "Test1","Loc1");
System.out.println("Created department 13");
statelessSampleEJB.createDepartment( 14, "Test2","Loc2");
System.out.println("Created department 14");
try {
// Try setting a department id that is too large!
statelessSampleEJB.createDepartment( 23456, "Test3","Loc3");
catch (AppException ax) {
System.err.println("AppException: "+ax.getMessage());
}Before we can successfully run our SampleStatelessSampleEJBClient we need to first run the EJB bean that the client will try to connect to. Since Oracle9i JDeveloper supports local running and debugging of the EJB-Tier without doing through a full J2EE deployment step, to accomplish this prerequisite step we just need to right-mouse on the StatelessSampleEJB node in the System Navigator and select "Run". This starts up the embedded OC4J instance and runs the EJB right out of the current out path.Finally, we can run the SampleStatelessSampleEJBClient, and see the output of the test program in the JDeveloper log window:
Created department 13
Created department 14
AppException: Error creating dept 23456
JBO-27010: Attribute set with value 23456 for Deptno in Dept has invalid precision/scale
Troubleshooting
One error that might arise while running the example is that the database connection information in your data-sources.xml for the jdbc/OracleCoreDS datasource does not correspond to the database you are trying to test against. If this happens, then double-check the file .\jdev\system\oc4j-config\data-sources.xml under the JDeveloper installation home directory to make sure that the url value provided is what you expect. For example, to work against a local Oracle database running on your current machine, listening on port 1521, with SID of ORCL, you would edit this file to have an entry like this for jdbc/OracleCoreDS :
<data-source
class="com.evermind.sql.DriverManagerDataSource"
name="OracleDS"
location="jdbc/OracleCoreDS"
xa-location="jdbc/xa/OracleXADS"
ejb-location="jdbc/OracleDS"
connection-driver="oracle.jdbc.driver.OracleDriver"
username="scott"
password="tiger"
url="jdbc:oracle:thin:@localhost:1521:ORCL"
inactivity-timeout="30"
/>This is the data-sources.xml file that gets used by the embedded OC4J instance running in JDeveloper.
Conclusion
Hopefully this article has illustrated that it is straightforward to utilize the full power of BC4J in local mode as part of your EJB Stateless Session Beans using container-managed transaction. This example illustrated a single createDepartment method in the enterprise bean, but by replicating the application module interaction code that we've illustrated in createDepartment, any number of methods in your stateless session bean can use the aggregated application module instance created in the ejbCreate() method.
Code Listing
The full code listing for the SampleStatelessEJB bean implementation class looks like this:
* StatelessSampleEJB
* Illustrates how to use an aggregated BC4J application module
* in local mode as part of the implementation of a stateless
* EJB session bean using container-managed transaction.
* HISTORY
* smuench/dmutreja 14-FEB-2002 Created
package com.example;
import oracle.jbo.*;
import oracle.jbo.server.*;
import javax.ejb.*;
import oracle.jbo.domain.Number;
import oracle.jbo.common.PropertyConstants;
import java.util.Hashtable;
import javax.naming.InitialContext;
import oracle.jbo.server.ejb.ContainerManagedTxnHandlerImpl;
public class StatelessSampleEJBBean implements SessionBean {
// JNDI resource name for the J2EE datasource to use
private static final String DATASOURCE = "jdbc/OracleCoreDS";
// Fully-qualified BC4J application module name to aggregate
private static final String APPMODNAME = "com.example.hr.HRApp";
// Place to hold onto the aggregated appmodule instance
transient private ApplicationModule _am = null;
// Remember the SessionContext that the EJB container provides us
private SessionContext _ctx = null;
public void ejbCreate() throws CreateException {
try {
// Setup a hashtable of environment parameters for JNDI initial context
Hashtable env = new Hashtable();
env.put(JboContext.INITIAL_CONTEXT_FACTORY,JboContext.JBO_CONTEXT_FACTORY);
env.put(JboContext.DEPLOY_PLATFORM, JboContext.PLATFORM_LOCAL);
env.put(PropertyConstants.INTERNAL_CONNECTION_PARAMS,DATASOURCE);
// Create an initial context, using this hashtable of environment params
InitialContext ic = new InitialContext(env);
// Lookup a home interface for the application module
ApplicationModuleHome home = (ApplicationModuleHome)ic.lookup(APPMODNAME);
// Using the home, create the instance of the appmodule we'll use
_am = home.create();
// Register the BC4J factory to handle EJB container-managed transactions
registerContainerManagedTransactionHandlerFactory();
catch(Exception ex) {
ex.printStackTrace();
throw new CreateException(ex.getMessage());
public void ejbActivate(){}
public void ejbPassivate(){}
public void ejbRemove(){}
public void setSessionContext(SessionContext ctx){ _ctx = ctx; }
public void createDepartment(int id, String name, String loc)
throws AppException {
try {
// Connect the AM to the datasource we want to use for the duration
// of this single method call.
_am.getTransaction().connectToDataSource(null,DATASOURCE,false);
// Use the "Departments" view object member of this AM
ViewObject departments = _am.findViewObject("Departments");
// Create a new row in this view object.
Row newDept = departments.createRow();
// Populate the attributes from the parameter arguments.
newDept.setAttribute("Deptno", new Number(id));
newDept.setAttribute("Dname", name);
newDept.setAttribute("Loc", loc);
// Add the new row to the view object's default rowset
departments.insertRow(newDept);
// Post all changes in the AM, but we don't commit them. The EJB
// container managed transaction handles the commit.
_am.getTransaction().postChanges();
catch(JboException ex) {
// To be good EJB Container-Managed Transaction "citizens" we have
// to mark the transaction as needing a rollback if there are problems
_ctx.setRollbackOnly();
throw new AppException("Error creating dept "+ id +\n"+ex.getMessage());
finally {
try {
// Disconnect the AM from the datasource we're using
_am.getTransaction().disconnect();
catch(Exception ex) { /* Ignore */ }
private void registerContainerManagedTransactionHandlerFactory() {
SessionImpl session = (SessionImpl)_am.getSession();
session.setTransactionHandlerFactory(
new TransactionHandlerFactory() {
public TransactionHandler createTransactionHandler() {
return new ContainerManagedTxnHandlerImpl();
public JTATransactionHandler createJTATransactionHandler() {
return new ContainerManagedTxnHandlerImpl();Hi Steve, It4s me again;
About the question I made, I tried with a single assembly-descriptor tag and a single container-transaction tag in the deployment descriptor of the session bean and these were the results.
java.lang.NullPointerException
void com.evermind.server.rmi.RMIConnection.EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER(java.lang.Throwable)
java.lang.Object com.evermind.server.rmi.RMIConnection.invokeMethod(com.evermind.server.rmi.RMIContext, long, long, java.lang.reflect.Method, java.lang.Object[])
java.lang.Object com.evermind.server.rmi.RemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
java.lang.Object com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
java.lang.Object com.evermind.server.ejb.StatelessSessionRemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
void __Proxy1.modificaEnvoltura(java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.String)
void SamplemdeController.envolturaControlEJBClient.main(java.lang.String[])
Then I tried with multiple assembly-descriptor tags each with a single container-transaction tag and the results were:
java.lang.NullPointerException
void com.evermind.server.rmi.RMIConnection.EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER(java.lang.Throwable)
java.lang.Object com.evermind.server.rmi.RMIConnection.invokeMethod(com.evermind.server.rmi.RMIContext, long, long, java.lang.reflect.Method, java.lang.Object[])
java.lang.Object com.evermind.server.rmi.RemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
java.lang.Object com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
java.lang.Object com.evermind.server.ejb.StatelessSessionRemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
void __Proxy1.modificaEnvoltura(java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.String)
void SamplemdeController.envolturaControlEJBClient.main(java.lang.String[])
Finally I tried with a single assembly-descriptor and multiple container tags and the results were:
java.lang.NullPointerException
void com.evermind.server.rmi.RMIConnection.EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER(java.lang.Throwable)
java.lang.Object com.evermind.server.rmi.RMIConnection.invokeMethod(com.evermind.server.rmi.RMIContext, long, long, java.lang.reflect.Method, java.lang.Object[])
java.lang.Object com.evermind.server.rmi.RemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
java.lang.Object com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
java.lang.Object com.evermind.server.ejb.StatelessSessionRemoteInvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
void __Proxy1.modificaEnvoltura(java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.Integer, java.lang.String)
void SamplemdeController.envolturaControlEJBClient.main(java.lang.String[])
How can I make my Stateless Session bean work out? -
I'm trying to figure out how to insert rows in the middle
row 1
row 2
row 3
I need to insert 2 rows before row 2
I know I have to use the AddRow(1, Position) however after many tries, it doesn't seem to work or at least I don't know how to
insert the second row as if I do +1 it's not realy adequate, also, pVal.Row reports Row 2 and in the documentation it sais 0 based which is not right so I'm a bit confused on how to go about that.
Edited by: Marc Roussel on Aug 10, 2011 8:23 AM
Here's the whole thing, maybe you'll understand where I'm at :
I enter an ItemCode which is a kit. After the person enter the quantity, I pop a .NET Windows form which asks for questions and then after the questions I get back and add the lines but it seems that when I add the lines, I'm still on the line I was entering the kit and it overrides it instead of Adding the new row at the position I'm asking it to add the row.
Even if I do pVal.Row +1 or +2 or +3, it doesn't matter
Edited by: Marc Roussel on Aug 10, 2011 8:28 AMThe code below adds the 2 lines all right but then, a blank line after and the line that was already there below is destroyed. Don't ask me why and what is happening to that existing line which seems to have lost the ItemCode or I don't know what happened
CurrentLine = pVal.Row;
CurrentLine++;
oMatrix.AddRow(1, CurrentLine);
SAP.SetCellValue(oMatrix, SAPFramework.Enums.MARKETING_COLS.B1_ITEMCODE, CurrentLine, "01P38");
SAP.SetCellValue(oMatrix, "U_KitSeq", CurrentLine, NewKitSeq);
CurrentLine++;
oMatrix.AddRow(1, CurrentLine);
SAP.SetCellValue(oMatrix, SAPFramework.Enums.MARKETING_COLS.B1_ITEMCODE, CurrentLine, "03P12");
SAP.SetCellValue(oMatrix, "U_KitSeq", CurrentLine, NewKitSeq);
I did not know that doing a simple thing like this would be a hard business...
Edited by: Marc Roussel on Aug 10, 2011 9:15 AM -
Select not finding previously inserted row
We are using JDBC through the JDBC-ODBC bridge to an Access database
at the moment. In one EJB method, we insert a row and commit it,
then do a select straight after that. The select does not pick
up the row that has just been inserted. However, if we wait for
say 2 seconds in the same method before trying the select, it finds
the row. Could there be some timing issue involving the commit
Any help much appreciated
Dave
Thx for your reply,
If I understand properly, this method is to somehow narrow your search within the rows contained in the VO. I know which colomn i want the value but how can i filter using a value if the value i should use to filter is the one i am looking for?
I think i have some problem understand the use i should make of this method which really seams simple.
In applications i did before using simple ADF (no OA) i used the following code i know that for OA it is useless but maybe this could help clarify my question!
CoreTable table = this.getTable1();
JUCtrlValueBindingRef data = (JUCtrlValueBindingRef)table.getRowData();
String oracleUsername = data.getRow().getAttribute(17).toString();Thank you for being patient with beginners your devotion is greatly appreciated.
Carl -
Hi
I want to get the ID for the last inserted row in another view (not the ones I have in my page), to pass it to a web service. How can I get it?
This returns the first ID in the table: ${bindings.myIterator.RequestId}
This one doesn’t work either: ${bindings.myIterator.currentRow.RequestId}
It shows the following exception
1. JBO-29000: Unexpected exception caught: java.lang.RuntimeException, msg=javax.servlet.jsp.el.ELException: Unable to find a value for "RequestId" in object of class "model.Travel_ViewRowImpl" using operator "."
2. javax.servlet.jsp.el.ELException: Unable to find a value for "RequestId" in object of class "model.Travel_ViewRowImpl" using operator "."
What does ${bindings.myIterator.currentRow.dataProvider} returns?Hi,
while this is close to the correct syntax it is not complete
${bindings.myIterator.currentRow.RequestId}
this would attempt to call set/get RequestId on the Row class, which doesn't have this property. It has a property getAttribute() but this doesn't allow you to pass an argumentbecause of EL limitations.
Work around: Create an attribute binding for the "RequestId" attribute and call it with
#{bindings.RequestId.inputValue}
ADF always ensures that the currentRow's RequestId is the one obtained from the Attribute binding
Frank -
InsertRow does not show the inserted row on the view
hello:
The code below works well and shows the row on the view when added. However, when there are several existing rows and I have to scroll to next pages. an insert button on that page does not show the new Row at all. Is there a way for me to see the row even if I scroll over to the last page and try an insert?
ViewObject myVO = this.getMyView();
Row newRow = myVO.createRow();
newRow.setAttribute("Id", myId);
myO.insertRow(newRow);
ThanksHi,
I also have problems with code above for inserting a new row.
When I insert a new row in a table and click on column header (to change sorting), that row (and any other new row before committing) disappears from table. And if I commit that table (without missing row), the missing row reappears with next refresh.
Selection in that table (using SelectOne component with Autosubmit=true) also doesn't work with new rows (with existing rows it works fine). Selection allways sticks on first inserted row!
Something weird is happening here...
Please help. -
Auto value for the inserted row in ALV
Hey experts,
I was following this tutorialALV Grid Insert row function
but he has a strange code there what doesn't work and I don't know how it should be.
This is that part:
ASSIGN er_data_changed->mp_mod_rows->* TO FROM ls_outtab INDEX sy-tabix.
I'm a junior developer and I'm doing this first time and I can't figure it out, how to do it, I was also debuging the BCALV_EDIT_04, but I can't find there what I need.
P.S. Moderator please don't delete my post, I'm working on it a few hours already.
Regards,
RobertHi
I don't know what the tutorial you're linked wanted to do anyway you can try this:
data: l_ins_row type lvc_s_moce.
loop at er_data_changed->mt_inserted_rows into l_ins_row.
er_data_changed->modify_cell(
exporting i_row_id = l_ins_row-row_id
i_fieldname = 'PLANETYPE'
i_value = 'BUBU' ).
endloop.
You need to do it in DATA_CHANGED event and you need to raise the events
call method g_grid->register_edit_event
exporting
i_event_id = cl_gui_alv_grid=>mc_evt_enter.
call method g_grid->register_edit_event
exporting
i_event_id = cl_gui_alv_grid=>mc_evt_modified.
in order to triggered DATA_CHANGED for a new line
Max -
Helo Everyone !
Recently I developed a Stateless EJB where I used a Thread to receive asynchronously client calls. After that I read some Bea articles describing the MDB (Message Drive Beans) and I discovered another way to resolve asynchronously calls. By the way I'd like to know if I can have some problems in the future using threads instead MDB. Do you know some articles where bea doesn't approve the threads usage.
Thank you
RegardsIf you're using WLS 9.x, then I'd suggest you have a look at the WorkManager API. It allows you to start asynchronous work (in a BEA-approved way) and have it just invoke a java.lang.Runnable.
I would use a MDB if you want transactions or you want the scheduled work to be persistent or highly-available.
While many customers do it, we attempt to discourage users creating threads in the server.
-- Rob
WLS Blog http://dev2dev.bea.com/blog/rwoollen/ -
Not able to insert row programticaly
hi am trying to insert row to another viewObject from another viewobject programaticaly ,can somebody help me,i have recreate the problem i upload it in hostfile,am in jdeveloper 11.1.1.6.0
am geting this log error
Caused by: oracle.jbo.InvalidOwnerException: JBO-29114 ADFContext is not setup to process messages for this exception. Use the exception stack trace and error code to investigate the root cause of this exception. Root cause error code is JBO-25030. Error message parameters are {0=UamUserdetails, 1=oracle.jbo.Key[marksn ]}
at oracle.jbo.server.EntityImpl.internalCreate(EntityImpl.java:1341)
at oracle.jbo.server.EntityImpl.create(EntityImpl.java:1020)
at oracle.jbo.server.EntityImpl.callCreate(EntityImpl.java:1197)
at oracle.jbo.server.ViewRowStorage.create(ViewRowStorage.java:1152)
at oracle.jbo.server.ViewRowImpl.create(ViewRowImpl.java:498)
at oracle.jbo.server.ViewRowImpl.callCreate(ViewRowImpl.java:515)
at oracle.jbo.server.ViewObjectImpl.createInstance(ViewObjectImpl.java:5714)
at oracle.jbo.server.QueryCollection.createRowWithEntities(QueryCollection.java:1993)
at oracle.jbo.server.ViewRowSetImpl.createRowWithEntities(ViewRowSetImpl.java:2492)
at oracle.jbo.server.ViewRowSetImpl.doCreateAndInitRow(ViewRowSetImpl.java:2533)
at oracle.jbo.server.ViewRowSetImpl.createAndInitRow(ViewRowSetImpl.java:2498)
at oracle.jbo.server.ViewObjectImpl.createAndInitRow(ViewObjectImpl.java:11042)
at worklis.view.beantest.addnew(beantest.java:138)
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:597)
at com.sun.el.parser.AstValue.invoke(Unknown Source)
at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)
at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:53)
at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodBinding(UIXComponentBase.java:1256)
at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:183)
at org.apache.myfaces.trinidad.component.UIXCollection.broadcast(UIXCollection.java:148)
at org.apache.myfaces.trinidad.component.UIXTable.broadcast(UIXTable.java:279)
at oracle.adf.view.rich.component.UIXTable.broadcast(UIXTable.java:145)
at oracle.adf.view.rich.component.rich.data.RichTable.broadcast(RichTable.java:402)
at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:148)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:1018)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:386)
at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:194)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)Edited by: adf009 on 2013/02/15 4:43 PM
Edited by: adf009 on 2013/02/15 4:57 PM
Edited by: adf009 on 2013/02/15 7:22 PMthe code am using is below
public void addnew(ActionEvent actionEvent) {
// Add event code here...
// Add event code here...
//Code to get the bindings for TargetVO :
Map<Object,String> mp=new HashMap<Object, String>();
DCBindingContainer bindings2 =
(DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
JUCtrlHierBinding obj = (JUCtrlHierBinding)bindings2.findCtrlBinding("UamUserdetailsView2");
ViewObject targetVO = obj.getViewObject();
DCBindingContainer bindings =
(DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
DCIteratorBinding empIter =
bindings.findIteratorBinding("DeltTable1Iterator");
//SourceVO1Iterator is the iterator under Executables section for the SourceVO1 bindings.
RowSetIterator roleRSIters = empIter.getRowSetIterator();
RowSetIterator rs1 = roleRSIters.getRowSet().getViewObject().createRowSetIterator(null);
rs1.first();
NameValuePairs nvp = null;
String username = null;
while (rs1.hasNext()) {
Row r = rs1.next();
nvp = new NameValuePairs();
// nvp.setAttribute("organisationid", r.getAttribute("organisationid"));
nvp.setAttribute("Organisationid", getorgid());
System.out.println("printedorgid" +getorgid());
nvp.setAttribute("Username",r.getAttribute("Username"));
nvp.setAttribute("Username1",r.getAttribute("Username"));
nvp.setAttribute("Firstname",r.getAttribute("Firstname"));
nvp.setAttribute("Surname",r.getAttribute("Surname"));
nvp.setAttribute("Emailaddress",r.getAttribute("Emailaddress"));
// username = (String)r.getAttribute("Username");
System.out.println("prininstead " + nvp);
// targetVO.createAndInitRow(nvp);
r = targetVO.createAndInitRow(nvp);
targetVO.insertRow(r);
//createAndInitRow(AttributeList nvp);
//Row row = targetVO.createAndInitRow(nvp);
// targetVO.insertRow(row);
rs1.closeRowSetIterator();
targetVO.getApplicationModule().getTransaction().commit();
}i have re-created the problem i upload in this hostfile,you can have the whole picture of what am trying to do
http://www.4shared.com/zip/RaZ07PWS/createRow.html
Edited by: adf009 on 2013/02/15 7:36 PM
Edited by: adf009 on 2013/02/15 7:38 PM
Edited by: adf009 on 2013/02/15 8:01 PM -
Database got halted while inserting rows
I have a 9i database running on solaris not restarted for 15 days.It just got halted or hanged while inserting rows in a table.When restarted everything is just fine and those rows have been inserted in no time!!What might be the reason?Dont tell me 'lock' because I have already checked for ora:60 error in alertlog.Would you please give some direction to drill it down .
Did you met the problem , only when you inserting the rows ? Or is there something else which leads this situation ? most of the occasion when
you found your database halt is because of your archivelogs . I would
still like to know if you running your db in archivelog mode ? It also be the
case that you set archive_log_start = true in the pfile and diden't fire
alter database archivelog at the sql prompt .
Hare Krishna
Alok -
I am trying to insert rows for alert_id 22 with diff abc_id and xyz_id
I am trying to insert rows for alert_id 22 with diff abc_id and xyz_id
these inserts will store in two tables that I have to join in the cursor.
I have written cursor without passing cursor parameters. but here i need to pass acb_id and xyz_id along with alert_id.
then if these are saticified with alert_id 22 then I want to stop the loop run, else i need to continue the loop. bcause the abc_id and xyz_id are diff for alert_id 22
This is the issue I am facing!
Please let me know if you have any idea. Let me know how to use cursor parameters here and in loop.
Sample proc like this::
Declare
main_cursor
another_cur
alert_cur
begin
need to check first abc_id,xyz_id is already exist with alert_id 22
if this set of records already exists then
exit from the loop
else
continue with
loop
here coming the insert statements with different condition getting from first two cursors.(this part is ok for me)
end loop
end if
Please write the logic if any idea on this.
-LRKI want to stop if already alert_id is exist!
-
Hi
I want to display a message after inserting rows in table like *'you have inserted a new row successfully*'.
i am using the createinsert ADF Button to insert the rows in table.after that i am comitting it.
after commiting i want to display message for the user.for this what i need to do.
Please help me.
Sailaja.user10860137
Can you please explain me the each line in the code briefly.
+public String saveButton_action(){+
BindingContainer bindings = getBindings();
OperationBinding operationBinding = bindings.getOperationBinding("Commit");
Object result = operationBinding.execute();
+// note "!" operator has been removed from the default code.+
+if(operationBinding.getErrors().isEmpty()){+
FacesContext ctx = FacesContext.getCurrentInstance();
FacesMessage saveMsg = new FacesMessage("Record Saved Successfully");
ctx.addMessage(null,saveMsg);
+}+
return null;
+}+
And i have requirement to show the message on favcet "status bar".not in a popup window.(from the above code the message is showing in popup window. )the Layout i am using is PanelCollection.
can you tell me what i need to do.
Thanks
Sailaja.
Edited by: sj0609 on Mar 19, 2009 8:03 AM -
Insert rows from l_qte_rec in to tmp table
xxx_pre_update_userbook(p_service_request_id number, p_sr_type_id number, p_status_id number,
p_resolution_code varchar2, p_bill_to_customer_id number,
p_bill_to_cust_account_id number, p_bill_to_customer_site_id number,
p_contract_id number, p_contract_line_id number,
p_resolution_summary varchar2,
x_status out varchar2, x_mesg out varchar2) as
l_proj_incident_type_id number;
l_isr_incident_type_id number;
l_tac_incident_type_id number;
l_status varchar2(10) := 'S';
l_sr_closing_flag number;
l_mesg varchar2(3000) := null;
err_mesg varchar2(3000) := null;
L_SO_ID NUMBER;
L_LINK_REC CS_INCIDENTLINKS_PUB.CS_INCIDENT_LINK_REC_TYPE;
L_OBJECT_VERSION_NUMBER NUMBER;
L_RECIPROCAL_LINK_ID NUMBER;
L_LINK_ID NUMBER;
l_QTE_REC ASO_QUOTE_PUB.qte_header_rec_type;
l_control_REC ASO_ORDER_INT.control_rec_type;
l_Order_Header_Rec ASO_ORDER_INT.Order_Header_Rec_Type;
l_Order_Line_Tbl ASO_ORDER_INT.Order_Line_Tbl_type;
l_Return_Status VARCHAR2(30);
l_Msg_Count NUMBER;
l_Msg_Data VARCHAR2(3000);
l_Msg_INDEX_OUT NUMBER;
l_OUT_MESSAGE VARCHAR2(3000);
l_proj_flag number;
l_quote_status_id number;
l_orders_created number;
l_chargeable_sr_flag number;
l_sr_close_flag number;
l_invalid_outage_info number;
begin
l_status := 'S';
l_mesg := null;
-- MO_GLOBAL.INIT('CS');
-- Get the Project Service Request Id
select incident_type_id into l_proj_incident_type_id
from cs_incident_types_tl
where name like 'XXX TAC Project'
-- and language = 'US'
and rownum < 2;
-- Get the ISR Service Request Id
select incident_type_id into l_isr_incident_type_id
from cs_incident_types_tl
where name like 'XXX TAC ISR'
-- and language = 'US'
and rownum < 2;
-- Get the TNT TAC Service Request Id
select incident_type_id into l_tac_incident_type_id
from cs_incident_types_tl
where name like 'XXX TAC Service Request'
and rownum < 2;
-- and language = 'US';
select nvl((select 1
from dual
where exists( select incident_status_id
from cs_incident_statuses_b
where incident_status_id = p_status_id
and close_flag is not null
and close_flag = 'Y')
and ( p_resolution_code is null
or (p_resolution_code NOT IN ('CS_SR_CLOSED_AS_DUP', 'XXXXX_SR_CXL', 'XXXXX_SR_INFO', 'XXXXX_SR_MGMT')
and p_sr_type_id in ( l_isr_incident_type_id )),0) into l_chargeable_sr_flag
from dual;
select nvl((select 1
from dual
where exists( select incident_status_id
from cs_incident_statuses_b
where incident_status_id = p_status_id
and close_flag is not null
and close_flag = 'Y')
and ( p_resolution_code is null
or (p_resolution_code NOT IN ('CS_SR_CLOSED_AS_DUP', 'XXXXX_SR_CXL', 'XXXXX_SR_INFO', 'XXXXX_SR_MGMT')
),0) into l_sr_closing_flag
from dual;
if ( l_sr_closing_flag = 1 and ((p_resolution_summary is null) or (p_resolution_summary = FND_API.G_MISS_CHAR)) ) then
x_status := 'F';
--x_mesg := 'Resolution Summary can not be empty while closing Service request';
fnd_message.set_name ('XXXXX', 'MISSING_RESOLUTION_SUMMARY');
-- fnd_message.set_token ('MESG_PARAM', err_mesg || '::' || l_mesg);
fnd_msg_pub.ADD;
end if;
-- Check whether outage information is complete at the time of closure.
if ( l_sr_closing_flag = 1 ) then
l_invalid_outage_info := 0;
select nvl((select 1
from dual
where exists ( select 1
from cs_incidents_ext cie, ego_fnd_dsc_flx_ctx_ext grp1
where incident_id = p_service_request_id
and grp1.application_id = 170
and grp1.descriptive_flexfield_name like 'XX_SR_CONTEXT'
and grp1.descriptive_flex_context_code like 'XXXXXOutageTab'
and cie.attr_group_id = grp1.attr_group_id
and ( c_ext_attr1 is null or c_ext_attr2 is null or c_ext_attr3 is null or
c_ext_attr4 is null or c_ext_attr5 is null or c_ext_attr6 is null or
c_ext_attr7 is null or n_ext_attr1 is null or n_ext_attr2 is null or
n_ext_attr3 is null or n_ext_attr4 is null or n_ext_attr5 is null or
d_ext_attr1 is null or d_ext_attr2 is null or d_ext_attr3 is null)
-- if all of them are null then we should ignore
and NOT ( c_ext_attr1 is null and c_ext_attr2 is null and c_ext_attr3 is null and
c_ext_attr4 is null and c_ext_attr5 is null and c_ext_attr6 is null and
c_ext_attr7 is null and n_ext_attr1 is null and n_ext_attr2 is null and
n_ext_attr3 is null and n_ext_attr4 is null and n_ext_attr5 is null and
d_ext_attr1 is null and d_ext_attr2 is null and d_ext_attr3 is null))), 0) into l_invalid_outage_info
from dual;
if ( l_invalid_outage_info = 1 ) then
x_status := 'F';
fnd_message.set_name ('XXXXX', 'MISSING_OUTAGE_INFORMATION');
fnd_msg_pub.ADD;
end if;
end if;
if ( (p_sr_type_id in ( l_isr_incident_type_id )) and (l_chargeable_sr_flag = 1) ) then
if ( ( p_bill_to_customer_id is null or p_bill_to_cust_account_id is null or
p_bill_to_customer_site_id is null )) then
x_status := 'F';
--x_mesg := 'Bill to customer name/account/site is empty';
fnd_message.set_name ('XXXXX', 'ISR_INVALID_BILL_TO');
-- fnd_message.set_token ('MESG_PARAM', err_mesg || '::' || l_mesg);
fnd_msg_pub.ADD;
else
select count(*) into l_orders_created
from cs_incident_links
where subject_id = p_service_request_id
and subject_type = 'SR'
and object_type = 'ORDERS';
/* If orders are not created for this SR then create the order */
if ( l_orders_created = 0 ) then
/* Create Order */
err_mesg := 'Got the Incident Types and Incidents Status flag';
select nvl((select quote_status_id
from aso_quote_statuses_tl
where language = 'US'
and upper(meaning) = 'ENTERED'), 0) into l_quote_Status_id
from dual;
err_mesg := 'Got the Quote Status Id';
l_qte_rec.party_id := p_bill_to_customer_id;
* l_qte_rec.party_id := p_bill_to_customer_id;
* l_qte_rec.cust_party_id := p_bill_to_customer_id;
* l_qte_rec.cust_account_id := p_bill_to_cust_account_id;
* l_qte_rec.INVOICE_TO_CUST_PARTY_ID := p_bill_to_customer_id;
* l_qte_rec.INVOICE_TO_CUST_ACCOUNT_ID := p_bill_to_cust_account_id;
* l_qte_rec.INVOICE_TO_PARTY_SITE_ID := p_bill_to_customer_site_id;
* l_qte_rec.INVOICE_TO_PARTY_ID := p_bill_to_customer_id;
* l_qte_rec.quote_status_id := l_quote_status_id;
* l_qte_rec.quote_status_code := 'ENTERED';
* l_qte_rec.quote_status := 'ENTERED';
* l_control_rec.book_flag := 'N';
* err_mesg := 'set the Quote Header';*
* select nvl((select transaction_type_id*
* from oe_transaction_types_v*
* where name like 'Service Order'), 0 ) into l_qte_rec.order_type_id*
* from dual;*
* err_mesg := 'Got Order Type';*
* l_qte_rec.currency_code := 'USD';
how to insert rows in tmp table from rec_type which is in bold text .... i want to insert after the last statement .this is for debugging after executing the procedureNo version number and lots of other missing information.
That said look at the example here:
http://www.morganslibrary.org/reference/insert.html
under "RECORD INSERT." -
Stateless EJB 3.0 to webservice
Hello,
I'm using EJB 3.0 deployed on weblogic server 10. I can deploy Stateless EJB without any problem.
If I add a @WebService tag above my stateless bean, my deployment fails with the following error:
Exception activating module: EJBModule(EfanetTA_EJB.jar) Unable to deploy EJB: ProfilesFacade from EfanetTA_EJB.jar: Unable to deploy EJB: EfanetTA_EJB.jar from EfanetTA_EJB.jar: [HTTP:101216]Servlet: "WSEE_SERVLET" failed to preload on startup in Web application: "/BusinessManager". class: lu.efa.ejb.jaxws.FindProfilesById could not be found at com.sun.xml.ws.model.RuntimeModeler.getClass(RuntimeModeler.java:272) at com.sun.xml.ws.model.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:566) at com.sun.xml.ws.model.RuntimeModeler.processMethod(RuntimeModeler.java:513) at com.sun.xml.ws.model.RuntimeModeler.processClass(RuntimeModeler.java:358) at com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:245) at com.sun.xml.ws.server.EndpointFactory.createSEIModel(EndpointFactory.java:229) at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:161) at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:291) at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:315) at weblogic.wsee.jaxws.JAXWSServlet.registerEndpoint(JAXWSServlet.java:125) at weblogic.wsee.jaxws.JAXWSServlet.init(JAXWSServlet.java:64) at javax.servlet.GenericServlet.init(GenericServlet.java:241) at weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:282) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(Unknown Source) at weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:63) at weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58) at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:504) at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:1830) at weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppServletContext.java:1807) at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1727) at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2890) at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:948) at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:353) at weblogic.wsee.deploy.WseeWebappModule.activate(WseeWebappModule.java:139) at weblogic.wsee.deploy.WSEEEjbModule.activate(WSEEEjbModule.java:371) at weblogic.wsee.deploy.WsEJBDeployListener.activate(WsEJBDeployListener.java:52) at weblogic.ejb.container.deployer.EJBDeployer.activate(EJBDeployer.java:1414) at weblogic.ejb.container.deployer.EJBModule.activate(EJBModule.java:423) at weblogic.application.internal.flow.ModuleListenerInvoker.activate(ModuleListenerInvoker.java:107) at weblogic.application.internal.flow.DeploymentCallbackFlow$2.next(DeploymentCallbackFlow.java:381) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:71) at weblogic.application.internal.flow.DeploymentCallbackFlow.activate(DeploymentCallbackFlow.java:63) at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:635) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26) at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:212) at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:154) at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80) at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:566) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:136) at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:104) at weblogic.deploy.internal.targetserver.operations.StartOperation.doCommit(StartOperation.java:139) at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:320) at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:816) at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1223) at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:434) at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:161) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:181) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:12) at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:67) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200) at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
Thank's for your help.
ThomasI am facing a new problem, i tried to create the folowing build script:
<project default="build_artefacts">
<taskdef name="apt" classname="com.sun.tools.ws.ant.Apt">
<classpath refid="jaxws.classpath" />
</taskdef>
<target name="compile-server">
<echo message="Compiling server classes" />
<javac destdir="target/classes" includes="**/com/**">
<src path="com/b2winc/controlpanel/business/facade/customer" />
<classpath refid="project.classpath" />
</javac>
</target>
<target name="apt" depends="compile-server">
<apt destdir="${build}" sourcedestdir="${generated}" sourcepath="${src}">
<classpath refid="jaxws.classpath" />
<source dir="${src}">
<include name="**com/b2winc/controlpanel/business/*.java" />
</source>
</apt>
</target>
<target name="build_artefacts" depends="apt">
<echo message="${src}"></echo>
<taskdef name="antwsgen" classname="com.sun.tools.ws.ant.WsGen"
classpath="${src}jaxws/lib/jaxws-tools.jar" />
<antwsgen
sei="CustomerFacade" verbose="true"
destdir="target/classes" sourcedestdir="target/temp" >
<classpath path="jaxws.classpath"/>
</antwsgen>
</target>
<path id="jaxws.classpath">
<pathelement path="jaxws-ri-121/lib/jaxws-tools.jar" />
<pathelement path="jaxws-ri-121/lib/jaxb-api.jar" />
<pathelement path="jaxws-ri-121/lib/jaxb-impl.jar" />
<pathelement path="jaxws-ri-121/lib/jaxws-api.jar" />
</path>
</project> I used this guideline: http://today.java.net/pub/a/today/2006/06/13/web-services-with-jax-ws-2.0.html
And i get the following error:
[apt] An exception has occurred in apt (1.5.0_11). Please file a bug at th
e Java Developer Connection (http://java.sun.com/webapps/bugreport) after check
ing the Bug Parade for duplicates. Include your program and the following diagno
stic in your report. Thank you.
[apt] java.lang.NoClassDefFoundError: com/sun/mirror/apt/AnnotationProcessorFactoryThe strange thing, that this class belongs to the tools.jar inside my JDK 5.
Thanks
Carlos -
Error while inserting rows in a table
Hi,
We have recently migrated from 9i to 10g. We have a scheduled job out our DB which first deletes all the rows from a table and then inserts them back by selecting rows from 5 tables. This table has a composite primary key based on 6 columns in it. In 9i, when i try to insert rows into the table after deleting all the rows from it, I am able to insert the data successfully . However, in 10g, when i try doing the same operation, it fails with the ORA error:
ORA-00001: unique constraint violated
The same query which works perfectly in 9i fails in 10g
If anybody has some ideas on how to resolve the same, kindly let me know.
Thanks in advance.Hi,
I was finally able to resolve the reason behind that error message and found it even more weird. The error was because I was using the substr function for extracting the characters 1-4 from a column which is 5 characters long. When i specify the query as:
select substr(column1, 1, 4)) from table1;
only the characters 1-3 are retrieved. Now if i change the query to select substr(column1, 1, 5)) from table1, in that case also only 3 characters are retrieved although i have specified the substr to start from 1 and read till 5 characters. Also, when i run the query:
select length(substr(column1, 1, 4)) from table1 or select length(substr(column1, 1, 5)) from table1
I get the answer as 3.
However, the most amazing part is that the query is working perfectly in 9i and is retrieving the data correctly i.e. from substr 1-4.
Can anyone suggest what the problem could be?
Thanks
Edited by: CrazyAnie on May 13, 2009 1:34 AM
Maybe you are looking for
-
Disable aluminum keyboard media keys (F7-F9)?
Hi. I've been a user of Synergy for a couple years now, a program which allows you to control iTunes from the keyboard. It's has a lot of features that I like which aren't available by using the basic functionality of the media control keys on the ne
-
Mono into Stereo fill right doesn't work
Hello, I am trying to convert a mono track into stereo. When I put the fill right effect on the whole audio track goes dead. There aren't any levels or any other remote signs of the audio. Is there a problem with it and what is the work around?
-
Opatch error during CheckConflictAgainstOHWithDetail
I am working on a 11.1.0.7 environment on a Linux 64 bit machine. I need to apply the patch 9654987to the OH. I am trying to query if there is a conflicting patch in the OH with respect to this patch. But I am getting the below error. Anybody encount
-
Nokia x6 does not support jar software files. Is there any way to make it supported. I got nothing on this in internet. UL
-
As I have ordered myself one of the new 27" icore7 - 8gig 1TB systems (eagerly awaiting delivery), I have decided to convert my mac mini into a server, OSX servier is now quite reasonable for unlimited client licence. So I have purchased 4 gig to go