There are some static methods which can be used within a process snippet to perform some context relevant functions, for e.g. processInstance() returns a ProcessInstanceData object of the  current process. processInstance().getStarter() returns process starter user id. There are some other methods, further information see here.

I work with IBM Process Server currently. I created a little business process calling different web services (created with HATS). These web services are running quite long. Well the transaction time out came earlier than the webservice call could be requested. Well, my process test failed. This is the (important) part of the error message:

0000000f TimeoutManage I   WTRN0006W: Die Transaktion 0000011A9ADC727A0000000100000292B159ED84FC3BD6C8097B775B9601EEEB6C727F2F0000011A9ADC727A0000000100000292B159ED84FC3BD6C8097B775B9601EEEB6C727F2F00000001 hat nach 120 Sekunden das Zeitlimit überschritten. (in english ‘has timed out after 120 seconds.’)
0000009d TranManagerIm I   WTRN0041I: Die Transaktion 0000011A9ADC727A0000000100000292B159ED84FC3BD6C8097B775B9601EEEB6C727F2F0000011A9ADC727A0000000100000292B159ED84FC3BD6C8097B775B9601EEEB6C727F2F00000001 wurde rückgängig gemacht. (in english ‘has been rolled back’)

To make it work I increased the Total transaction lifetime timeout. You will find this here:

servers -> Application servers -> [YOUR_SERVER maybe server1] -> Open Container Services -> Click to Transaction Service

transaction_service.jpg

You may also mark the correct checkbox to make the process long running.

I currently work with the IBM Process Server. I created a process using BPEL and wanted to test it. I got the stack trace below. The application can’t start because the Session EJB isn’t available. I enabled the function (projects menu) that automatically performs a rebuild, due to this I recognized (used unkown variables inside a java snippet) some errors. After I fixed these errors I could restart the application without an error, the the Session EJB for the process could be created.

“Clean often” if you work with Websphere Integration Developer is what I suggest. This is also mentioned here at this ‘Get started’ article from Websphere technical developer journal.

If you also work with IBM ProcessServer you may find these tutorials helpful: http://www.webagesolutions.com/knowledgebase/waskb/index.html

I’m glad to see some comments with helpful ‘BPEL with Websphere products’ Tutorials.

SystemErr R com.ibm.websphere.management.exception.AdminException: CWWBF0060E: Die Session-EJB component.Create_Something_1 für den Prozess konnte nicht gefunden werden.
at com.ibm.bpe.processarchive.ProcessServerTask.throwAdminException(ProcessServerTask.java:851)
at com.ibm.bpe.processarchive.SCDLProcessComponentConfigureTask.getBPELContext(SCDLProcessComponentConfigureTask.java:246)
at com.ibm.bpe.processarchive.SCDLProcessComponentConfigureTask.populateBpcDeploymentExtension(SCDLProcessComponentConfigureTask.java:675)
at com.ibm.bpe.processarchive.SCDLProcessComponentConfigureTask.performTask(SCDLProcessComponentConfigureTask.java:153)
at com.ibm.ws.management.application.SchedulerImpl.run(SchedulerImpl.java:253)
at java.lang.Thread.run(Thread.java:570)

[11.06.08 11:11:54:421 CEST] 0000007b SystemErr R at com.ibm.bpe.processarchive.ProcessServerTask.throwAdminException(ProcessServerTask.java:851)
[11.06.08 11:11:54:421 CEST] 0000007b SystemErr R at com.ibm.bpe.processarchive.SCDLProcessComponentConfigureTask.getBPELContext(SCDLProcessComponentConfigureTask.java:246)
[11.06.08 11:11:54:421 CEST] 0000007b SystemErr R at com.ibm.bpe.processarchive.SCDLProcessComponentConfigureTask.populateBpcDeploymentExtension(SCDLProcessComponentConfigureTask.java:675)
[11.06.08 11:11:54:421 CEST] 0000007b SystemErr R at com.ibm.bpe.processarchive.SCDLProcessComponentConfigureTask.performTask(SCDLProcessComponentConfigureTask.java:153)
[11.06.08 11:11:54:421 CEST] 0000007b SystemErr R at com.ibm.ws.management.application.SchedulerImpl.run(SchedulerImpl.java:253)
[11.06.08 11:11:54:421 CEST] 0000007b SystemErr R at java.lang.Thread.run(Thread.java:570)