2. It synchronously calls GetDeviceState (instance 4961222)
3. GetDeviceState completes successfully within 6.106 seconds
<summary>With debugging enabled, the domain.log shows the following:
when invoking locally the endpoint 'http://oradev1.thisisahmed.com:7777/orabpel/default/GetDeviceState/1.0', ; nested exception is
com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out
<2010-06-25 07:55:49,226> <DEBUG> <default.collaxa.cube.engine.delivery> <DeliveryHandler::initialRequestAnyType>5. The parent process times out in 1000 seconds which is the value of our syncMaxWaitTime (as shown in the Tree Finder figure above).
com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is bpel://localhost/default/SubscriberActivation~1.0/5040805-BpInv1-BpSeq4.7-2. Please check the process instance for detail.
This only happens when both nodes of the cluster are up and running. If only a single node is running, this issue does not occur.
(a) Increasing transaction-timeout="7200" in $ORACLE_HOME/j2ee/oc4j_soa/config/transaction-manager.xml (b) Increasing transaction-timeout="3600" to a lower value for CubeEngineBean, DispatcherBean, CubeDeliveryBean, DeliveryBean, DomainManagerBean, and ProcessManagerBean in
$ORACLE_HOME/j2ee/oc4j_soa/application-deployments/orabpel/ejb_ob_engine/orion-ejb-jar.xml (c) Increasing syncMaxWaitTime to 1000 in $ORACLE_HOME/bpel/domains/default/config/domain.xml
Adding the transaction participate property to the partnerlink won't help either: <property name="transaction">participate</property>
- Client makes sync request to BPEL1.
BPEL1 makes sync request to BPEL2. BPEL2 makes sync request to an external service (and BPEL 2 receives the sync response back). BPEL2 has an async “receive” activity. BPEL2 responds to BPEL1 synchronously BPEL1 responds to client synchronously. Client makes sync request to BPEL1. BPEL1 makes sync request to BPEL2. BPEL2 makes sync request to external service (and BPEL 2 receives the sync response back). BPEL2 has an async “receive” activity, but receives response on Node 2. BPEL2 tries to reply to BPEL1, but no link back to BPEL1 (BPEL2 completes successfully though). BPEL1 times out.