Posts

Showing posts from August, 2007

How to limit the performance of the BPEL File Adapter

Applies to: Oracle(R) BPEL Process Manager - Version: 10.1.2 to 10.1.3 Information in this document applies to any platform. Goal How can you limit the number of files a file adapter processes at a time? Can you process one file after another? Solution For async processes, the number of BPEL worker threads will limit the number of concurrent instances. For example, if there are 2000 files in a directory to be processed by the file / ftp adapter then no more than instances will be executing concurrently. As you can limit the number of threads available to all processes in a BPEL domain with the dspMaxThreads parameter, should you wish to therefore only process a low number of files at a time you can deploy that file adapter process to it's own domain and limit the number of threads within that domain. By using multiple domains, the sum of the dspMaxThreads settings for all domains must not exceed the MDB J2EE listener threads setting. These are further settings are discussed at le

How to purge BPEL process instances manually?

Oracle(R) BPEL Process Manager - Version: 10.1.2.0.2 Information in this document applies to any platform. Goal How to purge BPEL process instances manually? Solution Please follow the steps below to purge BPEL instances. 1. Make a back up of your dehydration store. 2. Create the script purge_instances.sql : Create or Replace procedure purge_instances( p_older_than in timestamp) as cursor c_cube_instance(p_date timestamp) is select cikey from cube_instance where state >= 5 and modify_date < p_date; cursor c_invoke_message(p_date timestamp) is select message_guid from invoke_message where state > 1 and receive_date < p_date; cursor c_dlv_message(p_date timestamp) is select message_guid from dlv_message where state > 1 and receive_date < p_date; begin -- Delete all closed instances older than specified date -- for r_cube_instance in c_cube_instance(p_older_than) loop collaxa.delete_ci( r

Process Instances Do Not Appear In The BPEL Console - Timeout Errors

Oracle(R) BPEL Process Manager - Version: 10.1.2 to 10.1.3 This problem can occur on any platform. Symptoms New BPEL process instances are not visible in the BPELConsole. However, Instance activity can be seen in the domain.log. Additionally you may see transaction timeout errors in the Domain.log Cause At the application server J2EE layer, the JTA transaction timeout is less than the time it takes to perform an activity. The recommended JTA transaction timeout value should be increased to the total time of the sync activity or exec activity, then add 2-3 minutes. Solution To implement the solution, please execute the following steps: 1. Within the J2EE application container level, increase the JTA transaction timeout value to the expected total time of a sync activity or exec activity, then add 2-3 minutes. 2. Restart the container and retest. If using OAS, this is configured via the iasconsole > midtier:instance > OC4J:instance > config > server.xml > transaction-confi

Database Adapter and Bpel Process Manager run out of Database Connections

Oracle(R) BPEL Process Manager - Version: 10.1.2.0.2 Symptoms The problem manifests itself by the database adapter and BPEL running out of database connections. New connections cannot be established. The following error might occur as a side effect: Database Adapter::Inbound oracle.tip.adapter.db.InboundWork runOnce Exception during polling of the database ORABPEL-11624 DBActivationSpec Polling Exception. Query name: [ClarifyPollingProdService], Descriptor name: [ServiceRequestAutomation.TableCase]. Polling the database for events failed on this iteration. If the cause is something like a database being down successful polling will resume once conditions change. Caused by Exception [TOPLINK-4002] (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)): oracle.toplink.exceptions.DatabaseException Exception Description: java.sql.SQLException: Io exception: Connection timed out Internal Exception: java.sql.SQLException: Io exception: Connection timed out Error Code: 17002. Cause Both OC4J runni

How To Read From A File in Mid-Process

