Thread- PostUIMessage throws com_error Exceptions

We have developed a TestStand (4.2) OI including a tracelogger function. Code moduls (dll's coded in C++) used in sequences can send trace messages to the OI using the PostUIMessage function (see following code):
  try
    // Get the thread that is
executing from the Sequence Context  
    thread =
seqContext->GetThread();
    thread->PostUIMessage(
static_cast<enum
UIMessageCodes>(UIMsg_UserMessageBase+4)
,Level
                          ,_bstr_t(Msg)
,TRUE);
  catch( _com_error &com_error ) /* TestStand API only
throws this kind of exception */
It happens that every 10ms a message is send. In general this works well both when running the sequence in the sequence editor and in our OI. But after a time spawn of about 10 min to a few hours (depends on the frequency of the messages) the PostUIMessage throws a com_error Exception.
Remark: The code is declared as critical section to ensure it works in multi threaded environments too.
Does someone has an idea what might be the reason for these exceptions and how to avoid them?
Thanks in advance
Peter
Solved!
Go to Solution.

Mr.Doug,
              Thanks for the Valuable reply. I am sorry for my late reply.
I have applied the thread priorities to all threads and there is no change in CPU time ( No effect using multi threading concept). I would like to know in detail Mr.Doug..
My Problem :
                   1) Collecting data (which is a flaw location from plate) with the help of ultrasonic waves and its real time data, I am displaying the flaw location which is collected (using PCL 1751 cards) in the Graphical format. Here i am not getting the actual position of the flaw. Due to the time delay.
Solution implemented :
                   1) Implemeted multi thread concept but still facing the same issues.
Example:
Actual flaw position say : 120 MM (from plate)
First time when i execute my application it shows : 110 MM
Next time when i execute it shows as                    : 113 MM
Like this it varying every time.
Could you please help me out to sort this issue.
Thanks and Expecting the Solution....

