JSF 1.2 postback calls swallow the exception

Hi All,
I have a problem in handling a exception thrown during a post back request.
Here is the scenario:
I have a valueChangeLsitener on an inputText component, and say some exception is thrown from the valueChangeListener, JSF swallows the exception and doesn’t throw it to outer exception handlers.
Code:
<af:inputText label="Project#-Job#: "
required="true"
autoSubmit="true"
valueChangeListener="#{createRevisionProjectBB.getProjJobDetail}"
value="#{revisionProjectMB.paProjectJob}"/>
public void fetchProjDetail() throws Exception {     
throw new Exception("some exception");
I would expect this to be caught in the global exception handler, but this is not thrown to the base exception.
any idea? Have you guys come across this sometime?
Regards,
Parthiban

Hi,
the ADFc handler does not catch errors beyond a specific point in the lifecycle. In your case surrounding the code with a try/catch block probably helps.
See: http://forums.sun.com/thread.jspa?threadID=5283046
Alternatively you can try to extend the ADFc exception handler to see if the exception shows
http://thepeninsulasedge.com/frank_nimphius/2010/02/01/how-to-create-custom-adfc-exception-handler/
Note that exceptions in an ADF region are not passed to the exception handler of the parent task flow. In this case try and define a exception handler for the bounded task flow
Frank

Similar Messages

  • Which messages of soap call processes the block exception branch?

    Hi guys!
    I'm testing a scenario, where I use BPM, have a block, sync web service call inside and have exception branch, which sends original message to the dest system. I'm a little bit confused, cos' I'm not sure, which error messages does exception branch process. Is it only system error? Or is it also application error - means: fault message is returned..
    Thanx, Olian!

    ok, If I send 0 as parameter, I get exception:
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <SOAP-ENV:Body>
          <SOAP-ENV:Fault>
             <faultcode>SOAP-ENV:Client</faultcode>
             <faultstring>Division by zero</faultstring>
             <detail>
                <ns1:div_test.CalcException xmlns:ns1="urn:CalculatorWsd/CalculatorVi" xmlns:pns="urn:test">
                   <pns:message>Division by zero</pns:message>
                </ns1:div_test.CalcException>
             </detail>
          </SOAP-ENV:Fault>
       </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    But When I send one string parameter, I get
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <SOAP-ENV:Body>
          <SOAP-ENV:Fault>
             <faultcode>SOAP-ENV:Client</faultcode>
             <faultstring>Deserializing fails. Nested message: XML Deserialization Error. Can not create instance of [java.lang.Integer] with parameter [ee]..</faultstring>
             <detail>
                <ns1:com.sap.engine.services.webservices.additions.soaphttp.exceptions.ProcessException xmlns:ns1="http://sap-j2ee-engine/error">Deserializing fails. Nested message: XML Deserialization Error. Can not create instance of [java.lang.Integer] with parameter [ee]..</ns1:com.sap.engine.services.webservices.additions.soaphttp.exceptions.ProcessException>
             </detail>
          </SOAP-ENV:Fault>
       </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    So, these are two possible exceptions...  How to get them? Both are two different message types
    OR: hot to get detail text to send it to receiver? What steps need to be in the exception branch?
    O.
    Olian.

  • My iPhone 5 pairs with my automobile except it does not allow me to "pickup" calls using the car facility.  I've contacted Acura RDX 2013 about this problem.  It referred me Apple for a fix. My iPhone 4 worked with the car technology.

    My iPhone 5 pairs with my automobile except it does not allow me to "pickup" calls using the car facility.  I've contacted Acura RDX 2013 about this problem.  It referred me Apple for a fix. My iPhone 4 worked with the car technology.  Is there a fix for the iPhone 5 to allow call pickup via the Acura?
    Thanks

    HI Friend,
    Probably the problem it is because your iPhone 4 and your car have the same Bluetooth technology ( 2.1 ), but iPhone 5 has new Bluetooth technology ( 4.0 ).
    http://www.apple.com/iphone/compare-iphones/

  • Weblogic seems to swallow Oracle Exception

    Hi,
    Weblogic seems to swallow the Oracle Exception when using EntityManager, can someone also verify this ?
    Here is what I did:
    SQL> create table AMS_TEST (TEST_ID INTEGER primary key, name VARCHAR2(125), CONSTRAINT X UNIQUE (name));
    Table created.
    SQL> CREATE SEQUENCE SEQ_TEST_ID;
    Sequence created.
    And EJB 3 Been as follows:
    @Entity
    @Table(name = "AMS_TEST")
    @SequenceGenerator(name="seg_test_id_gen", sequenceName = "SEQ_TEST_ID")
    public class DummyBean {
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seg_test_id_gen")
    @Column(name = "TEST_ID", length =38)
    private Long mTestId;
    @Column(name = "NAME", length =125)
    private String mName;
    public DummyBean(String name) {
    mName = name;
    public String getName() {
    return mName;
    And the in StateSessionBean method
    public void test() {
    getEntityManager().persist(new DummyBean("test"));
    If the method call twice, it should throw an Oracle's Unique constraint exception due to the unique constraint on "name".
    But instead, weblogic only throws "Unknown reason" exception.
    Is there a way to report the real exception so that one know that's the cause of failure ?
    Chester
    <Feb 8, 2008 9:01:21 PM PST> <Error> <EJB> <BEA-010026> <Exception occurred during commit of transaction Name=[EJB com.ascentmedia.ams.content.AssetManagerBean.test()],Xid=BEA1-00187801BCA41A74F1B8(9411978),Status=Rolled back. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=0,seconds left=60,NonXAServerResourceInfo[WL_JDBC_LLR_POOL.AMS_DS]=(ServerResourceInfo[WL_JDBC_LLR_POOL.AMS_DS]=(state=rolledback,assigned=AdminServer),nonXAResource=JDBC LLR, pool=AMS_DS, table=WL_LLR_ADMINSERVER),SCInfo[ams3+AdminServer]=(state=rolledback),properties=({weblogic.transaction.nonXAResource=WL_JDBC_LLR_POOL.AMS_DS, weblogic.transaction.name=[EJB com.ascentmedia.ams.content.AssetManagerBean.test()], weblogic.jdbc=t3://192.168.2.8:7001, weblogic.jdbc.llr=AMS_DS}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer+192.168.2.8:7001+ams3+t3+, XAResources={WLStore_ams3__WLS_AdminServer, WLStore_ams3_JDBCStore},NonXAResources={})],CoordinatorURL=AdminServer+192.168.2.8:7001+ams3+t3+): weblogic.transaction.RollbackException: Unknown reason
    at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1818)
    at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:333)
    at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
    at weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteObject.java:611)
    at weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(StatelessRemoteObject.java:57)
    at weblogic.ejb.container.internal.BaseRemoteObject.postInvokeTxRetry(BaseRemoteObject.java:431)
    at com.ascentmedia.ams.content.AssetManagerBean_whuwo6_AssetManagerRemoteImpl.test(AssetManagerBean_whuwo6_AssetManagerRemoteImpl.java:1677)
    at com.ascentmedia.ams.content.AssetManagerBean_whuwo6_AssetManagerRemoteImpl_WLSkel.invoke(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:586)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:474)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
    at weblogic.security.service.SecurityManager.runAs(Unknown Source)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:470)
    at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    .>

    I am getting a similar error with an Hibernate implementation of EntityManager. I had an error on my code that made a EntityManager#persist call on a entity that had another transient entity setted in a ManyToOne relationship that weren't tagged with cascade anotation.
    The only way I managed to dig for the error was to force a EntityManager#flush on my EJB bean code that happily threw the correct exception (IllegalStateException, which is correctly documented on section 3.2.3 of the EJB 3.0 specification - persistence).
    There should be a standard way to retrieve the cause of an rollback from a EJB call that the EntityManager throws during commit. Without that, it will be kind of difficult to rely on container managed transaction.
    This was the stack trace I got on my log:
    ####<18/02/2008 16h22min33s BRT> <Error> <EJB> <rcouto> <AdminServer> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1203362553258> <BEA-010026> <Exception occurred during commit of transaction Name=[EJB br.com.touchtec.lsd.impl.LSDBean.createScript(java.lang.String,java.util.Locale,java.lang.String,br.com.touchtec.net.Reference)],Xid=BEA1-0000B42F7CD37B374FDD(27009473),Status=Rolled back. [Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=1,seconds left=30,XAServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(ServerResourceInfo[weblogic.jdbc.wrapper.JTSXAResourceImpl]=(state=rolledback,assigned=AdminServer),xar=weblogic.jdbc.wrapper.JTSXAResourceImpl@16c0ff5,re-Registered = false),SCInfo[lsd+AdminServer]=(state=rolledback),properties=({weblogic.transaction.name=[EJB br.com.touchtec.lsd.impl.LSDBean.createScript(java.lang.String,java.util.Locale,java.lang.String,br.com.touchtec.net.Reference)], weblogic.jdbc=t3://172.19.64.51:7001}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer+172.19.64.51:7001+lsd+t3+admin+7001+, XAResources={weblogic.jdbc.wrapper.JTSXAResourceImpl},NonXAResources={})],CoordinatorURL=AdminServer+172.19.64.51:7001+lsd+t3+admin+7001+): weblogic.transaction.RollbackException: Unknown reason
            at weblogic.transaction.internal.TransactionImpl.throwRollbackException(TransactionImpl.java:1818)
            at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:333)
            at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:227)
            at weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteObject.java:606)
            at weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(StatelessRemoteObject.java:57)
            at weblogic.ejb.container.internal.BaseRemoteObject.postInvokeTxRetry(BaseRemoteObject.java:426)
            at br.com.touchtec.lsd.impl.LSDBean_jz0i8w_LSDImpl.createScript(LSDBean_jz0i8w_LSDImpl.java:153)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:63)
            at $Proxy69.createScript(Unknown Source)
            at br.com.touchtec.lsd.it.web.ScriptAction.save(ScriptAction.java:89)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at br.com.touchtec.twf.core.TWFActionInvocation.invokeAction(TWFActionInvocation.java:98)
            at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
            at br.com.touchtec.twf.validation.WorkflowInterceptor.doIntercept(WorkflowInterceptor.java:91)
            at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
            at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
            at br.com.touchtec.twf.validation.ValidationInterceptor.doIntercept(ValidationInterceptor.java:124)
            at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
            at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
            at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:123)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
            at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
            at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:121)
            at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
            at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
            at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:167)
            at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
            at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
            at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:83)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
            at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
            at br.com.touchtec.twf.process.ProcessContextInterceptor.intercept(ProcessContextInterceptor.java:104)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
            at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
            at br.com.touchtec.twf.process.ProcessStackInterceptor.intercept(ProcessStackInterceptor.java:64)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
            at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
            at br.com.touchtec.twf.userContext.InjectUserContextInterceptor.intercept(InjectUserContextInterceptor.java:54)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
            at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
            at br.com.touchtec.twf.ejb.EJBInjectorInterceptor.intercept(EJBInjectorInterceptor.java:77)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
            at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
            at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:170)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
            at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
            at br.com.touchtec.twf.session.SessionCleanUpInterceptor.intercept(SessionCleanUpInterceptor.java:48)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
            at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
            at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
            at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
            at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:50)
            at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:504)
            at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3368)
            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:2117)
            at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2023)
            at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1359)
            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
            at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
    .>

  • The application, C:\Program Files\Adobe\Adobe Photoshop CS2\Photoshop.exe, generated an application error The error occurred on 10/01/2009 @ 11:31:59.964 The exception generated was c0000005 at address 7C81BD02 (ntdll!ExpInterlockedPopEntrySListFault)

    Hi,
    I get this error randomly when i run my VB 6.0 application which calls Photoshop CS2 actions. I went through many forums, but could not manage to get the right solution for this.
    "The application, C:\Program Files\Adobe\Adobe Photoshop CS2\Photoshop.exe, generated an application error The error occurred on 10/01/2009 @ 11:31:59.964 The exception generated was c0000005 at address 7C81BD02 (ntdll!ExpInterlockedPopEntrySListFault)
    For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp."
    OS: WIndows Server 2003 SP2
    Photoshop CS2
    ANy help on this will be highly appreciated.
    Thanks in advance,
    Smiley

    I see this sort of error notice in Bridge and Photoshop, preceded by the message " Photoshop (or Bridge) has encountered a problem and must close. Tell MS.
    Yes or No."
    It most frequently happens in PS when running Dfine 2.0. I have no clue what triggers the Bridge closure. It happens randomly.
    CS3, so nobody gives a tinkers dam, I suppose.
    I see this kind of message in software testing on a regular basis. Of course, when the test is under way, the software is generating a detailed log file which we package up as part of a bug report. Then at the bug scrubs, lively discussions ensue as to who has to fix what!
    I can only image what would happen if the Dfine people and the PS people had to sit through one of those!

  • How to get rid of the Exceptions

    When I tried to open the client i.e User interface which is MainMenuApp received NO_PERMISSION CORBA exception while attempting to get an initial reference to the mvcf_ControllerFactory from the FactoryFinder. Software defect that should be addressed is that the UI did not recover after catching the exception and required a restart of the UI to connect.
    The problem is that cleanWorkspace() in CorbaAdapter doesn't have any failover logic in it at all. The adapter is assumed to be good and if it is not cleanWorkspace() attempts to use a factory that doesn't exist. This throws an uncaught NullPointerException that blows out to MainMenuApp where it is interpreted as a fatal exception and prevents the main menu from starting. So please help me in writing the failover logic in CorbaAdapter
    The code for cleanWorkspace is
    * Cleans up the entire logical positions workspace.
    * @throws AdapterException UserError or Error occured
    public synchronized void cleanWorkspace() throws AdapterException
    cut_ContextInitData cid = getContextInitData();
    cid.clientId = "*";
    MVC2CleanWorkspaceCmd cmd = new MVC2CleanWorkspaceCmd(cid);
    execute(cmd);
    I am giving the whole logic of Corba Adapter. This might help:
    package com.ge.trans.tms.comm;
    import java.util.*;
    import org.omg.CORBA.CompletionStatus;
    import com.beasys.Tobj.FactoryFinder;
    import com.ge.trans.tms.ui.util.ExceptionHandler;
    import com.ge.trans.tms.util.Log;
    import com.ge.trans.tms.util.StringUtils;
    import com.ge.trans.tms.forms.mainmenu.Globals;
    import pds.cut_IDLCommon.cut_ContextInitData;
    import pds.cut_IDLCommon.cut_ValidationResult;
    import pds.cut_IDLContainers.cut_KeyValuePair;
    import pds.cut_IDLContainers.cut_KeyValueSequenceHolder;
    import pds.cut_IDLContainers.cut_StringSeqSeqHolder;
    import pds.cut_IDLContainers.cut_StringSequenceHolder;
    import pds.cut_IDLExceptions.cut_Error;
    import pds.cut_IDLExceptions.cut_InternalError;
    import pds.cut_IDLExceptions.cut_UserError;
    import pds.cut_IDLExceptions.cut_ModelNotFoundError;
    import pds.cut_IDLExceptions.cut_DBDeadlockError;
    import pds.mvct.mvct_ParentTableInfo;
    import com.ge.trans.tms.util.BM;
    import pds.mvcs_ControllerFactory;
    import pds.mvcs_ControllerFactoryHelper;
    import pds.mvcs_ControllerProxy;
    * Title: CorbaAdapter Description: This class provides a generic, 100% java
    * interface for its clients (UI for example) to create, query, and modify
    * remote data models. The methods in this class foward client requests through
    * calls on generated Java/Corba client stubs with disregard to the server-side
    * controller/model objects location or language implementation. This is
    * currently the only portal for the clients to communicate with the
    * server-side model/controller framework. Therefore, this class should mirror
    * the complete model/controller interface as provide in the mvcs_Controller
    * idl. This class provides constructors that hide all Corba initialization and
    * messaging implementation from its clients.
    public class CorbaAdapter extends AbstractAdapter
    protected String factoryDomainSuffix = "MVC";
    private mvcs_ControllerFactory factory;
    private mvcs_ControllerProxy controller;
    public synchronized mvcs_ControllerProxy getController()
    return controller;
    protected String getFactoryDomainSuffix() {
    return _factoryDomainSuffix;
    * Constructor Initializes the connection and generic factory finder. This
    * constructor should be used when the cleint does not want to immediately
    * create a new handle (controller) to a new or existing model. <p>
    * Preconditions: none
    * @param domain
    * @param listener <p>
    * Postconditions: If domain is null, then
    * AdapterConstants.DEFAULT_DOMAIN will be used as the domain name. If
    * listener is null, neither the caller or any other client will
    * receive error messages
    public CorbaAdapter(
    String domain,
    MessageListener listener,
    ConnectionListener connectionListener,
    boolean uniqueConnection ) throws AdapterException
    this(domain, listener, connectionListener, uniqueConnection, true);
    public CorbaAdapter(
    String domain,
    MessageListener listener,
    ConnectionListener connectionListener,
    boolean uniqueConnection,
    boolean geoAdapter ) throws AdapterException
    super( listener );
    setDomain( domain );
    _geoPartitioned = geoAdapter;
    //flag to stop retrying after failure to find factory
    this.uniqueConnection = uniqueConnection;
    String param = System.getProperty(AdapterConstants.POOLED_CONNECTION);
    if((param != null) && (param.equals("true"))) {
    this.pooledConnection = true;
    initialize();
    protected Connection makeConnection() throws Exception
    Connection connection = null;
    if( !pooledConnection )
    connection = (CorbaConnection)ConnectionFactory.getDefaultConnection(
    new ConnectionListener[] { this, additionalConnectionListener } );
    else
    String tempDomain = "";
    if(domain.equals("LOGICAL_POSITION")) {
    tempDomain = "MVC_LOGICAL_POSITION";
    } else {
    tempDomain = domain;
    connection = (CorbaConnection)
    PooledConnectionFactory.instance().getPooledConnection(tempDomain);
    if(connection != null) {
    connection.addConnectionListeners(
    new ConnectionListener[] { this, additionalConnectionListener } );
    return connection;
    * clients should never call this method as this is a the destructor for
    * this class and should only be called by the system before the garbage
    * collector sweeps away this object NOTE: there is no guarantee when the
    * system will call this method, so if a resource is in short supply,
    * manage that resource another way
    protected void finalize()
    if(Log.isEnterEnabled())Log.enter( CorbaAdapter.class, "Entering finalize..." );
    // cannot enusre all clients call cleanup fromt their code
    // so do this is defensive programming
    cleanup();
    if(Log.isLeaveEnabled())Log.leave( CorbaAdapter.class, "Leaving finalize..." );
    /** This should only be called when the adapter knows that it's
    * current connection has been repaired and the adapater's current
    * workspace (remote stub) needs to be initialized using the new connection
    * (IOR for new server).
    * This method should only be called from another which has a lock on the
    * current connection. Currently this method is only called from
    * verifyConnectionStatus().
    private boolean convertController()
    if ( controller == null ) {
    Log.error(CorbaAdapter.class, "convertController()",
    "CONVERT_CONTROLLER CALLED WITH CONTROLLER == NULL",
    new Exception("Fix Me"));
    MVC2ConvertControllerCmd cmd = new MVC2ConvertControllerCmd();
    execute(cmd);
    return (((String) cmd.getReturnValue()).equals(AdapterConstants.SUCCESS));
    * Initializes an existing adapter to a new controller/model.
    * @return AdapterConstants.ERROR or AdapterConstants.SUCCESS
    public synchronized String setController()
    AbstractCmd cmd = new MVC2SetControllerCmd();
    execute(cmd);
    Log.debug (getClass (), "returning from set controller :"+(String) cmd.getReturnValue());
    return ((String) cmd.getReturnValue());
    * Initializes an existing adapter to a new controller/existing model using
    * the current domain name and user data <p>
    * Preconditions:
    * @param domainName must represent a valid domain name
    * @param businessKey must represent a valid business key of an existing
    * model in the database. <p>
    * Postconditions: If the adapter has a initailized controller it is
    * uninitialized notifies registered MessageListener if businessKey
    * does not represent a valid model that already exists in the
    * database. notifies registered UIIFatalMessageListener of all fatal
    * server errors
    * @return Description of the Return Value
    * @returns AdapterConstants.SUCCESS or AdapterConstants.ERROR
    public synchronized String setController(Map businessKey)
    AbstractCmd cmd = new MVC2SetControllerCmd(businessKey);
    execute(cmd);
    Log.debug (getClass (), "returning from set controller bus key:"+(String) cmd.getReturnValue());
    return ((String) cmd.getReturnValue());
    private boolean clientInitialized()
    return clientInitialized( true );
    private boolean clientInitialized( boolean remoteStub )
    forceConnectionChange = false;
    if(getController()==null)
    Log.info(CorbaAdapter.class,
    "clientInitialized()",
    "(getController()==null):'"+(getController()==null)+"'");
    // obtain lock on used by this adapter and its' connection
    // before checking any values that could be changed by a shared
    // connection in another thread
    synchronized( this.adapterConnectionMonitor )
    if( !this.connectionRepaired && !this.connectionBroken )
    if( !healthyConnection )
    Log.debug(CorbaAdapter.class,
    "clientInitialized()",
    "connectionRepaired:'"+connectionRepaired+"' "+
    "connectionBroken:'"+connectionBroken+"' "+
    "healthyConnection:'"+healthyConnection+"' "+
    "calling fireFatalErrorHandler with 'AdapterConstants.NULL_CONNECTION'");
    fireFatalErrorHandler( AdapterConstants.NULL_CONNECTION );
    return false;
    else if( !healthyRemoteFactory )
    Log.debug(CorbaAdapter.class,
    "clientInitialized()",
    "connectionRepaired:'"+connectionRepaired+"' "+
    "connectionBroken:'"+connectionBroken+"' "+
    "healthyRemoteFactory:'"+healthyRemoteFactory+"' "+
    "calling fireFatalErrorHandler with 'AdapterConstants.NULL_REMOTE_FACTORY'");
    fireFatalErrorHandler( AdapterConstants.NULL_REMOTE_FACTORY );
    return false;
    else if( remoteStub && !healthyRemoteStub )
    Log.debug(CorbaAdapter.class,
    "clientInitialized()",
    "connectionRepaired:'"+connectionRepaired+"' "+
    "connectionBroken:'"+connectionBroken+"' "+
    "remoteStub:'"+remoteStub+"' "+
    "healthyRemoteStub:'"+healthyRemoteStub+"' "+
    "calling fireFatalErrorHandler with 'AdapterConstants.NULL_REMOTE_STUB'");
    fireFatalErrorHandler( AdapterConstants.NULL_REMOTE_STUB );
    return false;
    return true;
    } // release lock on used by this adapter and its' connection
    * This method should be called when the client has finished working with
    * the controller. <p>
    * Preconditions: controller (domain specific remote stub) must be
    * initialized. <p>
    * Postconditions: Cleans up any session state and removes the client's
    * workspace from existence. After this method is called, the client will
    * no longer be able to make calls on the controller without obtaining
    * another controller reference and re-initializing. Any changes made by
    * the client since calling commitChanges() are lost (i.e., the client is
    * responsible for calling commitChanges() before exiting).
    * @return AdapterConstants.SUCCESS or AdapterConstants.ERROR
    public synchronized String exit()
    AbstractCmd cmd = new MVC2ExitCmd();
    execute(cmd);
    String returnValue = (String) cmd.getReturnValue();
    if(returnValue.equals(AdapterConstants.SUCCESS))
    controller = null;
    healthyRemoteStub = false;
    return returnValue;
    * Reports whether adapters controller is currently initialized
    * @return The active value
    public synchronized boolean isActive()
    // obtain lock used by this adapter so that another method can NOT be
    // called on this adapter instance from another thread at the same
    // time
    synchronized( this.adapterConnectionMonitor )
    return ( controller != null );
    * Preconditions: the controller is initialized Postconditions: Returns the
    * domain name from the model we are controlling. <p>
    * notifies registered UIIFatalMessageListener of all fatal server errors
    * @return The domainName value or AdapterConstants.ERROR
    public synchronized String getDomainName() // throws cut_InternalError
    AbstractCmd cmd = new MVC2GetDomainNameCmd();
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Preconditions: the controller is initialized Postconditions: Returns a
    * "user context," set by the user of this controller and otherwise not
    * used by the mvc2 framework. Context is data only kept in the controller
    * (if at all) and not the model. <p>
    * notifies registered UIIFatalMessageListener of all fatal server errors
    * @return The context value or AdapterConstants.ERROR
    public synchronized String getContext() // throws cut_InternalError
    AbstractCmd cmd = new MVC2GetContextCmd();
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Preconditions: the controller is initialized
    * @param value saved as a "user context," set by the user of this
    * controller and used by domain or customer derived controllers. <p>
    * notifies registered UIIFatalMessageListener of all fatal server
    * errors
    * @return AdapterConstants.ERROR or AdapterConstants.SUCCESS
    public synchronized String setContext( String value )
    AbstractCmd cmd = new MVC2SetContextCmd(value);
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Sets a key on the server.
    * @param property key to set
    * @param value value
    * @return String retruned by service provider or Adapter.ERROR
    public synchronized String setValue( String key, String value )
    AbstractCmd cmd = new MVC2SetValueCmd(key, value);
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Preconditions: the controller has been initialized
    * @param property is a valid property of the model <p>
    * Postconditions: notifies registered UIMessageListeners if property
    * is not valid notifies registered UIIFatalMessageListener(s) of any
    * fatal server errors
    * @return The value value
    * @returns the current value of the specified property or
    * AdapterConstants.ERROR
    public synchronized String getValue( String property ) // throws cut_InternalError
    AbstractCmd cmd = new MVC2GetValueCmd(property);
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Preconditions: the controller has been initialized and propertyValueMap
    * is not null All properties given is propertyValueMap are valid
    * properties of the model.
    * Postconditions: All values for the properties in the map are added to
    * the map.
    * @param propertyValueMap each KeyValuePair element will have its value
    * set based on its key notifies registered UIMessageListeners if any
    * property given in the map is not a valid property of the model. If
    * this happens, the map is unchanged. notifies registered
    * UIIFatalMessageListener(s) of any fatal server errors
    * @return The values value
    * @returns AdapterConstants.SUCCESS or
    * AdapterConstants.ERROR
    public synchronized String getValues( Map propertyValueMap )
    AbstractCmd cmd = new MVC2GetValuesCmd(propertyValueMap);
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Preconditions: controller has been initialized and propertyValueMap is
    * not null <p>
    * Postconditions: All properties and their associated values are added to
    * the propertyValueMap. Prior contents of the map are NOT erased.
    * @param propertyValueMap will be cleared then filled with KeyValuePair
    * object references notifies registered UIIFatalMessageListener(s) of
    * any fatal server errors <p>
    * @return The allValues value
    * @returns AdapterConstants.SUCCESS or
    * AdapterConstants.ERROR NOTE: The actual definition of what "all
    * values" mean is left to the designers of the UI and the Controller
    * but should reflect what is in the models' metamodel
    public synchronized String getAllValues( Map propertyValueMap )
    AbstractCmd cmd = new MVC2GetAllValuesCmd(propertyValueMap);
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Invoke a method on controller.
    * @param method Method to invoke on controller
    * @param values input/output values sent and returned from controller
    * @return String from service on success or AdapterConstrants.ERROR
    public synchronized String invokeMethod( String method, List values )
    AbstractCmd cmd = new MVC2InvokeMethodCmd(method, values);
    execute(cmd);
    return (String) cmd.getReturnValue();
    * Preconditions: the controller has been initialized Postconditions:
    * Validates the state of the model for committing, copies the transient
    * model to the persistent model, and commits it to the database. <p>
    * reports a user error(s) to registered MessageListener s if the state of
    * the model is not a valid one for commiting. reports all fatal server
    * errors to registered UIIFatalMessageListener s <p>
    * @return Description of the Return Value
    * @returns AdapterConstants.ERROR or AdapterConstants.SUCCESS
    public synchronized String commitChanges()
    AbstractCmd cmd = new MVC2CommitChangesCmd();
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Preconditions: the controller has been initialized. Postconditions:
    * Aborts all changes to the model since commitChanges() was last called.
    * <p>
    * reports all fatal server errors to registered UIIFatalMessageListener s
    * <p>
    * @return Description of the Return Value
    * @returns AdapterConstants.ERROR or AdapterConstants.SUCCESS
    public synchronized String abortChanges()
    AbstractCmd cmd = new MVC2AbortChangesCmd();
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Preconditions: the controller has been initialized and columnName is not
    * null
    * @param tableName must be a valid table of the model.
    * @param columnName is a valid column in the table of the model.
    * @param rowNum is a valid row in the table of the model.
    * @param parents used if the table is a subtable of another table, its
    * parent table(s) info must be specified and must be valid. If the
    * table is not a subtable, then parents should be empty. <p>
    * Postconditions: <p>
    * asserts columnName or rowNum have valid values for the table asserts
    * the information in parents is valid and complete; reports to
    * registered MessageListener s if the table is not a table of the
    * model
    * @return The tableValue value
    * @todo talk to Kelly because an invalid table name should
    * not be a user error but a programming error reports all fatal server
    * errors to registered UIIFatalMessageListener s <p>
    * @returns the value of the table element located in the
    * specified column at the specified row or AdapterConstants.ERROR
    public synchronized String getTableValue(
    String tableName,
    String columnName,
    int rowNum,
    ParentTableInfo[] parents )
    AbstractCmd cmd = new MVC2GetTableValueCmd(tableName, columnName, rowNum, parents);
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * @param tableId The new tableValue value
    * @param columnName The new tableValue value
    * @param row The new tableValue value
    * @param value The new tableValue value
    * @return Description of the Return Value
    * @see setTableValue(String tableName, String columnName,
    * int rowNum, String value, ParentTableInfo[] parents) for method
    * contract
    public synchronized String setTableValue(
    String tableId,
    String columnName,
    int row,
    String value )
    return setTableValue( tableId, columnName, row, value,
    ( ( ParentTableInfo[] ) null ) );
    * Preconditions: asserts the controller has been initialized and
    * columnName is not null
    * @param tableName must be a valid table of the model.
    * @param columnName is a valid column in the table of the model.
    * @param rowNum is a valid row in the table of the model.
    * @param value is a valid value of the tables column and row (cell)
    * @param parents used if the table is a subtable of another table, its
    * parent table(s) info must be specified and must be valid. If the
    * table is not a subtable, then parents should be empty. <p>
    * Postconditions: Sets the value of the table cell located in the
    * specified column at the specified rowNum to the new value. <p>
    * asserts both the columnName or rowNum have valid values for the
    * table asserts the information in parents is valid and complete
    * reports to registered MessageListener s if the table is not a table
    * of the model and if the value is not a valid value for the cell of
    * the table reports all fatal server errors to registered
    * UIIFatalMessageListener s
    * @return Description of the Return Value
    * @returns the value that the table cell is set to or
    * AdapterConstants.ERROR
    public synchronized String setTableValue(
    String tableName,
    String columnName,
    int rowNum,
    String value,
    ParentTableInfo[] parents )
    AbstractCmd cmd = new MVC2SetTableValueCmd(tableName, columnName,
    rowNum, value, parents);
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Preconditions: the controller has been initialized and tableName is not
    * null
    * @param tableName must be a valid table of the model.
    * @param parents used if the table is a subtable of another table, its
    * parent table(s) info must be specified and must be valid. If the
    * table is not a subtable, then parents should be empty. <p>
    * Postconditions: <p>
    * asserts the information in parents argument is valid and complete.
    * reports to registered MessageListener s if table is not a valid
    * table reports all fatal server errors to registered
    * UIIFatalMessageListener s
    * @return The numberOfRows value
    * @returns the number of rows in the table if successful, else -1
    public synchronized int getNumberOfRows(
    String tableName,
    ParentTableInfo[] parents )
    AbstractCmd cmd = new MVC2GetNumberOfRowsCmd(tableName, parents);
    execute(cmd);
    Object returnValue = cmd.getReturnValue();
    if(returnValue.equals(AdapterConstants.ERROR))
    return -1;
    return ((Integer) cmd.getReturnValue()).intValue();
    * Preconditions: the controller has been initialized and tableName is not
    * null
    * @param tableName must be a valid table of the model.
    * @param parents used if the table is a subtable of another table,
    * its parent table(s) info must be specified and must be valid. If the
    * table is not a subtable, then parents should be empty.
    * @param rowPosition represents the (zero-based) position where you want
    * the new row <p>
    * Postconditions: Adds one row to the table at the specified position.
    * <p>
    * asserts that the rowPosition is within range to add to the table
    * asserts that the information in parents is valid and complete.
    * reports to registered MessageListener s if table is not a valid
    * table and if it is not valid to add the row to the specified
    * position reports all fatal server errors to registered
    * UIIFatalMessageListener s
    * @return Description of the Return Value
    * @returns the new row number of the inserted row if
    * successful, else -1
    public synchronized int addRow(
    String tableName,
    int rowPosition,
    ParentTableInfo[] parents )
    AbstractCmd cmd = new MVC2AddRowCmd(tableName, rowPosition, parents);
    execute(cmd);
    return ((Integer) cmd.getReturnValue()).intValue();
    * Preconditions: the controller has been initialized, tableName is not
    * null, and rowsToDelete is not null or empty
    * @param tableName must be a valid table of the model.
    * @param parents used if the table is a subtable of another table,
    * its parent table(s) info must be specified and must be valid. If the
    * table is not a subtable, then parents should be empty.
    * @param rowsToDelete all rows specified in this container must exist in
    * the table 'tableName' <p>
    * Postconditions: Deletes all rows specified in rowsToDelete from the
    * table. <p>
    * asserts all row indexes in rowsToDelete are valid asserts the
    * information in parents argument is valid and complete reports to
    * registered MessageListener s if the 'tableName' is not a valid table
    * of the model and if it is not valid to delete the rows at the
    * specified positions reports all fatal server errors to registered
    * UIIFatalMessageListener s
    * @return Description of the Return Value
    * @returns AdapterConstants.SUCCESS or AdapterConstants.ERROR
    public synchronized String deleteRows(
    String tableName,
    int[] rowsToDelete,
    ParentTableInfo[] parents )
    AbstractCmd cmd = new MVC2DeleteRowsCmd(tableName, rowsToDelete, parents);
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * This method retrieves all values for a specified row. The value in each
    * column is retrieved and stored in the row container. The row container
    * is column ordered. Prior contents in the row container are lost as the
    * container is initialized within this method. <p>
    * Preconditions: the controller has been initialized and the container
    * 'row' is not null
    * @param tableName must be a valid table of the model.
    * @param rowPosition represents a valid row in the table.
    * @param parents used if the table is a subtable of another table,
    * its parent table(s) info must be specified and must be valid. If the
    * table is not a subtable, then parents should be empty.
    * @param row container which will be filled with the specified
    * table rows values <p>
    * Postconditions: asserts that rowPosition is valid (i.e not out of
    * range) asserts the information in parents argument is valid and
    * complete asserts that the container row is a valid as an
    * input/output parameter (i.e. not null) reports to registered
    * MessageListener s if tableName is not a valid table of the model
    * reports all fatal server errors to registered
    * UIIFatalMessageListener s
    * @return The row value
    * @returns AdapterConstants.SUCCESS or AdapterConstants.ERROR
    * <p>
    * NOTE: All columns and all rows have zero-based indices.
    public synchronized String getRow(
    String tableName,
    int rowPosition,
    List row,
    ParentTableInfo[] parents )
    AbstractCmd cmd = new MVC2GetRowCmd(tableName, rowPosition, row, paren

    Please can u answer it fast

  • Two remote objects calls on the same php class

    Hi to all,
           I've encountered a strange issue while developing with remote objects.
    I've a mxml component with an init() method inside which is called by a menu.
    When the init() method is called it makes 7 remote object calls which are bound to some components' dataprovider.
    Among this calls I've got 2 remote object which refer to the same remote class. This because I have to call the class twice and the bind the result to two different combobox. Below you find the code:
    <mx:RemoteObject id="myFile" source="myRemoteClass" destination="amfphp"  showBusyCursor="true" makeObjectsBindable="true" fault="traceFault(event)"/>
    <mx:RemoteObject id="myXls"  source="myRemoteClass" destination="amfphp"  showBusyCursor="true" makeObjectsBindable="true" fault="traceFault(event)"/>
    in the init function I make this calls:
    myFile.listDir("dir_1")
    myXls.listDir("dir_2")
    then in the mxml code I bound the result of myFile to combobox1 and the result of myXls on combobox2.
    The problem arise when I call the myXls' listDir method. When I call it I receive the following error:
    code:
    Client.Error.DeliveryInDoubt
    Message:
    Channel disconnected
    Detail:
    Channel disconnected before an acknowledgement was received
    The strange thing is that not only the myXls object returns this error, but also all the other 6 remote object return the same error above.
    I'm not sure, but I guess that the error could be caused by the two remote object which call the same php remote class. If I comment one of the two calls everything works fine.
    Do you have any suggestion about?
    Thanks!!
    Bye
    Luke

    Hi Jan.
    1) We have the 2 VO, each with 3 rows to fill in data. What I mean is that when i just fill in all the fields for the first row of the first VO, and the value of one of these fields is bigger than 50, then after the exception is thrown and the message is displayed, the fields for the first VO are duplicated and shown in the second VO as if the user had inserted them.
    2) We tried yesterday the validateEntity and a Method and Atributte Validator approaches after reading that white paper with the same results.
    The validation is correctly done using any of the those methods.
    I will try to reproduce this issue with the HR schema.
    Thanks in advance once again.

  • How to handle the Exception when RegisterEventProcessorAsync

    In our Cloud Service project, we have 2 instances for work role (deploy to Azure), the work role is consume events from the EventHub using EventProcessorHost).
    When we want to register EventProcessor to consume data (see below):
    await eventProcessorHost.RegisterEventProcessorAsync<eventProcessor>();
    Sometimes we will got the Exception:
    Microsoft.WindowsAzure.Storage.StorageException: The remote server returned an error: (412) There is
    currently a lease on the blob and no lease ID was specified in the request.. ---> System.Net.WebException: The remote server returned an error: (412)
    There is currently a lease on the blob and no lease ID was specified in the request..
      at Microsoft.WindowsAzure.Storage.Shared.Protocol.HttpResponseParsers.ProcessExpectedStatusCodeNoException[T](HttpStatusCode expectedStatusCode, HttpStatusCode actualStatusCode, T retVal, StorageCommandBase`1 cmd, Exception ex)
       at Microsoft.WindowsAzure.Storage.Shared.Protocol.HttpResponseParsers.ProcessExpectedStatusCodeNoException[T](HttpStatusCode expectedStatusCode, HttpWebResponse resp, T retVal, StorageCommandBase`1 cmd, Exception ex)
       at Microsoft.WindowsAzure.Storage.Blob.CloudBlobSharedImpl.<DeleteBlobImpl>b__1b(RESTCommand`1 cmd, HttpWebResponse resp, Exception ex, OperationContext ctx)
       at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.EndGetResponse[T](IAsyncResult getResponseResult)
       --- End of inner exception stack trace ---
       at Microsoft.WindowsAzure.Storage.Core.Util.StorageAsyncResult`1.End()
       at Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob.EndDeleteIfExists(IAsyncResult asyncResult)
       at Microsoft.WindowsAzure.Storage.Core.Util.AsyncExtensions.<>c__DisplayClass1`1.<CreateCallback>b__0(IAsyncResult ar)
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
       at Microsoft.ServiceBus.Messaging.BlobLeaseManager.<DeleteAllAsync>d__2a.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Microsoft.ServiceBus.Messaging.EventProcessorHost.<InitializeAsync>d__4.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Microsoft.ServiceBus.Messaging.EventProcessorHost.<StartAsync>d__e.MoveNext()
       --- End of inner exception stack trace ---
       at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
       at System.Threading.Tasks.Task.Wait()
    at awaiteventProcessorHost.RegisterEventProcessorAsync<eventProcessor>();
    If we got the Exception, we won’t got messages any more.
    From the Call Stack, we found it was cause by delete the Blob. So we wonder that, when we call
    RegisterEventProcessorAsync,
    the hub will delete the blob and renew one in Storage?
    If we delete the blob for the EventHub manually and then run our server again. It worked as usual.
    But we can do it like this way manually, so is there any way to handle the exception in code to make the EventProcessorHost worked?
    Thanks so much!

    If we use different blob container name for different EventProcessorHost, is it a workaround for the issue?
       var
    eventProcessorHost = new
    EventProcessorHost(
                    hostName,
                    hubName,
                    consumerGroupName,
                    serviceBusConnectionString,
                    storageConnectionString,
    leaseContainerName);

  • Hit the exception when editing the value of row key column in a new created row in a table

    1. I created a view object with 2 entity objects (parent table: YARD_FIXED_SLOT - child table: YARD_FIXED_SLOT_DETAIL) and the primary key of child table composes of 2 columns ( one of them is FK: YardFixedSlotDetail.FIXED_SLOT_ID REFERENCES YARD_FIXED_SLOT(FIXED_SLOT_ID)
    SQL queries:
    SELECT YardFixedSlotDetail.FIXED_SLOT_ID,
           YardFixedSlotDetail.MODIFIED_DT,
           YardFixedSlotDetail.SLOT_FROM_N,
           YardFixedSlotDetail.SLOT_TO_N,
           YardFixedSlotDetail.USER_ID,
           YardFixedSlot.BLOCK_M,
           YardFixedSlot.BLOCK_N,
           YardFixedSlot.FIXED_SLOT_ID AS FIXED_SLOT_ID1,
           YardFixedSlot.SECTION_N,
           YardFixedSlot.STATUS_C,
           YardFixedSlot.TERMINAL_C
    FROM  YARD_FIXED_SLOT_DETAIL YardFixedSlotDetail, YARD_FIXED_SLOT YardFixedSlot
    YardFixedSlotDetail.FIXED_SLOT_ID = YardFixedSlot.FIXED_SLOT_ID
    2. I dragged this view object into JSF page as an ediable table and add 'add' button to add a new row to the table. and the handling logic in managed bean is as followed. now one new row can be added succesfully in the table.
        public void processSlotDetailCreation(ActionEvent ae)
            DCBindingContainer bindings = (DCBindingContainer)getBindings();
            DCIteratorBinding dciter = bindings.findIteratorBinding("YardFixedSlotDetailFindAllByBlock1Iterator");
            Row row = dciter.getCurrentRow();
            //get the last row for the index and create a new row for the //user to edit
            Row lastRow = dciter.getNavigatableRowIterator().last();
            YardFixedSlotDetailFindAllByBlockRowImpl newRow = (YardFixedSlotDetailFindAllByBlockRowImpl)dciter.getNavigatableRowIterator().createRow();
            newRow.setFixedSlotId(new Integer(21));
            newRow.setUserId("adftest");
            newRow.setModifiedDt(new Timestamp(System.currentTimeMillis()));
            //bug exist here
            newRow.setSlotFromN(new Integer(1));
            //newRow.setSlotToN(new Integer(1));
            newRow.setNewRowState(Row.STATUS_INITIALIZED);
            int lastRowIndex = dciter.getNavigatableRowIterator().getRangeIndexOf(lastRow);
            dciter.getNavigatableRowIterator().insertRowAtRangeIndex( lastRowIndex+1, newRow);
            // make the new row the current row of the table
            dciter.setCurrentRowIndexInRange(lastRowIndex);
            dciter.setCurrentRowWithKey(newRow.getKey().toStringFormat(true));
            //table should have its displayRow attribute set to //"selected"
           // AdfFacesContext.getCurrentInstance().addPartialTarget(slotDetailsTable);
    3. When filling in a new value for SlotFromN column (note that SlotFromN column and FixedSlotId column are the rowKey), hit the exception below:
    [2013-12-04T13:04:28.866+08:00] [DefaultServer] [ERROR] [] [oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter] [tid: [ACTIVE].ExecuteThread: '14' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: eb5e281b-6b07-4c17-987e-049792c97dda-000001bf,0] [APP: YPCApp] [DSID: 0000KAvzIaA5qYWFLzmJOA1IbdqZ000003] ADF_FACES-60096:Server Exception during PPR, #7[[
    oracle.jbo.InvalidOperException: 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-34014. Error message parameters are {0=oracle.jbo.Key[21 null ], 1=root}
    at oracle.jbo.uicli.binding.JUCtrlHierBinding.bringNodeToRangeKeyPath(JUCtrlHierBinding.java:859)
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding.bringNodeToRangeKeyPath(FacesCtrlHierBinding.java:122)
    at oracle.adfinternal.view.faces.model.binding.RowDataManager.setRowKey(RowDataManager.java:131)
    at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$FacesModel.setRowKey(FacesCtrlHierBinding.java:951)
    at org.apache.myfaces.trinidad.component.UIXCollection.setRowKey(UIXCollection.java:527)
    at org.apache.myfaces.trinidad.component.UIXTable.setRowKey(UIXTable.java:760)
    at oracle.adfinternal.view.faces.renderkit.rich.TableRendererUtils._processStampedChildrenForActiveRow(TableRendererUtils.java:2950)
    at oracle.adfinternal.view.faces.renderkit.rich.TableRendererUtils.processFacetsAndChildrenForClickToEdit(TableRendererUtils.java:1604)
    at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer.processFacetsAndChildrenForClickToEdit(TableRenderer.java:352)
    at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer.decodeChildren(TableRenderer.java:193)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1347)
    at org.apache.myfaces.trinidad.component.UIXCollection.processDecodes(UIXCollection.java:226)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
    at oracle.adf.view.rich.component.fragment.UIXRegion.decodeChildrenImpl(UIXRegion.java:605)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
    at org.apache.myfaces.trinidad.component.UIXForm.processDecodes(UIXForm.java:75)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildrenImpl(UIXComponentBase.java:1365)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.decodeChildren(UIXComponentBase.java:1351)
    at org.apache.myfaces.trinidad.component.UIXComponentBase.processDecodes(UIXComponentBase.java:1124)
    at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176)
    at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:933)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl$ApplyRequestValuesCallback.invokeContextCallback(LifecycleImpl.java:1574)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:416)
    at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:225)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:341)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:192)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:478)
    at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:478)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:303)
    at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:208)
    at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:137)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:120)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:217)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:81)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:225)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3367)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3333)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
    at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2220)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2146)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2124)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1564)
    at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:254)
    4. I think problem maybe is related with row key, but I need end user to change rowkey column value. does it allow changing the value of column as row key? I found this problem maybe only occur for new created row. For those existing rows, even I change the value of row key column, no such problem occurred, how do I handle this situation?
    Appriciate if anybody can help.

    Hi Bangaram,
    Thank you for your reply. 
    The error: "Root cause error code is JBO-34014. Error message parameters are {0=oracle.jbo.Key[21 null ], 1=root} "
    I didn't create master records, I just used joint queries for information display of both master and detail. I am trying to create a row in the UI table to create a new detail record and master record already exists.
    The row key for new added row in UI rich table is [21 null ], row key of detail records table composes of 2 columns. 21 is for FixedSlotId and null is for SlotFromN. when I provide a new value for SlotFromN column in UI rich table, problem will occur.

  • Oracle.jbo.NoDefException: 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-25058. Error message parameters

    Dear Guru's,
    I am not able to solve the above issue for last couple of days.
    I am newbie to the webservice
    My Issue...
    I am using Jdeveloper 11.1.2.4.0 Release 2
    1. Using Jdev I built one small Web Service with two methods.
            While testing the Webservice...
                   I passed User Id as Parameter and it successfully return the values (user id, user name and description) from fnd_user table
    2. I created another application to consume the web service i created.
                   1. I added the webservice SOAP and added the method.
                   2. Created a jsf page and drag and drop the parameter and return values to the jsf page.
    3. While executing the created jsf page I received the error message as below
    "oracle.jbo.NoDefException: 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-25058. Error message parameters are {0=Attribute, 1=UserName, 2=UserName}"
    Even I know that this issue is repeated one in our forum, I was not able to solve this issue.
    Can anybody help to solve this issue.
    Thanks and Regards,
    Durai S E

    Dear Guru's,
    I am not able to solve the above issue for last couple of days.
    I am newbie to the webservice
    My Issue...
    I am using Jdeveloper 11.1.2.4.0 Release 2
    1. Using Jdev I built one small Web Service with two methods.
            While testing the Webservice...
                   I passed User Id as Parameter and it successfully return the values (user id, user name and description) from fnd_user table
    2. I created another application to consume the web service i created.
                   1. I added the webservice SOAP and added the method.
                   2. Created a jsf page and drag and drop the parameter and return values to the jsf page.
    3. While executing the created jsf page I received the error message as below
    "oracle.jbo.NoDefException: 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-25058. Error message parameters are {0=Attribute, 1=UserName, 2=UserName}"
    Even I know that this issue is repeated one in our forum, I was not able to solve this issue.
    Can anybody help to solve this issue.
    Thanks and Regards,
    Durai S E

  • AcquireConnection method call to the connection manager Excel connection Manager failed

    I used VS Studio 2008 (BIDS version 10.50.2500.0) on an WinXp machine (v 5.1.2600 SP3 Build 2600) to create a package that writes multiple query results to different tabbed sheets of a single excel spreadsheet. The package was working just fine and has run
    successfully multiple times, but all of a sudden when opening the project, every single Data Flow task with an Excel Connection Manager displayed error icons. Each raises the following error message when attempting to open the Advanced Editor:
    SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005 Description: "Unspecified error". Error at DataFlow task name: SSIS error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method
    call to the connection manager Excel connection Manager failed with error code 0xC0202009. There may be error messages posted before this with more information on why the Acquire Connection method call failed. Exception from HRESULT: 0Xc020801c (Microsoft.SQlServer.DTSPipelineWrap)
    From the time I created the original package (when it worked fine) until now:
     1) I have been using the same computer, the same login account and the same permissions.
     2) I have been writing to the same (32 bit) 2010 Excel file (which I created) in a folder on my local machine.
     3) The filename and location have not changed; a template file is used each time to move and overwrite the previous file. Both are in the same locations.
     4) I can independently open the target Excel file and the template Excel files with no errors.
     6) The ConnectionString has not changed. The Connnection String I am using is
      Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Conversion\Conversion\Results_dt01.xlsx;Extended Properties="EXCEL 12.0 XML;HDR=YES;".
     7) Run64BitRuntime is set to False.
    8)  Delay Validation is set to true
    9) This is not running under a SQL job  
    10) There are no child packages being run
    I CAN create a NEW Excel Connection Manager, assigning it the exact same target Excel spreadsheet, successfully, but when I attempt to assign it to the Data Flow destination this error occurs:
    "Test connection failed because of an error in initializing provider. Unspecified error."
    Thinking that the driver might be corrupt, I opened a second SSIS package, which also uses the Excel Connection Manager (same driver) and this package continues to work fine on the same workstation with no errors.
    I have searched online for causes of this error for many hours and found nothing that helps me to solve this issue.
    Does anyone have any suggestions for me?

    Yes, I have verified that the Excel file is not in use or opened by anyone, including me. It has been two months since I opened this particular package, although I have been working with other packages in this project. I just discovered that another
    package in the same project has the same problem - all Data Flows that output to an Excel Destination now have the same error icons. This second packages outputs to an entirely different Excel file than in the first package.  A summay:
    Package #1 has error on every Excel Destination and uses templateA to overwrite fileA and then writes to fileA
    Package #2 has error on every Excel Desintation and uses templateB to overwrite fileB and then writes to fileB
    Package #3 has no error on any Excel Destination and is linked to multiple files (none are A or B)
    Package #1 and #2 are in the same project, but Package #3 is in a separate project .
    I will try replacing the Excel files with new ones for Package 1 and 2.

  • The exception Privileged instruction.

    Hello,
    I builded a dll which communicates with TDC card. But when I call dll from labview. It gives me the error
    The exception Privileged instruction.
    (0xc0000096) occured in the application at location 0x02e6121c.
    I have installed giveio driver.
    I am not getting where am I geeting wrong. Can somebody help me out.
    Regards,
    Maithili

    Maithili,
    It very much sounds like the error is in the DLL that you built. I assume that you have tested it outside of LabVIEW?
    Do you know exactly where the error is happening? You should set a breakpoint on the Call Library Function node and if the error happens before then, then the error is in LabVIEW. If the error happens during the Call Library Function, then the error is in the DLL itself. From there, you can print information from your DLL as you go to see where the crash is happening or use the information in the "Using External Code in LabVIEW" manual that is on your PC in the manuals directory under your LabVIEW directory.
    With no files (and no hardware to test if I had), I cannot offer any more advice. If you can do a little more digging or post a
    more detailed explaination of your issue, then the community can take another look.
    Randy Hoskin
    Applications Engineer
    National Instruments
    http://ww.ni.com/ask

  • In iOS 7 you can still make calls from the locked screen. Just swipe the missed call numbers to the right. Is this a bug?

    In iOS 7 you can still make calls from the locked screen. Just swipe the missed call numbers to the right. Is this a bug?

    How is it a security breach? You're free to turn off lock screen notifications for the phone app so that no one can do that.... even if they can, they can only call the number that called you... nothing else. (well, except for 900 or whatever the emergency services number is where you are, but that's required by law).

  • How should i solve the problem for the exception.

    <b>Web is below:</b>
    Error when processing your request
    <b>What has happened?</b>
    The URL http://xxxxxxx.xxxxx:xxxxxx/sap/bc/bsp/sap/xxxxxxx/result.htm was not called due to an error.
    <b>Note</b>
    The following error text was processed in the system D50 : The current application triggered a termination with a short dump.
    The error occurred on the application server sapcidev01_D50_00 and in the work process 1 .
    The termination type was: RABAX_STATE The ABAP call stack was:
    Form: DIALOG_CHECK of program CL_IMC_MODE===================CP
    Form: PREPARE_MODE of program CL_IMC_MODE===================CP
    Form: GET_MODE_BY_NAME of program CL_IMC_MODE===================CP
    Form: SEND_COMMAND of program CL_DV_IMC_CLIENT==============CP
    Form: PROCESS_COMMAND of program CL_DV_SDV=====================CP
    Form: DISP_DOC of program CL_DV_SDV=====================CP
    Form: DISP_AO_DOC of program CL_DV_SDV_AO==================CP
    Form: DISP_AO_DOCS of program CL_DV_SDV_AO==================CP
    Function: ALINK_DISPLAY_IMC of program SAPLALINK_DISPLAY_DOCUMENT
    Function: ARCHIVOBJECT_DISPLAY of program SAPLOPTA
    <b>What can I do?</b>
    If the termination type was RABAX_STATE, then you can find more information on the cause of the termination in the system D50 in transaction ST22.
    If the termination type was ABORT_MESSAGE_STATE, then you can find more information on the cause of the termination on the application server sapcidev01_D50_00 in transaction SM21.
    If the termination type was ERROR_MESSAGE_STATE, then you can search for more information in the trace file for the work process 1 in transaction ST11 on the application server sapcidev01_D50_00 . In some situations, you may also need to analyze the trace files of other work processes.
    If you do not yet have a user ID, contact your system administrator.
    Error code: ICF-IE-http -c: 151 -u: 117846 -l: E -s: D50 -i: sapcidev01_D50_00 -w: 1 -d: 20070320 -t: 062938 -v: RABAX_STATE -e: MESSAGE_TYPE_X
    HTTP 500 - Internal Server Error
    Your SAP Internet Communication Framework Team
    <b>Run ST22 and information is below:</b>
    Source Code Extract
    Line SourceCde
    1 METHOD DIALOG_CHECK.
    2 DATA: GUI_FLAG TYPE SY-BATCH.
    3
    4 * IMC NUR in Online-Modus ? (kein Batch und dunkle Batch-Input-Betrieb)
    5 IF GUI_IS_ON IS INITIAL.
    6 CALL FUNCTION 'RFC_IS_GUI_ON'
    7 EXPORTING
    8 LOGIN_CHECK = ' '
    9 IMPORTING
    10 ON = GUI_FLAG.
    11
    12 IF GUI_FLAG <> 'Y'.
    13 IF RABAX IS INITIAL.
    14 CLEAR EXISTS.
    15 ELSE.
    >>>>> MESSAGE X005(IMC).
    17 ENDIF.
    18 ELSE.
    19 GUI_IS_ON = 'Y'.
    20 EXISTS = 'X'.
    21 ENDIF.
    22 ELSE.
    23 EXISTS = 'X'.
    24 ENDIF.
    25
    26 ENDMETHOD.
    i can access the other bsp web.but this bsp application raises the exception. Who can help solve the problem?
    I appreciate your help.

    Is it SAP BSP application or custom?
    If its custom,check whether you are using any MESSAGE statements. Handle all the Exceptions from Class/Methods/Function module to avoid the Dump.
    Raja T

  • How to raise the exception in function module

    Dear abaper's.
                   I am creating a Function module .In that in' EXCEPTION' Tab i am giving
    3 exception .1.NO_DATA_FOUND 2.NO_PRINTER_FOUND 3.SMARTFORM_INTERFACE_NOT_FOUND.
    In my coding if this condtion matches i want to raise this exception.how can i do this in my coding .can any one suggest me..
    advance thanks,
    Warm regards,
    Veera

    Hi,
    if that condition is not satisfied,and u didn't handle that exception while calling function module then in the runtime error u will get the text as the description of the exception in function module definition.
    rgds,
    bharat.

Maybe you are looking for

  • Workflow problem - keeping keywords while importing into Lightroom

    I am working tethered to a laptop, and need to put in keywords for each product I shoot. I do this in LIghtroom, and drag those images to an external drive. Then, I take the hard drive to my office desktop Powermac, and import these into my LIghtroom

  • Changing skin tones with adjustment layer fails

    Hi, I am running PS CC 2014 and all I want to do is to adjust a skin tone to match it to the rest of the bodys skin color. I have watched some videos on YouTube but my PS doesnt seem to work that way and I wonder why. My workflow: Copy background lay

  • Photoshop CS5 64-Bit in the MacBook Pro

    My MacBook Pro came with the 64-Bit version of Photoshop CS5. Does the 32-Bit version work on the MacBook pro? And why can't the 64-Bit version use the "Import video frames to layers" function? Is there anyway to switch versions or make it so the 64-

  • Firefox will not start, have to reinstall firefox

    only happened to me after i switch to comcast and use norton anti virus.

  • How are users associated to service principals?

    Hello, I am trying to implement Kerberos authentication on a Windows machine and have trouble understanding how users are mapped to service principals. I understand that the ktpass or Setspn tools are used to associate a service principal to an Activ