Oracle(R) BPEL Process Manager - Version: 10.1.2 Goal How to read from a file in the middle of a process? Solution The proper way to read from a file in the middle of a BPEL process is to use the built-in XPath function, ora:readfile. Avoid using the file adapter to read a file. The file adapter (Read) is not designed for reading a file in the middle of a process. It is used to trigger the BPEL process in most cases. So in this scenario, the file adapter is not a good choice. Also it needs to use correlation sets to read files in the middle of a process. Embedded Java code can solve the problem, but it is hard to maintain, and also not recommended. How to use the ora:readfile function: 1. Drag an Assign activity and place it in the correct position in the BPEL process 2. Create a new Assign rule using the ora:readfile("file path", "xml schema path") XPath function 3. Assign the result to a variable. A Code Example: <assign name="Assign_1">

Switching The Process Status From Retired To Active Doesn't Properly Start A Process

Oracle(R) BPEL Process Manager - Version: 10.1.3.1 This problem can occur on any platform. Symptoms A BPEL process containing an AQ adapter which dequeues from a queue is deployed and its process lifecycle status is turned to "Retired". Later, the process lifecycle status is turned to "Active" so that dequeue of messages takes place. No instances of the BPEL process get initiated and messages remain in AQ Queue. When the same BPEL process is deployed with process state as 'Off', keeping process lifecycle status 'Active' and later turning process state to 'On' the BPEL process is instantiated. Cause Bug 5879997 - ACTIVATION AGENT DOES NOT GET ACTIVATED BY MODIFYING THE PROCESS LIFECYCLE Bug 5567281 - WHEN PROCESS IS RETIRED, CANT CONTINUE DUE TO EP DEACTIVATION Solution Apply Patch 6028270 which includes the fix for the above two bugs References Bug 5879997 - ACTIVATION AGENT DOES NOT GET ACTIVATED BY MODYFING THE PROCESS LIFECYCLE Patch 6028

BPEL Server hangs due to "java.lang.OutOfMemoryError"

Oracle(R) BPEL Process Manager - Version: 10.1.2.0.2 Linux x86 Symptoms The BPEL server hangs and a java.lang.OutOfMemoryError is displayed in the domain.log file. You will see the following stack trace in the domain.log <ERROR> <default.collaxa.cube.engine.dispatch> <DispatchHelper::handleMessage> failed to handle message javax.ejb.EJBException: Transaction was rolled back: java.lang.OutOfMemoryError; nested exception is: java.rmi.RemoteException: ; nested exception is: java.lang.OutOfMemoryError java.rmi.RemoteException: ; nested exception is: java.lang.OutOfMemoryError at com.evermind.server.ejb.EJBUtils.makeException(EJBUtils.java:886) at ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.handleInvoke(ICubeDeliveryLocalBean_StatelessSe ssionBeanWrapper16.java:1846) at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMe ssageHandler.java:37) ... ..... Message handle error. An exception occurred while attempting to

One Possible Cause For Orabpel-11017

Oracle(R) BPEL Process Manager - Version: 10.1.3.1 Symptoms Use of file adapter that references transformation that uses a schema that includes a xsd:date type. recieving the following error at runtime: ORABPEL-11017 Translation Error. Error while translating message to native format. Cause Incorrect xml default date format is causing the problem. The write processThe xsd:date element is expecting the value for the date type ojbect to be represented in the default schema date representation format (a text representation like "2000-03-21" or format "YYYY-MM-DD"). Solution Change the format date values as follows: From "MM-DD-YYYY" to "YYYY-MM-DD" Example: From sampleoutput.txt: RH, 1647, 11-07-2006, Test6 Desc DAVE, Test6 Blah DAVE RL, 1647, 1234, Line Desc, Line Blah, 10, 123.34, 1324.32 RH, 1648, 11-07-2006, Test Desc2, Test Blah RL, 1648, 1235, Line Desc2, Line Blah , 11, 123.35, 1324.33 to: (From sampleoutput.txt) RH, 1647,2006-03-21, Test6 De

Database Adapter does not recognize Timestamp column

