Javax.jms.IllegalStateException: Method not permitted in global transaction
Can anyone, please help me understand the cause of this exception on websphere.
Here is the details from the log files:
at com.ibm.ejs.jms.JMSSessionHandle.checkNotInGlobalTransaction(JMSSessionHandle.java:1215)
at com.ibm.ejs.jms.JMSSessionHandle.commit(JMSSessionHandle.java:601)
This is happening when I try to send message to the JMS queue and commit the message.
I have the same problem (http://softwareforum.sun.com/NASApp/jive/thread.jsp?forum=61&thread=15010) when registering an RMI object as MessageListener. The suggestion I got from SUN is to use a MessageDrivenBean instead (which can delegate the received message). I think this is an acceptable workaround.
Kind regards - Johann
Similar Messages
-
Javax.jms.IllegalStateException: Operation not allowed
Hi all, (first time posting, so go easy on me!)
just wondering can anyone out their shed some light on a problem I am having here with JMS. I am attempting to access JMS from a stateless EJB. The problem is I get an illegalStateException when I call "setMessageListener(..)". The bean simply creates an object (which implements the MessageListener interface) passing an RMI client callback reference into the constructor. The idea here is that when JMS forwards a message onto my listener, in the onMessage(..) function I call back into the RMI client. So the idea sounds simple, but JMS wont let me register the listener from the EJB. Heres some code and the exception which is generated (including the call stack):
jndiContext = new InitialContext();
Object objRef = (Object)jndiContext.lookup ("java:comp/env/jms/TopicConnectionFactory");
topicConnectionFactory = (TopicConnectionFactory)PortableRemoteObject.narrow(objRef, TopicConnectionFactory.class);
topic = (Topic) jndiContext.lookup(topicName);
topicConnection = topicConnectionFactory.createTopicConnection("Administrator", "123");
topicSession = topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
topicSubscriber = topicSession.createSubscriber(topic);
AppletSubscriber as = new AppletSubscriber(listener);
topicSubscriber.setMessageListener(as); // here's were the exception is thrown
Here's the exception & stack trace:
JMS Exception registerEventsListener: javax.jms.IllegalStateException: Operation
not allowed
javax.jms.IllegalStateException: Operation not allowed
at com.sun.enterprise.jms.MessageConsumerWrapperRestricted.setMessageLis
tener(MessageConsumerWrapperRestricted.java:40)
at RespondAdministrator.registerUserEventsListener(RespondAdministrator.
java:61)
at UserLogOnEJB.registerUserEventsListener(UserLogOnEJB.java:53)
at UserLogOnEJB_EJBObjectImpl.registerUserEventsListener(UserLogOnEJB_EJ
BObjectImpl.java:57)
at UserLogOnEJBEJBObjectImpl_Tie._invoke(Unknown Source)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatchToServant(Ge
nericPOAServerSC.java:519)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.internalDispatch(Gen
ericPOAServerSC.java:204)
at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatch(GenericPOAS
erverSC.java:112)
at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:273)
at com.sun.corba.ee.internal.iiop.RequestProcessor.process(RequestProces
sor.java:84)
at com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThread.run(ThreadP
ool.java:99)
thanks in advance, this is driving me nuts.The reason you get this is that you cannot use MessageListeners within a J2EE environment. The J2EE specification says that this method should not work from within EJBs. If you wish to have asynchronous message delivery from an EJB you need to use EJB 2.0s Message Driven Beans.
Hope this helps. -
Javax.jms.IllegalStateException
Hi there,
I try to call setMessageListener(this) from a Thread that is created from a jsp. The Thread implements the MessageListener Interface and shall receive messages from the topic jms/Joker
I created on the J2EE Server. This is what my thread ChatListener@1f76a5 logs:
ChatListener@1f76a5 Factory com.sun.enterprise.jms.ConnectionFactoryWrapperStandalone@4649ed created.
ChatListener@1f76a5 Topic com.sun.jms.Topic: jms/Joker created.
J2EE Server: Warning : Illegal connection factory access to jms/TopicConnectionFactory. J2EE Components should access JMS Connection Factories through a resource-ref in java:comp/env
ChatListener@1f76a5 Connection com.sun.enterprise.jms.ConnectionWrapperWeb@62fe5d created.
ChatListener@1f76a5 Session com.sun.enterprise.jms.SessionWrapperWeb@742397 created.
ChatListener@1f76a5 Subscriber com.sun.enterprise.jms.MessageConsumerWrapperRestricted@48f0a4 create
d.
ChatListener@1f76a5 JMSException - javax.jms.IllegalStateException: Operation not allowed
--> the method setMessageListener was not executed. Why can't I use the jms service from an external java program?
thanx for your help,
NimaIs it possible to create the object which your JSP uses outside of the container. For instance, some application servers allow you to instantiate classes outside of J2EE, then the you can set up the listener as necessary for that object. You JSP could get a hold of the object using a static method.
If you don't want the JSP to instruct the object about its connection, session, producer, consumer its listener and selector you could try something like. You object creates a thread and listens on a list waiting for a request. Then the JSP invokes the object saying create me a new connection, session, consumer, etc. The object forms a request, queues it up to that other thread and waits for the response, the other thread processes the request forms a response and gives it back to the JSP thread.
In this way, all the JMS objects are created outside of the JSP container and hopefully will not have the same restrictions you are seeing in the container. The object that sets up the listener can do whatever it wants (except invoke the JSP). -
Javax.jms.JMSException: QueueConnection not started
Hi,
I want use oc4j like jms server, so I put in jms.xml this configuration :
<jms-server port="9127">
<queue-connection-factory location="jms/simpleQueueConnectionFactory" port="9127" host="127.0.0.1"/>
<queue name="Simple Queue" location="jms/simpleQueue"/>
</jms-server>
and I try to post a message to JMS server with my webapp, and one exception occured :
javax.jms.JMSException: QueueConnection not started
this is my piece of code which post the JMS message (like example on http://otn.oracle.com/sample_code/tech/java/codesnippet/j2ee/p2p/PointToPoint_in_OC4J.html) :
QueueConnectionFactory connectionFactory = (QueueConnectionFactory)new InitialContext().lookup ("java:comp/env/jms/simpleQueueConnectionFactory");
QueueConnection connection = connectionFactory.createQueueConnection();
connection.start();
QueueSession queueSession = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue = (Queue)new InitialContext().lookup("java:comp/env/jms/simpleQueue");
QueueSender sender = queueSession.createSender(queue);
Message message = queueSession.createMessage();
message.setJMSType("theMessage");
message.setLongProperty("time", System.currentTimeMillis());
message.setStringProperty("subject", "Test Message Now");
message.setStringProperty("message", "Hi");
sender.send(message);
How can I get more JMS log ? because in jms.log I have only :
25/10/02 12:04 9.0.3.0.0 Started
25/10/02 12:05 9.0.3.0.0 Stopped (JVM termination)
My start command line for oc4j is (http://otn.oracle.com/tech/java/oc4j/htdocs/oc4j-logging-debugging-technote.html):
java -Djms.debug=true -jar oc4j.jar -userThreads -verbosity 5
thank you
best regards
jeromeHi Jerome,
At this time Oracle recommends you use OJMS (AQ/JMS) as the J2EE 1.3 compatible JMS provider in Oracle9iAS v9.0.2 and v9.0.3. A future release of 9iAS will contain a lightweight JMS provider (OC4J/JMS) that is J2EE 1.3 compatible.
See the Metalink note below...
http://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=205305.1 -
DB- get_byteswapped: method not permitted before handle's open method
Hello.
I am trying to create a C++ class that can hold a Berkeley DB object as one of its instance variables. When I call the open method, I get the error "DB->get_byteswapped: method not permitted before handle's open method".
Question: How can this error appear when I am calling the open method?
The code is like this:
---DB.h
#include <db_cxx.h>
class myClass {
private:
Db* myDb; // A pointer to my Db object
---End of DB.h
-- DB.cpp
#include <db_cxx.h>
myClass::myClass(){
myDb = new myDb(NULL,0); // Create and call my object's constructor
myDb->open(NULL, "myFile.db", NULL, DB_HASH, flags, 0); // Open the db.
--- End of DB.cpp
Thanks for any help you might provide,
ErichHello,
This sounds like a build problem. What version of Berkeley DB are you wanting to use? Multiple versions of Berkeley DB can be found on a system. Please check to make sure that you are not picking up a header file from a different version, or linking with with a different version. Verify your paths are not picking up multiple versions of include files, libraries. Compiling, linking, running with a combination of versions could lead to such unusual runtime results.
Thanks,
Sandra -
"DB- put: method not permitted before handle's open method"
Hi,
A deadlock caused during a read/update/write circle. After aborting and
recreating the transaction, I get the error message:
DB->put: method not permitted before handle's open method
To produce the error, set a breakpoint to "Set the breakpoint here", start the
programm, wait until the debuger is there, start the same program a second time,
now the deadlock occurs.
Break the deadlock of the first process: "db_deadlock -ao"
The first process (broken by "db_deadlock" runs into the transaction recovery
section and creates the error-message.
System: MinGW
The below code is simplified:
#include <malloc.h>
#include <string.h>
#include <sys/stat.h>
#include <db.h>
#define FLAG_ENV_OPEN DB_CREATE | DB_INIT_MPOOL | DB_INIT_LOCK | DB_INIT_LOG | DB_INIT_TXN | DB_REGISTER | DB_RECOVER
int main( int argc, char *argv[] )
const char *environment_directory = "C:\\Temp";
const char *database_file = "C:\\Temp\\test.db";
const char *key_data = "key";
const char *data_data = "there is something";
DBT key, data;
// If database does not exists, create a database with one element
struct stat buffer;
int status = stat( database_file, &buffer );
if( status != 0 )
DB *database_handle = NULL;
int status = db_create( &database_handle, NULL, 0 );
status = database_handle->set_flags( database_handle, DB_RECNUM );
status = database_handle->open( database_handle, NULL, database_file, NULL, DB_BTREE, DB_CREATE, 0644 );
memset( &key, 0, sizeof(DBT) );
key.data = (void*)key_data;
key.size = strlen(key_data);
key.flags = DB_DBT_USERMEM;
memset( &data, 0, sizeof(DBT) );
data.data = (void*)data_data;
data.size = strlen(data_data);
data.flags = DB_DBT_USERMEM;
status = database_handle->put( database_handle, NULL, &key, &data, 0 );
database_handle->close( database_handle, 0 );
// Create environment
DB_ENV *environment = NULL;
status = db_env_create( &environment, 0 );
status = environment->set_cachesize( environment, 0, 4 * 1024 * 1024, 0 );
status = environment->open( environment, environment_directory, FLAG_ENV_OPEN, 0644 );
// Create transaction
DB_TXN *transaction = NULL;
status = environment->txn_begin( environment, NULL, &transaction, 0 );
// Open the created database
DB *database_handle = NULL;
status = db_create( &database_handle, environment, 0 );
status = database_handle->set_flags( database_handle, DB_RECNUM );
status = database_handle->open( database_handle, transaction, database_file, NULL, DB_BTREE, DB_CREATE, 0644 );
// Create a read lock
memset( &key, 0, sizeof(DBT) );
key.data = (void*)key_data;
key.size = strlen(key_data);
key.flags = DB_DBT_USERMEM;
memset( &data, 0, sizeof(DBT) );
data.data = NULL;
data.flags = 0;
status = database_handle->get( database_handle, transaction, &key, &data, 0 );
// Create a write lock
memset( &key, 0, sizeof(DBT) );
key.data = (void*)key_data;
key.size = strlen(key_data);
key.flags = DB_DBT_USERMEM;
memset( &data, 0, sizeof(DBT) );
data.data = (void*)data_data;
data.size = strlen(data_data);
data.flags = DB_DBT_USERMEM;
// Set the breakpoint here:
status = database_handle->put( database_handle, transaction, &key, &data, 0 );
// Should be deadlock
if( status == DB_LOCK_DEADLOCK )
status = transaction->abort( transaction );
status = environment->txn_begin( environment, NULL, &transaction, 0 );
// Here is the problem
status = database_handle->put( database_handle, transaction, &key, &data, 0 );
// Close database
database_handle->close( database_handle, 0 );
// Close environment
environment->close( environment, 0 );
return 0;
}Hi,
The issue in your test case is the use of a transaction handle in the DB->open call, followed by an abort of that transaction. This aborts the DB->open operation, which is not what you intend.
It is almost always simplest to pass NULL for the transaction handle to the DB->open call and add the DB_AUTO_COMMIT flag instead. Then if the open call succeeds, you have a database handle that is valid regardless of subsequent transaction aborts.
Regards,
Michael Cahill, Oracle. -
while performing automatic payment transaction, there's a message in the payment run log "payment method "S" not permitted for the vendor". I have double checked these points :
the payment methods in the payment transaction accounting tab of the
vendor, "S" is there in the list
the allowed payment methods for the comany code, it is there.
any other work arounds please.
Regards,
Sheetalhi sheetal,
Pl check in Tcode OBVCU that u have assigned the s type Method for ur check....
and also check in the Bank determination in FBZP that S is assigned to all .
Also check whether u have assigned the paymetn method S is assigned to Vendor/ Customer Master data in XK02.
If it is useful.. assign me the points...
Ranjit -
Content Server HTTP error: 405 Method Not Allowed in CSADMIN transaction
Hello,
After installing the content server, when configuring in CSadmin
transaction, when we try to save the new settings, I get the errror
HTTP error: 405 Method Not Allowed.
The operating system is W2008 R2 SP1. The storage type is filesystem, we do not use the MAXDB database. However, I have made so many tries, that, finally Ihave installed the system with database, although we are not going to use it (we have more content servers installed with database and they are working fine). Despite of this, it doesn't work either. The error message is the same.
The Content Server release is 6.40
Thanks and best regards,
AnaI have seen this issue on Windows 2008 R2 with IIS 7.5. This was the solution of mine
The error 405 appears because you have installed WebDav IIS Role in IIS 7.5. Please uninstall that particular role.
Regards,
Subhash -
Hi ,
I created simple app in ADF11g production version.this is working fine in Jdev IDE.
In my application two pages are there.in first page just ADF ROF is there.there youcan see the rows in a dept table thru navigation contrlos.and a submit button to navigate to next page.in second page ,i have createinsert button,delete,commit,rollback buttons.and abutton to navigate to first page.
I deployed the EAR successfully to Extervnal WLS10.3while testing it from Browser,
First i got first row in my table along with Navigation contrlos and submit button of first page in the browser.when i am clicking on next button(to move to next row) it is giving the following error in information box.
Method not found: Next.execute(javax.faces.event.ActionEvent).
And the WLS server domain error log is:
Oct 31, 2008 10:00:09 AM EDT netuix Warning BEA-423420 Redirect is executed in begin or refresh action. Redirect url is /console/console.portal?_nfpb=true&_pageLabel=DiagnosticsViewDomainLogTablePage&DiagnosticsViewDomainLogTablePortlethandle=com.bea.console.handles.LogDispatchHandle%28%22AdminServer%3BDomainLog%22%29.
Oct 31, 2008 10:00:41 AM EDT oracle.adfinternal.controller.faces.lifecycle.JSFLifecycleImpl Warning ADFC-54008 ADFc: Replacing the ADF Page Lifecycle implementation with 'oracle.adfinternal.controller.application.model.JSFDataBindingLifecycleContextBuilder'.
Oct 31, 2008 10:00:44 AM EDT HTTP Error BEA-101017 [weblogic.servlet.internal.WebAppServletContext@2767c8 - appName: 'sailu', name: 'department_Application-viewcontroller-context-root', context-path: '/department_Application-viewcontroller-context-root', spec-version: '2.5', request: weblogic.servlet.internal.ServletRequestImpl@1f9449a[ GET /department_Application-viewcontroller-context-root/faces/Depvue1.jspx HTTP/1.1 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8.1.17) Gecko/20080829 Firefox/2.0.0.17 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Cookie: ADMINCONSOLESESSION=G65pJLNKGrn9cqWKT2MYJNQThDyGwPhbTyhYv6G0JWf5GpbTyWB2!590494889 ]] Root cause of ServletException. java.lang.IllegalStateException: Cannot forward a response that is already committed at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:122) at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:415) at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44) at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44) at org.apache.myfaces.trinidad.context.ExternalContextDecorator.dispatch(ExternalContextDecorator.java:44) at org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$OverrideDispatch.dispatch(FacesContextFactoryImpl.java:267) at com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:475) at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:143) at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189) at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:188) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:652) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:243) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:203) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:181) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:85) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:278) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:238) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:195) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:138) at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at oracle.security.jps.wls.JpsWlsFilter.doFilter(JpsWlsFilter.java:102) at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:65) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(Unknown Source) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Oct 31, 2008 10:00:46 AM EDT oracle.adf.share.security Warning BEA-000000 Unable to locate the credential for key Connection1 in F:\oracleWls\user_projects\domains\sailubase_domain\config\oracle.
Oct 31, 2008 10:00:46 AM EDT oracle.adf.share.jndi.ReferenceStoreHelper Warning BEA-000000 Incomplete connection information
Oct 31, 2008 10:00:52 AM EDT oracle.adfinternal.view.faces.config.rich.RegistrationConfigurator Error BEA-000000 Server Exception during PPR, #1 javax.servlet.ServletException: Method not found: Next.execute(javax.faces.event.ActionEvent) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:270) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:181) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:85) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:278) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:238) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:195) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:138) at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at oracle.security.jps.wls.JpsWlsFilter.doFilter(JpsWlsFilter.java:102) at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:65) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(Unknown Source) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) javax.faces.el.EvaluationException: Method not found: Next.execute(javax.faces.event.ActionEvent) at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:58) at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodBinding(UIXComponentBase.java:1226) at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:183) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:458) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:763) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:640) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:275) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:175) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:181) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:85) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:278) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:238) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:195) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:138) at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at oracle.security.jps.wls.JpsWlsFilter.doFilter(JpsWlsFilter.java:102) at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:65) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(Unknown Source) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Oct 31, 2008 10:01:32 AM EDT netuix Warning BEA-423420 Redirect is executed in begin or refresh action. Redirect url is /console/console.portal?_nfpb=true&_pageLabel=DiagnosticsViewDomainLogTablePage&DiagnosticsViewDomainLogTablePortlethandle=com.bea.console.handles.LogDispatchHandle%28%22AdminServer%3BDomainLog%22%29.
And in this page when i am clicking on submit button to navigate to second page,it is not going to second page .it is in first page only.
Can you tell me about this error and any changes to do for my code to get run my app on browser.
I appreciate your help and time.Hi Frank,
now my problem solved .just i created one more application newly and deployed it on External WLS.
Now i am able to see all the rows in my DEPT table in my first page of app thru navigation contrlos.
In the same way i am able to see all rows in second page also.and also able to edit the rows thru commit,delete buttons.and able to insert the rows also in second page.
But the submit button to go from page1 to page2 is not working.and also the submit button from page 2 to page1 not working.
I am giving the following in my URL:
http://localhost:7001/Dep1wlsApplication1-ViewController-context-root/faces/view1.jspx
http://localhost:7001/Dep1wlsApplication1-ViewController-context-root/faces/view2.jspx
What i have to do in order to go from first page to second and second to first.in my IDE i am able to go.
Is anything i have to change in my URL>
Plz suggest me. -
07/02/19 11:21:47 javax.jms.JMSException: TopicConnection[Oc4jJMS.Connection.dsc
p18056.3b2816fc:110d886e29f:-8000.35]: cannot invoke method "setClientID" within
the J2EE container.
07/02/19 11:21:47 at com.evermind.server.jms.JMSUtils.make(JMSUtils.java:1
034)
07/02/19 11:21:47 at com.evermind.server.jms.JMSUtils.toJMSException(JMSUt
ils.java:1114)
07/02/19 11:21:47 at com.evermind.server.jms.JMSUtils.toJMSException(JMSUt
ils.java:1085)
07/02/19 11:21:47 at com.evermind.server.jms.JMSUtils.assertNotContainer(J
MSUtils.java:1500)
07/02/19 11:21:47 at com.evermind.server.jms.EvermindConnection.setClientI
D(EvermindConnection.java:254)
07/02/19 11:21:47 at oracle.otnsamples.oc4jjms.ChatSubscriber.createSubscr
iber(Unknown Source)
07/02/19 11:21:47 at oracle.otnsamples.oc4jjms.GetMessage.doGet(Unknown So
urce)
07/02/19 11:21:47 at javax.servlet.http.HttpServlet.service(HttpServlet.ja
va:743)
07/02/19 11:21:47 at javax.servlet.http.HttpServlet.service(HttpServlet.ja
va:856)
07/02/19 11:21:47 at com.evermind.server.http.ServletRequestDispatcher.inv
oke(ServletRequestDispatcher.java:719)
07/02/19 11:21:47 at com.evermind.server.http.ServletRequestDispatcher.for
wardInternal(ServletRequestDispatcher.java:376)
07/02/19 11:21:47 at com.evermind.server.http.HttpRequestHandler.doProcess
Request(HttpRequestHandler.java:870)
07/02/19 11:21:47 at com.evermind.server.http.HttpRequestHandler.processRe
quest(HttpRequestHandler.java:451)
07/02/19 11:21:47 at com.evermind.server.http.HttpRequestHandler.serveOneR
equest(HttpRequestHandler.java:218)
07/02/19 11:21:47 at com.evermind.server.http.HttpRequestHandler.run(HttpR
equestHandler.java:119)
07/02/19 11:21:47 at com.evermind.server.http.HttpRequestHandler.run(HttpR
equestHandler.java:112)
07/02/19 11:21:47 at oracle.oc4j.network.ServerSocketReadHandler$SafeRunna
ble.run(ServerSocketReadHandler.java:260)
07/02/19 11:21:47 at oracle.oc4j.network.ServerSocketAcceptHandler.procCli
entSocket(ServerSocketAcceptHandler.java:230)
07/02/19 11:21:47 at oracle.oc4j.network.ServerSocketAcceptHandler.access$
800(ServerSocketAcceptHandler.java:33)
07/02/19 11:21:47 at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptH
andlerHorse.run(ServerSocketAcceptHandler.java:831)
07/02/19 11:21:47 at com.evermind.util.ReleasableResourcePooledExecutor$My
Worker.run(ReleasableResourcePooledExecutor.java:303)
07/02/19 11:21:47 at java.lang.Thread.run(Thread.java:595)This is a J2EE 1.4 restriction.
See section: J2EE.6.6 Java Service (JMS) 1.1 Requirements
"The following methods may only be used by application components
executing in the application client container:
javax.jms.Connection method setClientID"
For in-container connections, you should set clientID via the .xml.
-Jeff -
Salut,
i am envisaged with a nasty problem calling a message-send operation from
a method (transaction-type="required") inside a session bean (transaction-type="container").
This problem occured in OC4J 10.1.3.1 and may fail also in 10.1.3.0. The same
code run under OC4J 10.1.2.x without any problems.
The adressed JMS type is a OEMS JMS and fails to work regardless if the JMS ressource
is using a file-persistence or is running in-memory. Anyway the factory is a
jms/XAQueueConnectionFactory, so the created queue must support XA transactions.
Another test with an advanced-queue JMS provider succeeded.
As a consequence of this, i believe that the OEMS provider shall cause the problem.
The original code is quite unspectaculary:
* The non-surprising thing is, that the QueueConnectionFactory
* is a XAQueueConnectionFactory.
QueueConnectionFactory qcf = (QueueConnectionFactory) (jndiContext.lookup(MY_QFAC));
Queue q = (Queue) (new InitialContext().lookup(MY_QUE));
c = qcf.createQueueConnection() ;
QueueSession s = c.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
[... create a message ]
QueueSender qs = s.createSender(q)
qs.send(m);
qs.close()
s.close();
c.close()
The funny thing is, that the queue-session behaves as it is working outside
of a transaction context. Inside the JMX-Console you will notice the
arrival of a message and ... a cancellation of it. This would not surprise
me, if this code sequence would have been called outside of
a Session bean, cause the absence of a queue-session.commit does not
fix the send message in the jms ressource.
As a matter of fact the code is executed inside a Session bean and
the connection.createQueueSession will notice this and forget both
given parameters, and let the covering transaction take over of the
JMS ressource. But this does not happen (completly).
The acknowledge-mode has been modified (SESSION_TRANSACTED)
but the code still does not work!
After i recognized that the enlist-ment did not work, i
decided to enfore the use of XA transaction by using the
XA classes and methods of JMS.
I startet to cast the jndi-references and:
XAQueueConnectionFactory qcf = (XAQueueConnectionFactory) (jndiContext.lookup(MY_QFAC));
Queue q = (Queue) (new InitialContext().lookup(MY_QUE));
XAQueueConnection c = qcf.createXAQueueConnection() ;
XAQueueSession s = c.createXAQueueSession();
[... create a message ]
QueueSender qs = s.createSender(q)
qs.send(m);
qs.close()
s.close();
c.close()
The funny thing is ... the code worked without any problem until
the send operation, where i received an JMSException, containing
the text:
Oc4jJMS.Session.hpcl057.4e9c06e4:1112674930d:-7fff.41,true,SESSION_TRANSACTED]: An attempt was made to perform work in a XA-backed session without being enlisted. Either the session must be enlisted (using the JMS Connector or JMS Adapter) to participate in the global transaction, or a non-XA connection and a non-XA session should be used to not participate in the global transaction.
How bizarre, i thought the enlistment has been taken place by invoking
the c.createXAQueueSession or c.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
How bizarre how bizarre
any clues ????OC4J JMS was changed to not auto-enlist in XA transactions.
In releases prior to 10.1.3 XA usage was not actually supported. (It did not meet all of the XA requirements when used with OC4J.)
Auto-enlisting by the JMS provider was also a spec violation, which was causing trouble for people who needed to do out-of-transaction work and had no way to do it.
In 10.1.3 XA usage is fully supported, but only when you use the JMS Connector. You can find the JMS Connector ("Oracle's Generic JMS Resource Adapter") demos here:
http://www.oracle.com/technology/tech/java/oc4j/1013/how_to/index.html#JMS
The JMS Connector is documented in the OC4J Services Guide, OEMS/JMS chapter.
-Jeff -
Cannot access class javax.jms.TextMessage;
Hi,
I am trying to run standard page from JDev and i am getting below error from EOImpl.java.
" cannot access class javax.jms.TextMessage; file javax\jms\TextMessage.class not found "
I tried to import javax/jms dir to my local machine but i could not find jms directory under javax in OS. Can you guys pls help me to resolve this.
Thanks,Hi Scott,
Not sure wht you wanted me to try...
I have something like this in the code which is causing that error..
BusinessEvent businessevent = new BusinessEvent(s1, s2);
businessevent.setData("Opportunity " + s2 + "updated");
ArrayList arraylist = new ArrayList(1);
arraylist.add(oadbtransaction);
businessevent.setObject(arraylist);
businessevent.setStringProperty("pLeadId", getLeadId().toString());
java.sql.Connection connection1 = oadbtransaction.getJdbcConnection();
businessevent.raise(connection1);
Its asking me to import jms..but ii could not find those files in Unix..is there anyway to import these files OR any other solution to fix this error?
Please help.. -
Method Not Found Exception - createinstance
Hi,
I am new to ADF. I add the Iterator to the executables and add the action "createInstance" onto the page data binding definition at the Method call in the unbounded task flow (adf-config.xml). However, everytime, when the flow is upto the method call, it will throw the exception "javax.el.MethodNotFoundException: Method not found: view_adfc_config__methodCall1PageDef.CreateInsert()". I saw the createinsert in the Page data binding definition xml.
Please help, I tried to learn the binding in ADF.Hi,
the method call activity would need to have a PageDef file with this method defined. It is not sufficient to have the method defined in the Pagedef file of a view.
Frank -
JSF newbie question - ServletException - Method not found
I just started learning JSF (and JSP) by following the tutorial:
JSF for nonbelievers: Clearing the FUD about JSF
http://www-128.ibm.com/developerworks/library/j-jsf1/
I'm getting a ServletException and I'm not sure why. Instead of starting the tutorial over, I'd like to learn what I'm doing wrong.
The exception is:
exception
javax.servlet.ServletException: Method not found: [email protected]()
root cause
javax.el.MethodNotFoundException: Method not found: [email protected]()In the calculator.jsp page (a simple page with two form fields), I noticed that when I type CalcBean., my IDE (NetBeans) only autocompletes the class variables and neither of the methods (add and multiply). I quickly searched and someone suggested restarting the server. This did not fix my problem. I must be doing something completely wrong or I missed something in the tutorial. If you don't mind, please read the simple files below and see if you can spot anything wrong. Please keep in mind this is my first time using JSF (and JSP for that matter). If you can suggest a better newbie tutorial, please do! Thanks
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>com.sun.faces.verifyObjects</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.validateXml</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>
index.jsp
</welcome-file>
</welcome-file-list>
</web-app>
faces-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- =========== FULL CONFIGURATION FILE ================================== -->
<faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
<managed-bean>
<description>
The "backing file" bean that backs up the calculator webapp
</description>
<managed-bean-name>CalcBean</managed-bean-name>
<managed-bean-class>secondapp.controller.CalcBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<navigation-rule>
<from-view-id>/calculator.jsp</from-view-id>
<navigation-case>
<from-outcome>success</from-outcome>
<to-view-id>/results.jsp</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config>
secondapp.controller.CalcBean.java
package secondapp.controller;
import secondapp.model.Calculator;
* @author Jonathan
public class CalcBean {
private int firstNumber;
private int secondNumber;
private int result;
private Calculator calculator;
/** Creates a new instance of CalcBean */
public CalcBean() {
setFirstNumber(0);
setSecondNumber(0);
result = 0;
setCalculator(new Calculator());
public String add(int a, int b) {
result = calculator.add(a,b);
return "success";
public String multiply(int a, int b) {
result = calculator.multiply(a,b);
return "success";
// <editor-fold desc=" Accessors/Mutators ">
public int getFirstNumber() {
return firstNumber;
public void setFirstNumber(int firstNumber) {
this.firstNumber = firstNumber;
public int getSecondNumber() {
return secondNumber;
public void setSecondNumber(int secondNumber) {
this.secondNumber = secondNumber;
public int getResult() {
return result;
public void setCalculator(Calculator calculator) {
this.calculator = calculator;
// </editor-fold>
secondapp.model.Calculator
package secondapp.model;
* @author Jonathan
public class Calculator {
/** Creates a new instance of Calculator */
public Calculator() {
public int add(int a, int b) {
return a+b;
public int multiply(int a, int b) {
return a*b;
calculator.jsp
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<html>
<head><title>Calculator Test</title></head>
<body bgcolor="white">
<h2>My Calculator</h2>
<f:view>
<h:form id="calcForm">
<h:panelGrid columns="3">
<h:outputLabel value="First Number" for="firstNumber" />
<h:inputText id="firstNumber" value="#{CalcBean.firstNumber}" required="true" />
<h:message for="firstNumber" />
<h:outputLabel value="Second Number" for="secondNumber" />
<h:inputText id="secondNumber" value="#{CalcBean.secondNumber}" required="true" />
<h:message for="secondNumber" />
</h:panelGrid>
<h:panelGroup>
<h:commandButton id="submitAdd" action="#{CalcBean.add}" value="Add" />
<h:commandButton id="submitMultiply" action="#{CalcBean.multiply}" value="Multiply" />
</h:panelGroup>
</h:form>
</f:view>
</body>
</html>In the future, please add some line breaks so I don't have to scroll horizontally to read your post.
The problem is that the CalcBean.add/.multiply method is requiring two parameters. This method should be parameter-less. When talking about action methods, they should return String and not take any parameters.
So, remove the parameters. You collect a firstNumber and a secondNumber from the user. These are the numbers you want to add (or multiply). Use those values (instead of the parameters) to calculate the result.
The code changes aren't too complicated. I'd write them out for you, but you seem interested in learning (which is great by the way!). Let me know if you need more help on this.
CowKing
ps - I see more problems with the code, and I haven't given you all the answers. I know, I'm mean. You'll learn better if you try to fix things on your own first. I've just given you enough info to overcome the immediate issue. =) -
Global transaction problem with JDriver/Oracle and Oracle XA
We are haveing serious problems with Container Managed Transactions on Bea 6.1
and Oracle with EJB having set "Required" for all methods. We have tried in vain
to make it work with JDriver as well as OracleXAClient. Both fail at sometime
during the execution throwing "Not called in cotext of global transaction" (with
JDriver) OR "XAER_PROTO : Routine was invoked in an
inproper context start() failed on resource 'OracleXAPool'" (this one with oracle
XA).
1.) Weblogic JDriver-XA:
DatabaseMetaData metaData = dataSource.getJDBCConnection.getMetaData();
ResultSet resultSet = metaData.getTables(null, null, tableName.toUpperCase(),
new String[]{"TABLE"});
This fails immmediately saying that it was not called from global transaction.
Interesting thing is that with OracleXA, it doesnt say this exception at this
check point.
2) Oracle XA
Okie, we couldnot read through the CLOB using it so for reading CLOB, we used
direct jdbc connection and then did away with it. Now all next sql queries were
executed against oracle pool using XA data source with OracleXAClient. But at
some point we again ran into the problem "XAER_PROTO : Routine was invoked in
an
inproper context start() failed on resource 'OracleXAPool'"
3 Oracle Thin Driver
everything always works with it.AFAIR this issue was resoved by moving tx opreations out from non-tx
methods.
Regards,
Slava
"Apurb Kumar" <[email protected]> wrote in message
news:[email protected]...
Jawad,
It would be nice if you can post the full stack trace error message. Didyou try moving to
the latest service pack (sp2) for WLS6.1.
Thanks,
Jawad Mahmood wrote:
Yes we had correctly set TXDataSource and let it to point to the right
connection
pool each time and it worked well with oracle thin driver but not whenwe switched
the pool to JDriver or OracleXAClient. Note that we could aways confirmthat pool
was successfully created alongwith we could retrieve connection from itvia TXDatSource,
things gave problem after we attempted to do what i had mentioned in mylast posting.
>>
Also with JBoss 2.4.4 things work pretty well. So couldnt be our codeproblem.
"Slava Imeshev" <[email protected]> wrote:
Jawad,
Did you set up TxDataSource?
Regards,
Slava Imeshev
"Jawad Mahmood" <[email protected]> wrote in message
news:[email protected]...
We are haveing serious problems with Container Managed Transactionson
Bea 6.1
and Oracle with EJB having set "Required" for all methods. We havetried
in vain
to make it work with JDriver as well as OracleXAClient. Both fail atsometime
during the execution throwing "Not called in cotext of global
transaction"
(with
JDriver) OR "XAER_PROTO : Routine was invoked in an
inproper context start() failed on resource 'OracleXAPool'" (this onewith
oracle
XA).
1.) Weblogic JDriver-XA:
DatabaseMetaData _metaData =
_dataSource.getJDBCConnection.getMetaData();
ResultSet resultSet = metaData.getTables(null, null,tableName.toUpperCase(),
new String[]{"TABLE"});
This fails immmediately saying that it was not called from globaltransaction.
Interesting thing is that with OracleXA, it doesnt say this exceptionat
this
check point.
2) Oracle XA
Okie, we couldnot read through the CLOB using it so for reading CLOB,we
used
direct jdbc connection and then did away with it. Now all next sqlqueries
were
executed against oracle pool using XA data source with
OracleXAClient.
But
at
some point we again ran into the problem "XAER_PROTO : Routine wasinvoked
in
an
inproper context start() failed on resource 'OracleXAPool'"
3 Oracle Thin Driver
everything always works with it.
Apurb Kumar
Maybe you are looking for
-
Transferring iTunes/iPod Touch Data from One PC to Another
I have my iPod Touch synced to my Windows laptop. As I have a newer Windows PC, is it possible to transfer the entire iTunes library along with all the iPod Touch data onto my new PC without causing any problems when it comes to syncing my iPod Touch
-
Flex 4.5.1 in Adobe Air on Playbook or Desktop
I have been trying to figure this out and I am stuck. I have tried the SquigglyUIExample and it works perfect in html using mx so the dictionary files and libs should be in the proper folders. I am trying to use the following code in a view container
-
OBIEE 11.1.1.6.0 installation on Win 7 / 32bit OS
Hi Guys, Tell me one thing, installing OBIEE 11.1.1.6.0 is on win 7 32 bit OS is possible ? I was trying to install it on my Lenovo thinkpad T430 laptop, but i t always failing at "Configuring Domain" failed, i tried for atleast 20 times but no luck.
-
I am getting this error very frequently can any one help me in the same. I want to know the reason for this error. Thanks in advance
-
Data can be copied to a locked version.
Hi, We are using BCS for Consolidation. We have noticed that it is possible to copy data into a locked version, which poses serious data integrity issues. Example: We use version 200 for actuals, and version S05 for Forecast. Actuals data from versio