Similar Messages

  • Thread pool throws reject exceptions even though the queue is not full

    Hi. I am using org.springframework.scheduling.concurrent.ThreadPo olTaskExecutor which is based on java
    java.util.concurrent.ThreadPoolExecutor
    with a enviornment under load.
    I see on some cases, that this thread pool throws tasks with reject exception
    even though the queue size is 0.
    According to the documentation, this thread pool should increase the pool size to core size and then wait untill all queue is full to create new threads.
    this is not what happends. for some reason the queue is not filled but exceptions are thrown.
    Any ideas why this can happen?

    This is the stack trace:
    taskExecutorStats-1 2010-04-27 11:01:43,324 ERROR [com.expand.expandview.infrastructure.task_executor] TaskExecutorController: RejectedExecutionException exception in thread: 18790970, failed on thread pool: [email protected]544f07, to run logic: com.expand.expandview.infrastructure.logics.DispatchLogicsProviderLogic
    org.springframework.core.task.TaskRejectedException: Executor [java.util.concurrent.ThreadPoolExecutor@dd9007] did not accept task: com.expand.expandview.infrastructure.task_executor.TaskExecuterController$1@141f728; nested exception is java.util.concurrent.RejectedExecutionException
         at org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor.execute(ThreadPoolTaskExecutor.java:305)
         at com.expand.expandview.infrastructure.task_executor.TaskExecuterController.operate(TaskExecuterController.java:68)
         at com.expand.expandview.infrastructure.proxies.DataProxy.callLogic(DataProxy.java:131)
         at com.expand.expandview.infrastructure.proxies.DataProxy.operate(DataProxy.java:109)
         at com.expand.expandview.infrastructure.logics.AbstractLogic.operate(AbstractLogic.java:455)
         at com.expand.expandview.server.app.logics.stats.StatsPersisterSingleChunkLogic.persistSlots(StatsPersisterSingleChunkLogic.java:362)
         at com.expand.expandview.server.app.logics.stats.StatsPersisterSingleChunkLogic.doLogic(StatsPersisterSingleChunkLogic.java:132)
         at com.expand.expandview.infrastructure.logics.AbstractLogic.execute(AbstractLogic.java:98)
         at com.expand.expandview.server.app.logics.ApplicationLogic.execute(ApplicationLogic.java:79)
         at com.expand.expandview.infrastructure.task_executor.TaskExecuterControllerDirect.operate(TaskExecuterControllerDirect.java:33)
         at com.expand.expandview.infrastructure.proxies.LogicProxy.service(LogicProxy.java:62)
         at com.expand.expandview.infrastructure.logics.AbstractLogic.service(AbstractLogic.java:477)
         at com.expand.expandview.server.app.logics.stats.StatsPersisterLogic.persist(StatsPersisterLogic.java:48)
         at com.expand.expandview.server.app.logics.stats.StatsPersisterLogic.doLogic(StatsPersisterLogic.java:19)
         at com.expand.expandview.infrastructure.logics.AbstractLogic.execute(AbstractLogic.java:98)
         at com.expand.expandview.server.app.logics.ApplicationLogic.execute(ApplicationLogic.java:79)
         at com.expand.expandview.infrastructure.task_executor.TaskExecuterController$1.run(TaskExecuterController.java:80)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
         at java.lang.Thread.run(Thread.java:619)
    Caused by: java.util.concurrent.RejectedExecutionException
         at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:1760)
         at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767)
         at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:658)
         at org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor.execute(ThreadPoolTaskExecutor.java:302)
         ... 19 more

  • Is it possible to throw an exception from run method of a thread?

    Is it possible to throw an exception from "run method of a thread"(implemented as runnable implementation)?
    Is it advisable to do so?

    Is it possible to throw an exception from "run method
    of a thread"(implemented as runnable
    implementation)?Yes, an unchecked one. Runtime exceptions.
    Is it advisable to do so?If you mess up it happens automatically. But basically: no.

  • Export with BiarEngine.jar works, using the API it throws an exception

    Hello,
    I'm using BiarEngine.jar to export from my CMS. it works fine.
    Now I want to use the API to get someting more handy, but I receive an exception (NoSuchFieldError) as if I had a mismatch between versions.
    I'm stuck with it, if somebody has an idea...
    Thanks a lot.
    Alain
    Here is the java code:
    IExportOptions oExportOptions = BIARFactory.getFactory().createExportOptions();
    oExportOptions.setIncludeSecurity(false);
    oExportOptions.setIncludeDependencies(true);
    oExportOptions.setCallback(
         new IExportCallback()
              public void onSuccess(int id)      {...}
              public void onFailure(int id, BIARException biarException) {...};
    BIAROutput oBIAROutput = new BIAROutput( oEntrepriseSession, "c:\myFile.biar", exportOptions );
    At this point it throws the exception:
    Exception in thread "main" java.lang.NoSuchFieldError: SI_MODELCUID_SET
         at com.businessobjects.sdk.plugin.desktop.deltastore.internal.DeltaStore.setupProperties(DeltaStore.java:188)
         at com.businessobjects.sdk.plugin.desktop.deltastore.internal.DeltaStore.unpack(DeltaStore.java:37)
         at com.crystaldecisions.sdk.occa.infostore.internal.al.continueUnpack(Unknown Source)
         at com.crystaldecisions.sdk.occa.infostore.internal.al.startUnpack(Unknown Source)
         at com.crystaldecisions.sdk.occa.infostore.internal.InternalInfoStore.queryHelper(Unknown Source)
         at com.crystaldecisions.sdk.occa.infostore.internal.InternalInfoStore.query(Unknown Source)
         at com.crystaldecisions.sdk.occa.infostore.internal.at.query(Unknown Source)
         at com.businessobjects.sdk.biar.internal.XSDManager$RepositoryXSD.retrieveXSDVersions(XSDManager.java:204)
         at com.businessobjects.sdk.biar.internal.XSDManager$RepositoryXSD.<init>(XSDManager.java:194)
         at com.businessobjects.sdk.biar.internal.XSDManager$XSDCache.getXSD(XSDManager.java:365)
         at com.businessobjects.sdk.biar.internal.XSDManager.<init>(XSDManager.java:55)
         at com.businessobjects.sdk.biar.BIAROutput.<init>(BIAROutput.java:73)

    >
    Just need to confirm if the ANT script can be run against individual OSB project than OSB configuration project?
    >
    It is possible. I'm going the same way here. However, I remember I needed to contact support because it was not a standard feature of the Ant task. They provided me with the patch that allowed me to use -configSubProjects parameter in export.
    >
    Can we have multiple OSB configuration projects on the OSB server ?
    >
    I don't think so.

  • ADT command line errors (java throws an exception)

    I'll spare you the frustration of these past 24 hours, needless to say I've read most (if not all) of the threads related to compiling a swf into a ipa.  As it is, I'm very close and can't seem to get it to compile.
    On a Mac: the CMD line I am running is this:
    ./adt -package -target ipa-test -storetype pkcs12 -keystore  Certificates.p12 -storepass *P*A*S*S*W*O*R*D*  -provisioning-profile Team_Provisioning_Profile_.mobileprovision APPNAME.ipa  APPNAME-app.xml -C /Applications/Adobe\ AIR\ SDK\ 2.6/bin/ APPNAME.swf -C /Applications/Adobe\ AIR\ SDK\ 2.6/bin/AppIconsForPublish/ . -C /Applications/Adobe\ AIR\ SDK\ 2.6/bin/ Default.png
    The APPNAME-app.xml file is as follows:
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <application xmlns="http://ns.adobe.com/air/application/2.0">
        <id>APPNAME</id>
        <version>1.0</version>
        <filename>APPNAME</filename>
        <description>test build of the app</description>
        <!-- To localize the description, use the following format for the description element.
        <description>
            <text xml:lang="en">English App description goes here</text>
            <text xml:lang="fr">French App description goes here</text>
            <text xml:lang="ja">Japanese App description goes here</text>
        </description>
        -->
        <name>APPNAME</name>
        <!-- To localize the name, use the following format for the name element.
        <name>
            <text xml:lang="en">English App name goes here</text>
            <text xml:lang="fr">French App name goes here</text>
            <text xml:lang="ja">Japanese App name goes here</text>
        </name>
        -->
        <copyright></copyright>
        <initialWindow>
            <content>APPNAME.swf</content>
            <systemChrome>standard</systemChrome>
            <transparent>false</transparent>
            <visible>true</visible>
            <fullScreen>false</fullScreen>
            <autoOrients>false</autoOrients>
            <aspectRatio>portrait</aspectRatio>
            <renderMode>auto</renderMode>
        </initialWindow>
        <customUpdateUI>false</customUpdateUI>
        <allowBrowserInvocation>false</allowBrowserInvocation>
        <icon>
            <image512x512>AIRApp_512.png</image512x512>
            <image48x48>AIRApp_48.png</image48x48>
            <image57x57>AIRApp_57.png</image57x57>
            <image72x72>AIRApp_72.png</image72x72>   
        </icon>
    <iPhone><InfoAdditions><![CDATA[<key>UIDeviceFamily</key><array><string>1</string></array> ]]></InfoAdditions></iPhone></application>
    The java OS error it is throwing (on my Mac OS X 10.7.6):
    Exception in thread "main" java.lang.Error: Unable to find named traits: spark.components::Application
        at adobe.abc.Domain.resolveTypeName(Domain.java:225)
        at adobe.abc.Domain.resolveTypeName(Domain.java:142)
        at adobe.abc.GlobalOptimizer$InputAbc.resolveTypeName(GlobalOptimizer.java:272)
        at adobe.abc.GlobalOptimizer$InputAbc.readInstance(GlobalOptimizer.java:936)
        at adobe.abc.GlobalOptimizer$InputAbc.readAbc(GlobalOptimizer.java:390)
        at adobe.abc.GlobalOptimizer$InputAbc.readAbc(GlobalOptimizer.java:278)
        at adobe.abc.LLVMEmitter.generateBitcode(LLVMEmitter.java:194)
        at com.adobe.air.ipa.AOTCompiler.convertAbcToLlvmBitcode(AOTCompiler.java:350)
        at com.adobe.air.ipa.AOTCompiler.GenerateMacBinary(AOTCompiler.java:680)
        at com.adobe.air.ipa.IPAOutputStream.compileRootSwf(IPAOutputStream.java:216)
        at com.adobe.air.ipa.IPAOutputStream.finalizeSig(IPAOutputStream.java:411)
        at com.adobe.air.ApplicationPackager.createPackage(ApplicationPackager.java:87)
        at com.adobe.air.ipa.IPAPackager.createPackage(IPAPackager.java:163)
        at com.adobe.air.ADT.parseArgsAndGo(ADT.java:504)
        at com.adobe.air.ADT.run(ADT.java:361)
        at com.adobe.air.ADT.main(ADT.java:411)
    The version of Java that I'm running is:
    java version "1.6.0_24"
    Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-10M3326)
    Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode)
    For the life of me, I can't figure out what / why this is throwing an exception.  Having battled through the missing icon 303 errors and getting to what I think is the final issue, please... can anyone debug why the SWF is not compiling?

    Tried a variation of the above CMD line:
    ./adt -package -target ipa-test -storetype pkcs12 -keystore  Certificates.p12 -storepass PASSWORD  -provisioning-profile Team_Provisioning_Profile_.mobileprovision APPNAME.ipa  APPNAME-app.xml -C /Applications/Adobe\ AIR\ SDK\ 2.6/bin/ APPNAME.swf Default.png AppIconsForPublish
    Still threw an error:
    Exception in thread "main" java.lang.Error: Unable to find named traits: spark.components::Application
        at adobe.abc.Domain.resolveTypeName(Domain.java:225)
        at adobe.abc.Domain.resolveTypeName(Domain.java:142)
        at adobe.abc.GlobalOptimizer$InputAbc.resolveTypeName(GlobalOptimizer.java:272)
        at adobe.abc.GlobalOptimizer$InputAbc.readInstance(GlobalOptimizer.java:936)
        at adobe.abc.GlobalOptimizer$InputAbc.readAbc(GlobalOptimizer.java:390)
        at adobe.abc.GlobalOptimizer$InputAbc.readAbc(GlobalOptimizer.java:278)
        at adobe.abc.LLVMEmitter.generateBitcode(LLVMEmitter.java:194)
        at com.adobe.air.ipa.AOTCompiler.convertAbcToLlvmBitcode(AOTCompiler.java:350)
        at com.adobe.air.ipa.AOTCompiler.GenerateMacBinary(AOTCompiler.java:680)
        at com.adobe.air.ipa.IPAOutputStream.compileRootSwf(IPAOutputStream.java:216)
        at com.adobe.air.ipa.IPAOutputStream.finalizeSig(IPAOutputStream.java:411)
        at com.adobe.air.ApplicationPackager.createPackage(ApplicationPackager.java:87)
        at com.adobe.air.ipa.IPAPackager.createPackage(IPAPackager.java:163)
        at com.adobe.air.ADT.parseArgsAndGo(ADT.java:504)
        at com.adobe.air.ADT.run(ADT.java:361)
        at com.adobe.air.ADT.main(ADT.java:411)
    Different, but the same... no success

  • I dont want to throw an exception !!

    Hi,
              I have a stateless session bean, that in turn calls BMP entity bean. The
              transaction attribute for session bean is Required and that of entity bean
              is Supports.
              Now if some database error occurs, I want to catch that exception in the
              stateless bean, and dont want to rethrow it. How can I do it. Weblogic still
              throws the exception.
              The code of session bean looks something like this :
              try
              // Call entity bean
              catch (Exception e)
              // Dont do anything !!
              on the client program, that calls the session bean, am getting this
              exception :
              java.rmi.UnexpectedException: Unexpected exception in
              src.com.etouch.scheduler.stateless.schedulerapi.impl.SchedulerApiBean.create
              Schedule():
              javax.transaction.SystemException: Transaction not active
              at weblogic.jts.internal.TxContext.commit(TxContext.java:251)
              at
              weblogic.ejb.internal.StatelessEJBObject.postInvokeOurTx(StatelessEJBObject.
              java:88)
              at weblogic.ejb.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:758)
              at
              src.com.etouch.scheduler.stateless.schedulerapi.impl.SchedulerApiBeanEOImpl.
              createSchedule(SchedulerApiBeanEOImpl.java:62)
              at
              src.com.etouch.scheduler.stateless.schedulerapi.impl.SchedulerApiBeanEOImpl_
              WLSkel.invoke(SchedulerApiBeanEOImpl_WLSkel.java:88)
              at
              weblogic.rmi.extensions.BasicServerObjectAdapter.invoke(BasicServerObjectAda
              pter.java, Compiled Code)
              at
              weblogic.rmi.extensions.BasicRequestHandler.handleRequest(BasicRequestHandle
              r.java:77)
              at
              weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:1
              5)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
              ; nested exception is:
              javax.transaction.SystemException: Transaction not active
              javax.transaction.SystemException: Transaction not active
              Exception in thread "main" Process Exit...
              What am I doing wrong here ? The idea is, I dont want the client to know
              about this error.
              Thanks
              Amit
              

    Amit,
              I believe that what is actually happening here is that the transaction is
              not actually being rolled back until the session bean method, which is
              participating in the transaction, is completing. I too am having this
              problem and currently have not found a solution short of adding an extra
              layer which is not an option. You also appear to be having another problem
              with the transaction upon which I cannot comment.
              Any help would be greatly appreciated.
              Regards
              Conrad Rowlands
              Callards Technology.
              "Amit" <[email protected]> wrote in message
              news:[email protected]...
              > Hi,
              > I have a stateless session bean, that in turn calls BMP entity bean. The
              > transaction attribute for session bean is Required and that of entity bean
              > is Supports.
              > Now if some database error occurs, I want to catch that exception in the
              > stateless bean, and dont want to rethrow it. How can I do it. Weblogic
              still
              > throws the exception.
              > The code of session bean looks something like this :
              > try
              > {
              > // Call entity bean
              > }
              > catch (Exception e)
              > {
              > // Dont do anything !!
              > }
              >
              > on the client program, that calls the session bean, am getting this
              > exception :
              >
              > java.rmi.UnexpectedException: Unexpected exception in
              >
              src.com.etouch.scheduler.stateless.schedulerapi.impl.SchedulerApiBean.create
              > Schedule():
              > javax.transaction.SystemException: Transaction not active
              > at weblogic.jts.internal.TxContext.commit(TxContext.java:251)
              > at
              >
              weblogic.ejb.internal.StatelessEJBObject.postInvokeOurTx(StatelessEJBObject.
              > java:88)
              > at weblogic.ejb.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:758)
              > at
              >
              src.com.etouch.scheduler.stateless.schedulerapi.impl.SchedulerApiBeanEOImpl.
              > createSchedule(SchedulerApiBeanEOImpl.java:62)
              > at
              >
              src.com.etouch.scheduler.stateless.schedulerapi.impl.SchedulerApiBeanEOImpl_
              > WLSkel.invoke(SchedulerApiBeanEOImpl_WLSkel.java:88)
              > at
              >
              weblogic.rmi.extensions.BasicServerObjectAdapter.invoke(BasicServerObjectAda
              > pter.java, Compiled Code)
              > at
              >
              weblogic.rmi.extensions.BasicRequestHandler.handleRequest(BasicRequestHandle
              > r.java:77)
              > at
              >
              weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:1
              > 5)
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
              > ; nested exception is:
              > javax.transaction.SystemException: Transaction not active
              > javax.transaction.SystemException: Transaction not active
              > Exception in thread "main" Process Exit...
              >
              >
              > What am I doing wrong here ? The idea is, I dont want the client to know
              > about this error.
              > Thanks
              >
              > Amit
              >
              >
              >
              

  • Thread Max priority causing Exception

    Hello All, (again)
    I have written a multithreaded component that is used to access a database and return resultsets.
    The way it currently works is main (request thread) contacts a group of 5 threads, notifies them all and they begin executing their own run(). (currently I have simply hardcoded each of there run()) after starting these threads or waking these threads main goes off to an infinate loop where it simply checks a long short circuit if statement. (I know I would be better off to wait/notify main I just haven't got there yet.) While main is looping the pther 5 threads open their connections to the DB and begin extracting info. This runs completely fine as long as the 5 threads priority are left at normal. However when I set the 5 threads priority to Max I periodicly throw an Exception. The stackTrace from the exception is as follows.
    java.sql.SQLException: General error
    at sun.jdbc.odbc.JdbcOdbc.throwGenericSQLException(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbc.SQLFreeEnv(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbcDriver.closeConnection(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbcConnection.close(Unknown Source)
    at seedsBE.DBAccesor.closeConnection(DBAccesor.java:62)
    at seedsMW.FilterThread.run(FilterThread.java:31)
    (Sorry dont know how to use the format tags.)
    I have tested this several times and it appears that this only happens when I increase the 5 threads priority to max. What or How or is this priority change causeing this error? Is it garbage collection/out of memory issue?
    FYI Currently the code is executing on a single processor machine.
    Thanks in advance
    B.
    P.S.How do you get more Duke dollars? Sees as how I always ask more questions than I answer.

    "Sounds like you're maybe sharing one JDBC resource among multiple threads, and having a race condition. You'll need to let each thread have their own resources (connection, statement, etc) or properly synchronize access to them to not step on each others' toes (closing in one thread while another is using it, etc). "
    I have tried to seperate all the components needed for db comunication to where each individual thread has its own DB connection and likes. I do not believe that any of my code above the jdbc share anything. I also assume that since each thread has its own data base connection I could exceed the database number of connections. But I am not aware that trying to open more connection than possible might cause a problem. I am operating under the assumtion that the oracle connection pool would work magically and handle this for me.
    Currently i am only using these 5 threads to contact the data base and I can still throw this exception when threads are at max priority. I did a small stress test and ran 35 threads at once against the connection and this worked fine as long as the threads where norm priority. So I am not thinking that it is a number of connection issue.
    Someone above told me to look at the api and try to squeeze out as much info from the exception I can. I am going to look into that now. But all other help and comments are appreciated. I also need to think about syncing these methods but I am not sure, yet, how that can help me since each method is simply using its own run()
    Thanks all

  • Why the run() method of Thread cannot throw InterruptedException ?

    Hi,
    Why the compiler complains that it cannot throw any exceptions. How to override this kind of behavior ?
    regards
    Anto Paul

    This is the code I used.
    class Test extends Thread
         public static void main(String[] args)
              Test one = new Test();
              one.start();
         public void run() throws InterruptedException{
              System.out.println("Thread started");
              sleep(1000);
              System.out.println("Woke up");
    the compiler says
    Test.java:8: run() in Test cannot override run() in java.lang.Thread; overridden method does not throw java.lang.InterruptedException
         public void run() throws InterruptedException{
    ^
    1 error

  • Office 365 Sandbox Solution EventReceiver throwing Remote Exception in ItemAdding

    Hi,
    I created a sandbox webpart for O365 with EventReceivers with ItemAdding for Document Library and while i upload a document to library in O365  sharepoint site application throws below exception:-
    System.Runtime.Remoting.RemotingException: Server encountered an internal error. For more information, turn off customErrors in the server's .config file.
    Server stack trace: 
    Exception rethrown at [0]: 
       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       at Microsoft.SharePoint.Administration.ISPUserCodeExecutionHostProxy.Execute(Type us
    Same code works perfectly on my Development machine, Please help. Below is the Code
    base.EventFiringEnabled = false;
    bool isFile = (properties.AfterProperties["vti_filesize"] != null);
    if (isFile == true)                   
    SPWeb currentWeb = properties.OpenWeb();
    // Get foldername from url like Document/EC10001/filename.txt                       
    string folderName = properties.AfterUrl.Split(new char[] { '/' })[1];
    SPList spList = currentWeb.Lists[properties.List.ID];                       
    SPQuery spQuery = new SPQuery();                       
    spQuery.Query = "<OrderBy><FieldRef Name='Modified' Ascending='FALSE'/></OrderBy>";
    //Getting the folder object from the list                       
    SPFolder folder = spList.RootFolder.SubFolders[folderName];
    //Set the Folder property                       
    spQuery.Folder = folder;
    int fileSequenceId = 0;                      
    SPListItemCollection items = spList.GetItems(spQuery);
    if (items.Count > 0)                       
    string documentID = items[0]["DocumentID"] != null ? items[0]["DocumentID"].ToString() : string.Empty;
    if (!string.IsNullOrEmpty(documentID))                           
    string splitNumber = documentID.Split(new char[] { '-' })[1];                               
    fileSequenceId = Convert.ToInt32(splitNumber) + 1;                           
    else                           
    properties.ErrorMessage = "Unable to generate Document Id";                               
    properties.Cancel = true;                           
    else                       
    fileSequenceId = 1;                       
    // Set DocumentID like EC10001-001                       
    properties.AfterProperties["DocumentID"] = folderName + "-" + fileSequenceId.ToString(ConstantsList(currentWeb, "DocumentID"));      
    // Retrive "EEC000" string from Constant List               
    properties.AfterProperties["vti_title"] = folderName + "-" + fileSequenceId.ToString(ConstantsList(currentWeb, "DocumentID"));   
    // Retrive "EEC000" string from Constant List                
    base.EventFiringEnabled = true;
    Thanks,
    Pranay Chandra Sapa

    Hi,
    According to your description, my understanding is that when you upload document in Office 365 site, the event receiver in sandbox solution throws error.
    Per my knowledge, if you want to use event receiver in Office 365 environment, you need to use remote event receiver instead the normal event receiver in an app.
    Here are some detailed articles for your reference:
    Create a remote event receiver in apps for SharePoint
    Handle events in apps for SharePoint
    Thanks
    Best Regards
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • Throwing an exception from XSLT

    Just wanted to share a finding with the Oracle XDB community and possibly suggest an enhancement to the xdb product development team (care of MDRAKE).
    I had a scenario where I wanted to throw an exception from the XSLT.
    A little Googling revealed this helpful post:
    http://weblogs.asp.net/george_v_reilly/archive/2006/03/01/439402.aspx
    ...so I gave it a shot.
    In my XSLT, I have a <xsl:choose> block with the following <xsl:otherwise> block:
    <xsl:otherwise>
        <xsl:message terminate="yes">Unknown Document Type</xsl:message>                          
    </xsl:otherwise>I used a stub test to run this through, giving it a file which would exercise the exception:
    select xmltype(bfilename('XML_RESOURCES', 'data.xml'),0).transform(xmltype(bfilename('XML_RESOURCES', 'sanitize_xml.dev.xsl'),0))
    from dual;..and to my 'joy', I did get an exception:
    ORA-30998: transformation error: execution of compiled XSLT on XML DOM failedHmm...would of been nicer to get something like what Eclipse/Xalan pops out:
    file:/H:/eclipse_indigo_workspace/XSLT/sanitize_xml.xsl; Line #28; Column #59; Unknown Document Type
    (Location of error unknown)Stylesheet directed termination...i.e. my custom error message "Unknown Document Type" isn't output by Oracle.
    Just to be safe, I tried a file which would NOT exercise this xsl:otherwise block and it did run through OK.
    So, could XDB report a better error?
    Thoughts?

    SQL> VAR XSL VARCHAR2(4000)
    SQL> --
    SQL> begin
      2    :XSL :=
      3  '<?xml version="1.0" encoding="UTF-8"?>
      4  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      5     <xsl:output method="xml" indent="yes"/>
      6     <xsl:template match="/">
      7             <Result>
      8                     <xsl:choose>
      9                             <xsl:when test="Input=''1''">
    10                                     <Output>1</Output>
    11                             </xsl:when>
    12                             <xsl:when test="Input=''2''">
    13                                     <xsl:message>The value is 2</xsl:message>
    14                                     <Output>2</Output>
    15                             </xsl:when>
    16                             <xsl:when test="Input=''3''">
    17                                     <xsl:message terminate="no">The value is 3</xsl:message>
    18                                     <Output>3</Output>
    19                             </xsl:when>
    20                             <xsl:otherwise>
    21                                     <xsl:message terminate="yes">Invalid value</xsl:message>
    22                                     <Output>Bad Input</Output>
    23                             </xsl:otherwise>
    24                     </xsl:choose>
    25             </Result>
    26     </xsl:template>
    27  </xsl:stylesheet>';
    28  end;
    29  /
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.00
    SQL> select XMLTRANSFORM(XMLTYPE('<Input>1</Input>'),XMLTYPE(:XSL))
      2    from dual
      3  /
    <?xml version="1.0" encoding="WINDOWS-1252"?>
    <Result>
      <Output>1</Output>
    </Re
    Elapsed: 00:00:00.01
    SQL> select XMLTRANSFORM(XMLTYPE('<Input>2</Input>'),XMLTYPE(:XSL))
      2    from dual
      3  /
    <?xml version="1.0" encoding="WINDOWS-1252"?>
    <Result>
      <Output>2</Output>
    </Re
    Elapsed: 00:00:00.00
    SQL> select XMLTRANSFORM(XMLTYPE('<Input>3</Input>'),XMLTYPE(:XSL))
      2    from dual
      3  /
    <?xml version="1.0" encoding="WINDOWS-1252"?>
    <Result>
      <Output>3</Output>
    </Re
    Elapsed: 00:00:00.01
    SQL> select XMLTRANSFORM(XMLTYPE('<Input>4</Input>'),XMLTYPE(:XSL))
      2    from dual
      3  /
    ERROR:
    ORA-30998: transformation error: execution of compiled XSLT on XML DOM failed
    no rows selected
    Elapsed: 00:00:00.01
    SQL>
    SQL>The actuall error is not unreasonalbe. The Execution did fail beacuse you terminated it.. Contacting Oralce Support may be a little excessive...
    Now with respect to message the question is where...
    We 'could' output into the same buffer as is used by DBMS_OUTPUT, but that has limits in terms of the amount of output that can be generated.
    We could write it to the trace file, but that may be difficulat for a developer to get to
    We could write it to a log file in the XDB repository, but where and how to name it...
    We could another parameter to XMLTransform, which would be a Message Buffer
    All of these are in effect enhancements..
    BTW I checked with XML Spy and they seem to ignore message too, so I'm wondering how widely used this is...
    We cannot add it to the output of the XSL since XMLTransform defines the output of the XML to be well formed XML, and adding a random set of text nodes would viloate that rule..

  • Ant throws the exception when builds B2B

    Hi,
    Ant throws the exception:
    default.application.xml:
        [style] Processing D:B2B_DEVsap_earmeta-inf.b2bapplication.xml to D:B2B
    _DEVproject_earmeta-inf.b2b_devMETA-INFapplication.xml
        [style] Loading stylesheet D:B2B_DEVbintemplatesapplication.xsl
        [style] Failed to process D:B2B_DEVsap_earmeta-inf.b2bapplication.xml
    BUILD FAILED
    D:B2B_DEVbinbuild.xml:113: The following error occurred while executing this
    line:
    D:B2B_DEVprojectbuildmodification.xml:102: The following error occurred while
    executing this line:
    D:B2B_DEVbinearbuilder.xml:78: The following error occurred while executing t
    his line:
    D:B2B_DEVbinearbuilder.xml:16: javax.xml.transform.TransformerConfigurationEx
    ception: Could not load stylesheet. org.w3c.dom.DOMException: Prefix is 'xmlns',
    but URI is not 'http://www.w3.org/2000/xmlns/' in the qualified name, 'xmlns:xs
    l'
    How to fix it?
    The configuration is MS Windows XP SP2, MS SQL Server 2000 Developer Edition SP4, SAP Web AS 6.40 SP18, Apache Ant 1.6.5, Build Tool, j2sdk1.4.2_07.
    Any help will be appreciated.
    Regards,
    Roman Babkin

    Hi,
    have you tried to urlencode the hash char?
    Might be interesting as well if the problem also occours when you point to a local script in your url. The script should then contain a static link to your xml file.
    cheers,
    jossif

  • Ant throws the exception when builds B2B (E-selling of CRM-ISA)

    Hi,
    Ant throws the exception:
    default.application.xml:
        [style] Processing D:B2B_DEVsap_earmeta-inf.b2bapplication.xml to D:B2B
    _DEVproject_earmeta-inf.b2b_devMETA-INFapplication.xml
        [style] Loading stylesheet D:B2B_DEVbintemplatesapplication.xsl
        [style] Failed to process D:B2B_DEVsap_earmeta-inf.b2bapplication.xml
    BUILD FAILED
    D:B2B_DEVbinbuild.xml:113: The following error occurred while executing this
    line:
    D:B2B_DEVprojectbuildmodification.xml:102: The following error occurred while
    executing this line:
    D:B2B_DEVbinearbuilder.xml:78: The following error occurred while executing t
    his line:
    D:B2B_DEVbinearbuilder.xml:16: javax.xml.transform.TransformerConfigurationEx
    ception: Could not load stylesheet. org.w3c.dom.DOMException: Prefix is 'xmlns',
    but URI is not 'http://www.w3.org/2000/xmlns/' in the qualified name, 'xmlns:xs
    l'
    How to fix it?
    The configuration is MS Windows XP SP2, MS SQL Server 2000 Developer Edition SP2, SAP Web AS 6.40 SP18, Apache Ant 1.6.5, Build Tool.
    Any help will be appreciated.
    Regards,
    Roman Babkin

    Hi,
    Ant throws the exception:
    default.application.xml:
        [style] Processing D:B2B_DEVsap_earmeta-inf.b2bapplication.xml to D:B2B
    _DEVproject_earmeta-inf.b2b_devMETA-INFapplication.xml
        [style] Loading stylesheet D:B2B_DEVbintemplatesapplication.xsl
        [style] Failed to process D:B2B_DEVsap_earmeta-inf.b2bapplication.xml
    BUILD FAILED
    D:B2B_DEVbinbuild.xml:113: The following error occurred while executing this
    line:
    D:B2B_DEVprojectbuildmodification.xml:102: The following error occurred while
    executing this line:
    D:B2B_DEVbinearbuilder.xml:78: The following error occurred while executing t
    his line:
    D:B2B_DEVbinearbuilder.xml:16: javax.xml.transform.TransformerConfigurationEx
    ception: Could not load stylesheet. org.w3c.dom.DOMException: Prefix is 'xmlns',
    but URI is not 'http://www.w3.org/2000/xmlns/' in the qualified name, 'xmlns:xs
    l'
    How to fix it?
    The configuration is MS Windows XP SP2, MS SQL Server 2000 Developer Edition SP2, SAP Web AS 6.40 SP18, Apache Ant 1.6.5, Build Tool.
    Any help will be appreciated.
    Regards,
    Roman Babkin

  • Throw Soap Exception in BPM.

    Hi All,
    My scenario is Soap->XI->BPM->RFC. I get a soap request in synchronous way with Request and Response messages I Map my request to a RFC and If there's any application error or mapping error I have to send SOAP fault exception to my Soap Sending system. But I don't see any option in BPM to throw soap exception only thing I can do is to map my errors in the soap response and send it to soap sender.
    But my Soap sending system needs soap fault not a response message when any errors happen.
    Please let me know if anybody has this same situation and how to handle it.
    Thanks in Advance,
    SP.

    Hi VJ,
    I have to use BPM as I am doing other stuff in my BPM. In my BPM I am catching mapping exception and then I have to send this to Soap Sender in SOAP fault message and in abstract interfaces we don't have option to give fault message types. Also, I am using S/A bridge and I have to close the brige in order to send some response to Soap Sender.
    Is it possible to send soap fault when we close the S/A brige by send step.
    Thanks,
    SP.

  • How to Throw/Catch Exceptions in BPM

    Hi All,
    I've seen a couple articles that talk about how to Throw/Catch an execption in a BPM. My question has two parts:
    1) RFC Call: I was able to catch an Fault Message in an exception step when calling an RFC (Synchronous Interface). What I wanted to do is use the fault message (exception) and store it in a DB for later review.
    2) IDOC: I'm sending an IDOC to R3 from a BPM. The send step is enclosed in a block w/ an exception. The send step is throwing an error (IDOC adpater system error), but the exception is never thrown. My question is: when the error occurrs at the adapter level does it still throw an exception in a BPM?
    Thanks for any tip/advice/anything!
    Fernando.

    Hi Fernando,
    1) Define a send step in the exception branch.
    2) If u send a IDoc from R/3 to XI and the IDoc adapter is running to an error of course there cant be an exception in ur business process. Usually the IDoc adapter sends back status back up via ALEAUD. In case of success IDoc should have then '03', if the adapter cannot send anything the IDoc should remain at '39'. U should send a ALEAUD in case of exception of BPM switching to status '40', in case of success to '41'.
    Regards, Udo

  • Throwing Runtime Exceptions from BPM. How?

    Hi !
    I want to make appear a red flag in the SXMB_MONI as a result of a custom condition inside a BPM. I tried with the control step, but it makes no "red flag".
    Should I make a transform step between 2 dummy message types with a UDF that throws the runtime exception there?? is there another way ?? We want a red flag as a result of a expired deadline while waiting a file adapter transport acknowledgement.
    Thanks !!
    Matias.

    Matias,
    As you said before you want the BPM to be errored out if it reach the deadline, am I right. In control step if u say cancel process it equivalent to logically deleting the work items, so obviously you will get an succesfull message. What I suggest you to do is in  Deadline branch - control branch select throw exception. The exception name has to be defined in Block level. So if you throw an exception it will look for the exception branch in the same block level if not the higher(super)block level, if it couldn't find the exception branch it will run out to error. Actually the exception branch is used to catch that exception and continue the rest of the process, so i think there is no need for defining the exception branch itself.
    Hope it helps you!!!
    Best regards,
    raj.

Maybe you are looking for