Oracle(R) BPEL Process Manager - Version: 10.1.2.0.2 Symptoms BPEL database wizard shows an error at the Select Table view: Some tables contain columns that are not recognized by the Database Adapter, so they will be captured as Strings: My_timestamp (TIMESTAMP(9)) To fix this problem, cancel this wizard, edit the Offline Table definition to change the type of the above columns to that of the closest supported type, and run the Database Adapter wizard again. Please consult the Database Adapter documentation for detailed instructions on how to fix this problem. Cause Database adapter does not recognize column of Timestamp type Solution In the toplink_mappings.xml manually change attribute-classification from 'java.lang.String' to 'java.sql.Timestamp'

Description of Logger Name Parameters in the BPEL Console

Description of Logger Name Parameters in the BPEL Console Parameter Description default.collaxa.cube general logger for BPEL platform default.collaxa.cube.activation activation agents (i.e. inbound adapters) default.collaxa.cube.bpeltest BPEL unit testing default.collaxa.cube.compiler BPEL compiler responsible for the server-side compilation of BPEL processes on deployment default.collaxa.cube.console.reports - default.collaxa.cube.engine general logger for the BPEL engine, mainly for functionality that is cross-module default.collaxa.cube.engine.agents internal agent framework, e.g. expiration age

FILES TO UPLOAD FOR ISSUES RELATED TO BPEL PROCESS DEPLOYMENT

Oracle(R) BPEL Process Manager - Version: 10.1.2.0.0 to 10.13.1 Goal This document guides the customer in uploading all the files and information required to troubleshoot an issue related to BPEL Process Deployment. Solution 1. Turn the log level to debug from BPEL console by referring Note 373930.1 2. Stop the server & clear the directory: 3. BPEL versions 10.1.2.0.2 or 10.1.2.0.0 * ORACLE_HOME/integration/orabpel/domains/ /logs 4. BPEL version is 10.1.3.x : * ORACLE_HOME/bpel/domains/ /logs 5. Restart the server & reproduce the issue. 6. Please run RDA with option (on the instance where the BPEL is running) 1. Is Oracle Web Applications (OAS, WAS, iAS, AS) information requested? Yes 2. Is J2EE/OC4J in use? Yes 7. Upload the RDA outputs to the SR. 8. If Deploying manually using ANT, upload build.xml and build.properties 9. The BPEL Process(JDeveloper Project) which causes this issue. RDA NOTES Note 31

BPEL Application Spawns Numerous Database Connections Causing It To Crash

Oracle(R) BPEL Process Manager - Version: 10.1.2.0.2 Symptoms You are running Oracle BPEL application connected to Oracle Databases. There is a poller, which poll the DB for requests inserted by your request engine, these pollers then fire the relevant BPEL process for each request. During runtime, your application started spawning database connections within minutes, causing it to crash. There are no error messages written into any log file. Cause All the concurrent active sessions and the sessions being spawned are waiting on the same resource and throwing the same DB error : ORA-04021: Timeout Occurred While Waiting To Lock Object. This is a known BPEL PM bug Bug 5001394 - BYTE OFF MAKES BPEL HANG ON AUDIT_TRAIL, AUD TABLE LOCK & CALLBACK MESG LOST . Bug 5001394 - BYTE OFF MAKES BPEL HANG ON AUDIT_TRAIL, AUD TABLE LOCK & CALLBACK MESG LOST . Solution To implement the solution, please execute the following steps: Apply patch for Bug 5001394. Run the test again References Bug

BPEL Process Version 1.0 Is Set As Default Prior To Latest Versions Deployed

Oracle(R) BPEL Process Manager - Version: 10.1.3.1 Symptoms You are deploying version 2.0 of a BPEL Process, and marking this version as default in the BPEL Console. When you call the application version 1.0 of the application is called by default despite your default setting. If you put the old version to Retired and Off to make sure it will not be called, then neither version 1.0 nor version 2.0 is called. Cause The latest loaded revision of a process was set as default instead of setting the default version, based on the information from the database Bug 5837566 SUB PROCESS VERSION ONE GETS FAULTED PRIOR TO VERSION TWO Solution To implement the solution, please execute the following steps: 1. If no other patch is installed on the system, apply patch for Bug 5837566 2. If there are any other patches applied either - Apply the fix for Bug 5837566 if it does not conflict with any other patches already applied OR - Apply 10.1.3.3 patch when it becomes available

Why BPEL process instances may appear on the Manual Recovery List

Applies to: Oracle(R) BPEL Process Manager - Version: 10.1.2 to 10.1.3.1 Solution Messages appearing on the Recovery Console happen for a number of reasons, namely; BPEL has a Delivery Service that intercepts the incoming messages. Once it intercepts an incoming message, the delivery service does two things: 1) Put a very short JMS message to the in-memory queue . The small JMS message will trigger work further downstream of the process. 2) Save the BPEL message to tables at the dehydration store. In the same thread the BPEL engine instantiate or continue the BPEL instance. By the time the engine finishes processing this message (i.e. hits the end of the process, or hits the first dehydration point) the engine will update the message tables to mark the message as "HANDLED". The Recovery page shows those invoke or callback messages that are NOT in the HANDLED state. If you click fast enough, you will see messages come and go on the Recovery page. So seeing messages at the Reco

BPEL Workflow:Notification does not send message in e-mail body, instead sends as attachments

Oracle(R) BPEL Process Manager - Version: 10.1.3.1.0 Symptoms when configuring the Notification Settings in an Oracle BPEL Workflow to notify participants by email, the message content appears in the email attachment leaving the email body blank. This is in contrary to the expected behavior where the message content will appear in the email body. Cause Bug 5898695 When an Oracle Workflow notification email is viewed via Microsoft Outlook, only the email header is seen and not the body. This situation usually occurs when the using Microsoft Exchange as the email server and Microsoft Outlook as the email client. Solution 1. Download and review the readme and pre-requisites for Patch 5898695 2. Ensure that a backup of the system is made before applying the patch. 3. Apply the patch in a test environment. 4. Retest the issue. 5. Migrate the solution as appropriate to other environments.

BPEL Engine Exceptions ORABPEL 02000 - 02179

BPEL Engine Exceptions ORABPEL 02000 - 02179 Engine Exceptions 02000 - 02179 ORABPEL-02000 severity: 10 type: error name: Block element class not valid description: The class \"{0}\" for the block element \"{1}\" does not implement the ICubeBlock interface. All block elements contained within the process domain must implement this interface. ORABPEL-02001 severity: 10 type: error name: Error while creating block element description: An error has occurred while attempting to instantiate the class \"{1}\" for the block element \"{0}\". The exception reported was: {2} ORABPEL-02002 severity: 10 type: error name: Unknown block element classname description: The block element \"{0}\" is missing its classname; this element cannot be created without its classname. ORABPEL-02003 severity: 10 type: error name: Cube element missing id property description: A Cube element is missing its \"id\" property. Every Cube

BPEL Data Source Exceptions ORABPEL 04000 - 04142

BPEL Data Source Exceptions ORABPEL 04000 - 04142 Data Source Exceptions 04000 - 04142 ORABPEL-04000 severity: 10 type: error name: Cannot count instances description: The process domain was unable to count the number of instances. The exception reported is: {0} fix: Please check that the machine hosting the datasource is physically connected to the network. Otherwise, check that the datasource connection parameters (user/password) is currently valid. ORABPEL-04001 severity: 10 type: error name: Cannot count instances description: The process domain was unable to count the number of instances for the process \"{0}\" (revision \"{1}\"). The exception reported is: {2} fix: Please check that the machine hosting the datasource is physically connected to the network. Otherwise, check that the datasource connection parameters (user/password) is currently valid. ORABPEL-04002 severity: 10 type: error name: Cannot find instances description: An attempt t