Human Task expiration

Setting the 'Fixed Duration' under 'Expiration and Escalation Policy' of a Human Task does not seem to work. Am I missing something? Where do I set the ExpirationDuration or ExpirationDate for a Human Task?
Thank you!

Works ok for me.
Created dummy bpel with dummy task in it.
On task creation i added fixed expiration of about 5 mins.
Start process, and wait 5 mins, and the process continues to completion.
In the audit trail of the task you will see something like
<state>EXPIRED</state>

Similar Messages

  • Human Task expiration after server restart

    I am having serious problems related to BPEL human task expiration in SOA 11g. If my server is down or if I restart my server and any human task has its expiration during this server downtime, then this human task never exprires. What I want is that any human task should get expired at its expiration date-time irrespective of server state. Please help.

    I am having serious problems related to BPEL human task expiration in SOA 11g. If my server is down or if I restart my server and any human task has its expiration during this server downtime, then this human task never exprires. What I want is that any human task should get expired at its expiration date-time irrespective of server state. Please help.

  • Human Task expiration issue

    Hi,
    I have the following scenario.
    Its a simple BPEL process with string input and string output with a call to Human Task.
    the Human Task has the expiration duration of 5 mins.
    I invoke the process from bpel console and as expected it waits for the human task to respond or expire. during this waiting time I happen to restart the soa server. The server was restarted before the expiration time but still the task did not expire.
    Task still stays with the user assigned and the process is still waiting for the response from the task(which is already passed expire time).
    I am using SOA Suite *10.1.3.4* with a patch set *7714967* applied on top of it.
    I have tried to set the startup recovery also but no help.
    If some body can give me the solution. that would be great.

    I have tried with MLR Patch # 8372150, but no luck. I have found a similar thread on this forum who has the same issue.
    quartz based workflow times are not initializing
    If this might be the problem, how do we fix the following error message.
    *<::> Unable to get the workflow timers during startup, this can happen if orabpel server is not started properly*

  • Human Task expiration containing Task History from another Human Task

    Hi All,
    Let me explain you my complete workflow in brief.
    I have 8 Human Tasks and all are sharing Task history. My each individual Human task are in Scope activity. In my payload I have a variable "strExpiryDuration" and I am setting its value in an Assign activity before my last human task. I have assigned this variable "strExpiryDuration" in the expiry duration of my last human task definition. For the reference I am giving the value as "*P0DT1M*". But it is not expiring my last human task at all. I doubt it may be because task history which I am sharing in my human tasks is overwriting the payload values and thats why the value of strExpiryDuration is not setting up in task definition.
    I checked by assigning the same variable strExpiryDuration to some other value ("*P3DT1M*") and assigning it to my first human task definition. In this case, whenever the workflow is assigned to my last human task it is also showing Expiry date as of after 3 days. What is the issue here? Please help.
    Regards,
    Murtaza
    Email:
    murtaza.ghodawala @ alshaya.com
    Edited by: user8977605 on Apr 21, 2011 6:48 AM

    I have found the solution to this generic problem. Whenever you have a human task sharing task history in your workflow, you need to ensure that the changed/modified payload value is assigned to the human tasks properly. In most of the cases, Task history sharing Human Task will override the payload values with the payload values of the previously executed human task in the workflow.
    For that the fix is as below:
    1. Expand the Human Task.
    2. In the Assign activity, write a copy operation in which copy the changed individual payload variable to the payload variable of the Human task whose task history we are sharing.
    For e.g.
    <copy>
    <from variable="inputVariable"
    part="payload"
    query="/client:TravelRequestProcessRequest/client:ExpiryDays"/>
    <to variable="ApprovalsTask_1_globalVariable"
    part="payload"
    query="/task:task/task:payload//client:TravelRequestProcessRequest/client:ExpiryDays"/>
    </copy>
    3. Make this copy operation as the first operation in the Assign Activity.
    I hope this solution will help you to resolve your issues.
    Regards,
    Murtaza Ghodawala
    Email:
    [email protected]
    Edited by: user8977605 on Apr 24, 2011 12:53 AM

  • Human Task Expires Though Task Duration Never Expires in DeadLines Level

    Human Task is expires thogh task Duration Never Expires in DeadLines level
    1)I have Created a Human Task
    2) I am assigning task based on User Input ( If User proivdes BPM ) task will will assigned to 'BPM' Group
    3) In Assignment Advanced leve i have set Limit allocated duration to 5 Min
    4) Dead Line Level I have set Task never Expires
    5) I have created Task , Task is assigned to 'BPM' Group
    6) 'BPMUser1' Acquired task
    7) After few min task get released automatically
    8) Task Expires after 5 Min

    ...and if I only send an email in the "When a Task Expires" step, the "When
    a Task Expires" will get called again and again to remind the original approver.  However, when I reassign the task the When
    a Task Expires"  will never get called again.   stumped.

  • Human Task expiration expression

    I am trying to generate the expiration duration dynamically. I am using the following expression in the task definition.
    concat("P1DT", number(23-xp20:hours-from-dateTime(xp20:current-dateTime())), "H", number(59-xp20:minutes-from-dateTime(xp20:current-dateTime())), "M", number(59-xp20:seconds-from-dateTime(xp20:current-dateTime())), "S")
    but somehow task always gets ERRORED. I don't know what am I doing wrong because there is no exception in the BPEL logs. I get the following error in the console.
    *<priority>5</priority>*
    *<identityContext>jazn.com</identityContext>*
    *<userComment/>*
    -<userComment>
    *<comment>The expiration specified in the task metadata could not be evaluated. The error is Missing 'P' delimiter</comment>*
    -<updatedBy>
    *<id>bpeladmin</id>*
    *</updatedBy>*
    *<updatedDate>2009-09-24T10:56:28.373-04:00</updatedDate>*
    *</userComment>*
    *<attachment/>*
    Is there a restriction on how we can specify the expression?
    I am using 10.1.3.5(as/jdev)

    I have tried with MLR Patch # 8372150, but no luck. I have found a similar thread on this forum who has the same issue.
    quartz based workflow times are not initializing
    If this might be the problem, how do we fix the following error message.
    *<::> Unable to get the workflow timers during startup, this can happen if orabpel server is not started properly*

  • Problem in setting dynamic expiration duration from Human Task

    Hi,
    I have a BPEL process, in which the Human task expiration has to be set dynamically..
    In the , I have set the expiration duration with this :-
    <copy>
    <from expression="xp20:format-dateTime(xp20:current-dateTime(),'PT1M')"/>
    <to variable="initiateTaskInput" part="payload"
    query="/taskservice:initiateTask/task:task/task:systemAttributes/task:expirationDuration"/>
    </copy>
    Do not get confused with 'PT1M' .. I want the duration to be 1 minute... Had I used 'PT1M' as a String and assign to the expirationDuration var, it would have caused an error... It needs to be fromatted as a Date..That's y i took this approach ... I am sure this is working fine as I have checked the payload of the task..
    It has a proper duration..
    <initiateTaskInput><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload"><initiateTask xmlns="http://xmlns.oracle.com/bpel/workflow/taskService">
    <task xmlns="http://xmlns.oracle.com/bpel/workflow/task">
    <systemAttributes>
    <expirationDuration>PT1M</expirationDuration>
    Now in the Human task definition(.task file), I have set the expiration duration with "By Expression" option in this way..
    <globalConfiguration>
    <owner>oc4jadmin</owner>
    <expirationDuration duration="/task:task/task:systemAttributes/task:expirationDuration"
    type="XPATH"/>
    </globalConfiguration>
    The problem is the task(at runtime) cannot evaluate the expirationDuration from the XPATH..
    I checked with the WF_TASK table in the orabpel schema ...
    When I use a static duration EXPIRATIONDURATION cloumn gets assigned properly (ie PT1M).. But when i take the XPATH approach, it translates to PT0S.
    Can someone look into this please ?
    Struggling with this for quite sometime...
    saptarishi

    If the Human Task shows status complete, then it's possible that there was an error in the output data association in the process. In EM do you see a fault on the output for the Human Task activity, or if PS4FP the process will go to suspended state if the data association fails.

  • Human Task - How to cause expiration of a task after SUSPEND

    Hello,
    This is a very simple question, but i don't know how to do this.
    I'm using the web services in bpel for manipulate the task.
    i invoke the operation suspendTask, it works success, but now i want set the expiration date time for 5 minutes for example.
    1) - I tried to call the method updateTask setting the expiration datetime attribute AFTER SUSPEND task, but i get this error:
    ORABPEL-10206
    Error in retrieving task metadata.
    Error in retrieving task metadata because the task is  no longer valid.
    Only valid tasks can by looked up.
    2) If i try to call updateTask operation BEFORE SUSPEND task, i getting this error:
    java.sql.SQLException: ORA-20005: Task is modified
    ORA-06512: at "CCEEDEV_SOAINFRA.WFTASKPKG_111120", line 2455
    ORA-20005:
    ORA-06512: at line 1
    My question, it is possible expirate tasks that have the status SUSPEND ? If yes, how to do this ?
    Thanks
    Victor Jabur
    Edited by: victorjabur on Aug 13, 2010 7:21 AM

    Hi Victor,
    I am Quite new to Oralce BPM/BPEL 11g, In my project I also need to update the task for expiration datetime but not after suspending the task rather before moving to next human task based on some condition.
    It would be great if you could give me the sample code to perform the same if its working with you.
    Regards,
    PK

  • Human task notification after due date/expiration date/...

    I would like to set a due date (or expiration date) to Human task, and set some notification before this time. Ok, it seemed very easy:
    - i set due date to 5 minutes in human task -> Deadlines
    - i set notifications in human task -> notification and in tab Advanced i set remind once 2 minutes before due date
    Nothing happens. Exactly same (nothing) happens when i do the same with expiration date.
    But what exactly is meaned under word "Reminder"?
    It's mail? (then where I have to set email adress? I tried to set a "to" field in human task -> notification -> tab Advanced -> notif. header attributes => nothing happened)
    It's worklist inbox message?
    Or what ist "reminder" and how it should remind me?
    Edited by: user1175491 on Dec 28, 2010 7:21 PM

    Hi,
    I don’t know if you’ve managed to resolve this issue yet and you mention you have emails working from BPEL, but I'm not sure if you've got any notifications working for the Human Task, if not then I have done some work with the human task notifications and although I’ve not tried to do what you’re doing, this is what I have learned.
    Firstly to receive any notifications you need to configure the Messaging Driver and Workflow Notification Properties…
    In Enterprise Manager expand [farm] -> SOA -> soa-infra
    Right click soa-infra and choose SOA Administration -> Workflow Notification Properties
    Underneath the page title (Workflow Notification Properties) is a note telling you to configure the Messaging Service Driver. Click the "Go to the Messaging Driver page" link.
    In the associated drivers section you will have a single entry for soa_server1 (or what ever it's called for you). In the right hand column there is a button for configuring the driver, click this.
    In the driver specific configuration, scroll down to OutgoingMailServer and enter the hostname or IP address of your mail server, then click Apply at the top of the screen.
    Now go back to the Workflow Notification Properties screen and choose “Email” from the notification Mode and enter some sensible email addresses in the Notification Service section. It’s useful to have real email addresses in here at the moment because any failures will be returned to this address.
    You now need to restart Weblogic for these changes to take affect.
    After the restart you can test the notifications by doing the following
    Back in Enterprise Manager expand [farm] -> SOA -> soa-infra
    Right click soa-infra and choose Service Engines -> Human Workflow
    Click on the Notification Management tab.
    You can click the "Sent Test Notification" button to make sure everything is working ok. This screen also allows you to monitor notifications for failures.
    Now that the notifications have been set up you can configure who gets notified on which events against your human task in JDeveloper.
    The email addresses for the users are retrieved from your identify provider for the relevant user, by default this is the internal LDAP directory. I’m not using this, so I’m not sure exactly how this will work. There are options in the worklist application for individual users, but I’m not using this either.
    Now that this is set up you can configure the human task within JDeveloper. On the notification tab you can decide who gets notified when. By default when a task is assigned to a user, the assignees are notified, you can play about with these settings to see what works best for you. Have a look at http://download.oracle.com/docs/cd/E12839_01/integration.1111/e10224/bp_workflow.htm#BABBHDGF for more information.
    I’m not sure I’ve solved your problem, but I hope this at least helps.

  • Skipping weekends while setting the expiration duration in Human task

    Hi,
    I need the task to expire after 5 days.
    If I give a 'Fixed Duration' of 5 days, that would mean weekends are included as well.
    How can I avoid this?
    Any help will be greatly appreciated.
    Thanks,
    Vivek

    Hi Bill,
    Thanks for the reply.
    I have done the the first part of what you suggested, namely:
    - Created a calendar called QCalendar (Monday to Friday, 8 hours)
    - Created a Organizational Unit called QUnit and associated the QCalendar with it.
    - Added a group called QGroup to the Org Unit
    - Created a task with one stage, and assignee as QGroup. Task Expiration is set at 10 days. 'UseBusinessCalendar' attribute is set to true.
    This does not work. Weekends are still considered.
    I felt I was missing something, and I believe that is what you mention when you say - 'Here's where I'm not entirely certain about this... I believe you will have to map the name of the org unit into the task payload using an association.'
    Can you please elaborate on that part?
    Thanks again,
    Vivek

  • BPEL Test waits forever to receive callback from human task service

    Hi,
    I've created a test (CreditCardInvalidTest.xml) to test a bpel process (testbpel.bpel) which contains a call to a human task service. The problem is when the test executes it waits forever to receive the response message from the human task service but clearly i've emulated it! Would appreciate help.
    I've attached both files and highlighted the relevant sections. Thanks.
    testbpel.bpel
    <process name="testbpel" targetNamespace="http://xmlns.oracle.com/testbpel"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:wfcommon="http://xmlns.oracle.com/bpel/workflow/common"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:ns4="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
    xmlns:ns7="http://xmlns.oracle.com/testbpel/creditFault"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
    xmlns:ns5="http://oracle.com/esb/namespaces/Fufillment"
    xmlns:client="http://xmlns.oracle.com/testbpel"
    xmlns:ns6="http://www.creditcardagency.com/CreditCardService"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:taskservice="http://xmlns.oracle.com/bpel/workflow/taskService"
    xmlns:ns9="http://xmlns.oracle.com/testbpel/orderRejected"
    xmlns:ns1="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:ns3="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:ns2="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:ns8="http://xmlns.oracle.com/testbpel/genericFault">
    <!--
    PARTNERLINKS
    List of services participating in this BPEL process
    -->
    <partnerLinks>
    <!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="client" partnerLinkType="client:testbpel"
    myRole="testbpelProvider" partnerRole="testbpelRequester"/>
    <partnerLink name="ShipmentService" partnerRole="execute_pptProvider"
    partnerLinkType="ns5:execute_pptLT"/>
    <partnerLink name="CreditCardService"
    partnerRole="CreditCardServiceProvider"
    partnerLinkType="ns6:CreditCardService"/>
    <partnerLink myRole="TaskServiceCallbackListener" name="TaskService"
    partnerRole="TaskService"
    partnerLinkType="taskservice:TaskService"/>
    </partnerLinks>
    <!--
    VARIABLES
    List of messages and XML documents used within this BPEL process
    -->
    <variables>
    <!-- Reference to the message passed as input during initiation -->
    <!-- Reference to the message that will be sent back to the requester during callback -->
    <variable name="inputVariable"
    messageType="client:testbpelRequestMessage"/>
    <variable name="outputVariable"
    messageType="client:testbpelResponseMessage"/>
    <variable name="n" type="xsd:integer"/>
    <variable name="Invoke_ShipmentService_execute_InputVariable"
    messageType="ns5:orderRequest_request"/>
    <variable name="paymentFault"
    messageType="client:testbpelFaultMessage"/>
    <variable name="ApproveOrder_1_globalVariable"
    messageType="taskservice:taskMessage"/>
    <variable name="orderRejectedFault"
    messageType="client:testbpelFaultMessage"/>
    </variables>
    <faultHandlers>
    <catchAll>
    <sequence name="Sequence_6">
    <throw name="Throw_AllFaults"
    faultName="ns8:testbpelGenericFault"
    faultVariable="paymentFault"/>
    </sequence>
    </catchAll>
    </faultHandlers>
    <!--
    ORCHESTRATION LOGIC
    Set of activities coordinating the flow of messages across the
    services integrated within this business process
    -->
    <sequence name="main">
    <!-- Receive input from requestor. (Note: This maps to operation defined in testbpel.wsdl) -->
    <receive name="receiveInput" partnerLink="client"
    portType="client:testbpel" operation="initiate"
    variable="inputVariable" createInstance="yes"/>
    <!--
    Asynchronous callback to the requester. (Note: the callback location and correlation id is transparently handled using WS-addressing.)
    -->
    <scope name="CheckForApproval">
    <sequence name="Sequence_4">
    <sequence name="Sequence_5">
    <scope name="ApproveOrder_1"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
    wf:key="ApproveOrder_1_globalVariable">
    <bpelx:annotation>
    <bpelx:pattern patternName="bpelx:workflow"></bpelx:pattern>
    </bpelx:annotation>
    <variables>
    <variable name="initiateTaskInput"
    messageType="taskservice:initiateTaskMessage"/>
    <variable name="initiateTaskResponseMessage"
    messageType="taskservice:initiateTaskResponseMessage"/>
    </variables>
    <correlationSets>
    <correlationSet name="WorkflowTaskIdCor"
    properties="taskservice:taskId"/>
    </correlationSets>
    <sequence>
    <assign name="ApproveOrder_1_AssignTaskAttributes">
    <copy>
    <from expression="concat(ora:getProcessURL(), string('/ApproveOrder/ApproveOrder.task'))"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:taskDefinitionURI"/>
    </copy>
    <copy>
    <from expression="number(3)"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:priority"/>
    </copy>
    <copy>
    <from>
    <payload xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
    </from>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:payload"/>
    </copy>
    </assign>
    <assign name="ApproveOrder_1_AssignSystemTaskAttributes">
    <copy>
    <from expression="ora:getInstanceId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:instanceId"/>
    </copy>
    <copy>
    <from expression="ora:getProcessId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processName"/>
    </copy>
    <copy>
    <from expression="ora:getProcessId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processId"/>
    </copy>
    <copy>
    <from expression="ora:getProcessVersion()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processVersion"/>
    </copy>
    <copy>
    <from expression="ora:getDomainId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:domainId"/>
    </copy>
    <copy>
    <from expression="string('BPEL')"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processType"/>
    </copy>
    </assign>
    <invoke name="initiateTask_ApproveOrder_1"
    partnerLink="TaskService"
    portType="taskservice:TaskService"
    operation="initiateTask"
    inputVariable="initiateTaskInput"
    outputVariable="initiateTaskResponseMessage">
    <correlations>
    <correlation initiate="yes"
    set="WorkflowTaskIdCor"
    pattern="in"/>
    </correlations>
    </invoke>
    *<receive name="receiveCompletedTask_ApproveOrder_1"*
    partnerLink="TaskService"
    portType="taskservice:TaskServiceCallback"
    operation="onTaskCompleted"
    variable="ApproveOrder_1_globalVariable"
    createInstance="no">
    *<correlations>*
    *<correlation initiate="no"*
    set="WorkflowTaskIdCor"/>
    *</correlations>*
    *</receive>*
    </sequence>
    </scope>
    <switch name="taskSwitch">
    <case condition="bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:state') = 'COMPLETED' and bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:outcome') = 'REJECT'">
    <bpelx:annotation>
    <bpelx:pattern patternName="case">Task outcome is REJECT</bpelx:pattern>
    </bpelx:annotation>
    <sequence>
    <assign name="AssignOrderRejected">
    <copy>
    <from expression="string('Order rejected by manager')"/>
    <to variable="paymentFault"
    part="payload"
    query="/client:testbpelProcessFault/client:status"/>
    </copy>
    </assign>
    <throw name="ThrowOrderRejected"
    faultName="ns9:orderRejectedFault"
    faultVariable="orderRejectedFault"/>
    </sequence>
    </case>
    <case condition="bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:state') = 'COMPLETED' and bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:outcome') = 'APPROVE'">
    <bpelx:annotation>
    <bpelx:pattern patternName="case">Task outcome is APPROVE</bpelx:pattern>
    </bpelx:annotation>
    <sequence>
    <empty name="Empty_1"/>
    </sequence>
    </case>
    <otherwise>
    <bpelx:annotation>
    <bpelx:pattern>Task is outcome is EXPIRED, STALE, WITHDRAWN or ERRORED</bpelx:pattern>
    </bpelx:annotation>
    <sequence>
    <empty name="Empty_2"/>
    </sequence>
    </otherwise>
    </switch>
    </sequence>
    </sequence>
    </scope>
    <scope name="CheckCreditCard">
    <variables>
    <variable name="InvokeCreditCardService_process_InputVariable"
    messageType="ns6:CreditCardServiceRequestMessage"/>
    <variable name="InvokeCreditCardService_process_OutputVariable"
    messageType="ns6:CreditCardServiceResponseMessage"/>
    </variables>
    <sequence name="Sequence_2">
    <assign name="Assign_1">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:testbpelProcessRequest/client:CreditCardNumber"/>
    <to variable="InvokeCreditCardService_process_InputVariable"
    part="payload"
    query="/ns6:CreditCardServiceProcessRequest/ns6:CreditCardNumber"/>
    </copy>
    </assign>
    <scope name="Scope_1">
    <compensationHandler>
    <sequence name="Sequence_7">
    <empty name="Empty_3"/>
    </sequence>
    </compensationHandler>
    <invoke name="InvokeCreditCardService"
    partnerLink="CreditCardService"
    portType="ns6:CreditCardService" operation="process"
    inputVariable="InvokeCreditCardService_process_InputVariable"
    outputVariable="InvokeCreditCardService_process_OutputVariable"/>
    </scope>
    <switch name="CheckCreditCardValid">
    <case condition="bpws:getVariableData('InvokeCreditCardService_process_OutputVariable','payload','/ns6:CreditCardServiceProcessResponse/ns6:result') = 'false'">
    <sequence name="Sequence_3">
    <assign name="AssignCreditFault">
    <copy>
    <from expression="string('Invalid credit card number')"/>
    <to variable="paymentFault" part="payload"
    query="/client:testbpelProcessFault/client:status"/>
    </copy>
    </assign>
    <throw name="ThrowCreditFault"
    faultName="ns7:CreditCardNumberFault"
    faultVariable="paymentFault"/>
    </sequence>
    </case>
    </switch>
    </sequence>
    </scope>
    <assign name="AssignInitial">
    <copy>
    <from expression="string('Select Manufacturer')"/>
    <to variable="outputVariable" part="payload"
    query="/client:testbpelProcessResponse/client:result"/>
    </copy>
    <copy>
    <from expression="1"/>
    <to variable="n"/>
    </copy>
    <copy>
    <from expression="0.0"/>
    <to variable="outputVariable" part="payload"
    query="/client:testbpelProcessResponse/client:price"/>
    </copy>
    </assign>
    <while name="While_1"
    condition="bpws:getVariableData('n') &lt;= count(bpws:getVariableData('inputVariable','payload','/client:testbpelProcessRequest/client:input'))">
    <sequence name="Sequence_1">
    <assign name="DoCalculation">
    <copy>
    <from expression="bpws:getVariableData('inputVariable','payload', concat('/client:testbpelProcessRequest/client:input[', bpws:getVariableData('n'), ']/client:quantity')) * bpws:getVariableData('inputVariable','payload',concat('/client:testbpelProcessRequest/client:input[', bpws:getVariableData('n'), ']/client:bookPrice')) + bpws:getVariableData('outputVariable','payload','/client:testbpelProcessResponse/client:price')"/>
    <to variable="outputVariable" part="payload"
    query="/client:testbpelProcessResponse/client:price"/>
    </copy>
    <copy>
    <from expression="bpws:getVariableData('n') + 1"/>
    <to variable="n"/>
    </copy>
    </assign>
    </sequence>
    </while>
    <assign name="Transform_2">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('TransformOrder.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="Invoke_ShipmentService_execute_InputVariable"
    part="orderRequest"/>
    </copy>
    </assign>
    <invoke name="Invoke_ShipmentService" partnerLink="ShipmentService"
    portType="ns5:execute_ppt" operation="execute"
    inputVariable="Invoke_ShipmentService_execute_InputVariable"/>
    <invoke name="callbackClient" partnerLink="client"
    portType="client:testbpelCallback" operation="onResult"
    inputVariable="outputVariable"/>
    </sequence>
    </process>
    CreditCardInvalidTest.xml
    <BPELTest processName="testbpel"
    xmlns="http://xmlns.oracle.com/bpel/instancedriver"
    xmlns:client="http://xmlns.oracle.com/testbpel">
    <initiate operation="initiate">
    <inboundMessage>
    <part fileName="testInput.xml" name="payload"/>
    </inboundMessage>
    </initiate>
    <activityDriver name="callbackClient">
    <assertValue variableName="outputVariable" partName="payload"
    comparisonMethod="string" fatal="false" patternMatch="false">
    <message>Expected "Select Manufacturer"</message>
    <actualPath>/client:testbpelProcessResponse/client:result</actualPath>
    <expected>Select Manufacturer</expected>
    </assertValue>
    <assertValue variableName="outputVariable" partName="payload"
    comparisonMethod="string" fatal="true" patternMatch="false">
    <message>Expected price of "1"</message>
    <actualPath>/client:testbpelProcessResponse/client:price</actualPath>
    <expected>1</expected>
    </assertValue>
    </activityDriver>
    *<activityDriver name="receiveCompletedTask_ApproveOrder_1">*
    *<emulate duration="PT">*
    *<inboundMessage>*
    *<part fileName="approverResponse.xml" name="payload"/>*
    *</inboundMessage>*
    *</emulate>*
    *</activityDriver>* <--- it waits FOREVER at this bit to receive the approverResponse.xml :s
    <activityDriver name="InvokeCreditCardService">
    <emulate duration="PT">
    <inboundMessage>
    <part fileName="creditCardServiceResponse.xml" name="payload"/>
    </inboundMessage>
    </emulate>
    </activityDriver>
    <activityDriver name="initiateTask_ApproveOrder_1">
    <emulate duration="PT">
    <inboundMessage>
    <part fileName="getApproval.xml" name="payload"/>
    </inboundMessage>
    </emulate>
    </activityDriver>
    </BPELTest>

    RaviKiran,
    I agree that the explanation oracle provided in the attach link, is a bit confusing. The main goal there is to describe the behavior of processes, when there is a need to combine, or split the transactions within those processes (or in some cases the processes themselves).
    The thing is - The default transaction for a synchronous process is requiresNew. That was until version 11.1.1.6. On this last version, you are asking to enter a Transaction parameter when creating a new synchronous bpel process. The default value being prompt is required and that's what causing the problem – You automatically accept the default.
    The assumption is, that developing bpel processes, should come with understanding of all those behaviors.
    The problem for my understanding is that some of those behaviors were not so cleared until now.
    Arik

  • How to Update HUMAN TASK Payload SOA/BPM 11G

    Hi ,
    I need to update the Expiration time based on the escalation level for Human task .
    I trying to update the TaskExpiration time on the Java call back when onAssign activity is triggered.
    Even though the execution is successful the task will not be updated with new expiration time..
    Below is  the code snippet
    public class CallBackClass implements IRoutingSlipCallback , IDynamicTaskEscalationPattern {
        public CallBackClass() {
            super();
        public void onTaskAssigned(Task task, String string, String string1,String string2) {
            System.out.println("routing Slip: inside onTaskAssigned");
            System.out.println("Priority :" + task.getPriority());
            task.setPriority(1);
            System.out.println("TaskID :" + task.getSystemAttributes().getTaskId());
            task.setPriority(1);
            System.out.println("Updated Priority :" + task.getPriority());
            getTaskEscalationUser(task);
            System.out.println("Executed getTaskEscalationUser");   
           WorkflowUtil.getRoutingSlip(task.getSystemAttributes().getTaskId()).getGlobalConfiguration().getExpirationDuration().setDuration("PT3M");
    Please update your suggestion or suggest some API which van help me in fixing this task.
    Thanks in advance !!

    Hi:
    Take a look at this post: http://beatechnologies.wordpress.com/2011/08/24/
    Also here is the Oracle Doc: http://docs.oracle.com/cd/E12839_01/apirefs.1111/e10660/oracle/bpel/services/workflow/query/ITaskQueryService.html
    and:
    http://docs.oracle.com/cd/E17904_01/integration.1111/e10224/bp_worklistcust.htm#BHAHBHID
    Hope this helps.
    best
    rolando

  • Test waits forever for a callback from a human task

    Hi,
    I've create a test to test a BPEL process. Now within the BPEL process there is a call to a human task service. I've emulated the task initiation message which is fine. I also tried to emulate the receive message from the human task service but during the test execution, the test waits forever to receive the callback from the human task service, even though i've specified the return message. Would appreciate help with this! I've posted my testbpel.bpel and the test case (CreditCardInvalidTest.xml) below. For both these files I've highlighted in bold the relevant bits of code that's giving me problems. Thanks
    testbpel.bpel:
    <?xml version = "1.0" encoding = "UTF-8" ?>
    <process name="testbpel" targetNamespace="http://xmlns.oracle.com/testbpel"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:wfcommon="http://xmlns.oracle.com/bpel/workflow/common"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:ns4="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
    xmlns:ns7="http://xmlns.oracle.com/testbpel/creditFault"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
    xmlns:ns5="http://oracle.com/esb/namespaces/Fufillment"
    xmlns:client="http://xmlns.oracle.com/testbpel"
    xmlns:ns6="http://www.creditcardagency.com/CreditCardService"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:taskservice="http://xmlns.oracle.com/bpel/workflow/taskService"
    xmlns:ns9="http://xmlns.oracle.com/testbpel/orderRejected"
    xmlns:ns1="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:ns3="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:ns2="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:ns8="http://xmlns.oracle.com/testbpel/genericFault">
    <!--
    PARTNERLINKS
    List of services participating in this BPEL process
    -->
    <partnerLinks>
    <!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="client" partnerLinkType="client:testbpel"
    myRole="testbpelProvider" partnerRole="testbpelRequester"/>
    <partnerLink name="ShipmentService" partnerRole="execute_pptProvider"
    partnerLinkType="ns5:execute_pptLT"/>
    <partnerLink name="CreditCardService"
    partnerRole="CreditCardServiceProvider"
    partnerLinkType="ns6:CreditCardService"/>
    <partnerLink myRole="TaskServiceCallbackListener" name="TaskService"
    partnerRole="TaskService"
    partnerLinkType="taskservice:TaskService"/>
    </partnerLinks>
    <!--
    VARIABLES
    List of messages and XML documents used within this BPEL process
    -->
    <variables>
    <!-- Reference to the message passed as input during initiation -->
    <!-- Reference to the message that will be sent back to the requester during callback -->
    <variable name="inputVariable"
    messageType="client:testbpelRequestMessage"/>
    <variable name="outputVariable"
    messageType="client:testbpelResponseMessage"/>
    <variable name="n" type="xsd:integer"/>
    <variable name="Invoke_ShipmentService_execute_InputVariable"
    messageType="ns5:orderRequest_request"/>
    <variable name="paymentFault"
    messageType="client:testbpelFaultMessage"/>
    <variable name="ApproveOrder_1_globalVariable"
    messageType="taskservice:taskMessage"/>
    <variable name="orderRejectedFault"
    messageType="client:testbpelFaultMessage"/>
    </variables>
    <faultHandlers>
    <catchAll>
    <sequence name="Sequence_6">
    <throw name="Throw_AllFaults"
    faultName="ns8:testbpelGenericFault"
    faultVariable="paymentFault"/>
    </sequence>
    </catchAll>
    </faultHandlers>
    <!--
    ORCHESTRATION LOGIC
    Set of activities coordinating the flow of messages across the
    services integrated within this business process
    -->
    <sequence name="main">
    <!-- Receive input from requestor. (Note: This maps to operation defined in testbpel.wsdl) -->
    <receive name="receiveInput" partnerLink="client"
    portType="client:testbpel" operation="initiate"
    variable="inputVariable" createInstance="yes"/>
    <!--
    Asynchronous callback to the requester. (Note: the callback location and correlation id is transparently handled using WS-addressing.)
    -->
    <scope name="CheckForApproval">
    <sequence name="Sequence_4">
    <sequence name="Sequence_5">
    <scope name="ApproveOrder_1"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
    wf:key="ApproveOrder_1_globalVariable">
    <bpelx:annotation>
    <bpelx:pattern patternName="bpelx:workflow"></bpelx:pattern>
    </bpelx:annotation>
    <variables>
    <variable name="initiateTaskInput"
    messageType="taskservice:initiateTaskMessage"/>
    <variable name="initiateTaskResponseMessage"
    messageType="taskservice:initiateTaskResponseMessage"/>
    </variables>
    <correlationSets>
    <correlationSet name="WorkflowTaskIdCor"
    properties="taskservice:taskId"/>
    </correlationSets>
    <sequence>
    <assign name="ApproveOrder_1_AssignTaskAttributes">
    <copy>
    <from expression="concat(ora:getProcessURL(), string('/ApproveOrder/ApproveOrder.task'))"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:taskDefinitionURI"/>
    </copy>
    <copy>
    <from expression="number(3)"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:priority"/>
    </copy>
    <copy>
    <from>
    <payload xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
    </from>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:payload"/>
    </copy>
    </assign>
    <assign name="ApproveOrder_1_AssignSystemTaskAttributes">
    <copy>
    <from expression="ora:getInstanceId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:instanceId"/>
    </copy>
    <copy>
    <from expression="ora:getProcessId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processName"/>
    </copy>
    <copy>
    <from expression="ora:getProcessId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processId"/>
    </copy>
    <copy>
    <from expression="ora:getProcessVersion()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processVersion"/>
    </copy>
    <copy>
    <from expression="ora:getDomainId()"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:domainId"/>
    </copy>
    <copy>
    <from expression="string('BPEL')"/>
    <to variable="initiateTaskInput"
    part="payload"
    query="/taskservice:initiateTask/task:task/task:processInfo/task:processType"/>
    </copy>
    </assign>
    <invoke name="initiateTask_ApproveOrder_1"
    partnerLink="TaskService"
    portType="taskservice:TaskService"
    operation="initiateTask"
    inputVariable="initiateTaskInput"
    outputVariable="initiateTaskResponseMessage">
    <correlations>
    <correlation initiate="yes"
    set="WorkflowTaskIdCor"
    pattern="in"/>
    </correlations>
    </invoke>
    *<receive name="receiveCompletedTask_ApproveOrder_1"*
    partnerLink="TaskService"
    portType="taskservice:TaskServiceCallback"
    operation="onTaskCompleted"
    variable="ApproveOrder_1_globalVariable"
    createInstance="no">
    *<correlations>*
    *<correlation initiate="no"*
    set="WorkflowTaskIdCor"/>
    *</correlations>*
    *</receive>* </sequence>
    </scope>
    <switch name="taskSwitch">
    <case condition="bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:state') = 'COMPLETED' and bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:outcome') = 'REJECT'">
    <bpelx:annotation>
    <bpelx:pattern patternName="case">Task outcome is REJECT</bpelx:pattern>
    </bpelx:annotation>
    <sequence>
    <assign name="AssignOrderRejected">
    <copy>
    <from expression="string('Order rejected by manager')"/>
    <to variable="paymentFault"
    part="payload"
    query="/client:testbpelProcessFault/client:status"/>
    </copy>
    </assign>
    <throw name="ThrowOrderRejected"
    faultName="ns9:orderRejectedFault"
    faultVariable="orderRejectedFault"/>
    </sequence>
    </case>
    <case condition="bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:state') = 'COMPLETED' and bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:outcome') = 'APPROVE'">
    <bpelx:annotation>
    <bpelx:pattern patternName="case">Task outcome is APPROVE</bpelx:pattern>
    </bpelx:annotation>
    <sequence>
    <empty name="Empty_1"/>
    </sequence>
    </case>
    <otherwise>
    <bpelx:annotation>
    <bpelx:pattern>Task is outcome is EXPIRED, STALE, WITHDRAWN or ERRORED</bpelx:pattern>
    </bpelx:annotation>
    <sequence>
    <empty name="Empty_2"/>
    </sequence>
    </otherwise>
    </switch>
    </sequence>
    </sequence>
    </scope>
    <scope name="CheckCreditCard">
    <variables>
    <variable name="InvokeCreditCardService_process_InputVariable"
    messageType="ns6:CreditCardServiceRequestMessage"/>
    <variable name="InvokeCreditCardService_process_OutputVariable"
    messageType="ns6:CreditCardServiceResponseMessage"/>
    </variables>
    <sequence name="Sequence_2">
    <assign name="Assign_1">
    <copy>
    <from variable="inputVariable" part="payload"
    query="/client:testbpelProcessRequest/client:CreditCardNumber"/>
    <to variable="InvokeCreditCardService_process_InputVariable"
    part="payload"
    query="/ns6:CreditCardServiceProcessRequest/ns6:CreditCardNumber"/>
    </copy>
    </assign>
    <scope name="Scope_1">
    <compensationHandler>
    <sequence name="Sequence_7">
    <empty name="Empty_3"/>
    </sequence>
    </compensationHandler>
    <invoke name="InvokeCreditCardService"
    partnerLink="CreditCardService"
    portType="ns6:CreditCardService" operation="process"
    inputVariable="InvokeCreditCardService_process_InputVariable"
    outputVariable="InvokeCreditCardService_process_OutputVariable"/>
    </scope>
    <switch name="CheckCreditCardValid">
    <case condition="bpws:getVariableData('InvokeCreditCardService_process_OutputVariable','payload','/ns6:CreditCardServiceProcessResponse/ns6:result') = 'false'">
    <sequence name="Sequence_3">
    <assign name="AssignCreditFault">
    <copy>
    <from expression="string('Invalid credit card number')"/>
    <to variable="paymentFault" part="payload"
    query="/client:testbpelProcessFault/client:status"/>
    </copy>
    </assign>
    <throw name="ThrowCreditFault"
    faultName="ns7:CreditCardNumberFault"
    faultVariable="paymentFault"/>
    </sequence>
    </case>
    </switch>
    </sequence>
    </scope>
    <assign name="AssignInitial">
    <copy>
    <from expression="string('Select Manufacturer')"/>
    <to variable="outputVariable" part="payload"
    query="/client:testbpelProcessResponse/client:result"/>
    </copy>
    <copy>
    <from expression="1"/>
    <to variable="n"/>
    </copy>
    <copy>
    <from expression="0.0"/>
    <to variable="outputVariable" part="payload"
    query="/client:testbpelProcessResponse/client:price"/>
    </copy>
    </assign>
    <while name="While_1"
    condition="bpws:getVariableData('n') &lt;= count(bpws:getVariableData('inputVariable','payload','/client:testbpelProcessRequest/client:input'))">
    <sequence name="Sequence_1">
    <assign name="DoCalculation">
    <copy>
    <from expression="bpws:getVariableData('inputVariable','payload', concat('/client:testbpelProcessRequest/client:input[', bpws:getVariableData('n'), ']/client:quantity')) * bpws:getVariableData('inputVariable','payload',concat('/client:testbpelProcessRequest/client:input[', bpws:getVariableData('n'), ']/client:bookPrice')) + bpws:getVariableData('outputVariable','payload','/client:testbpelProcessResponse/client:price')"/>
    <to variable="outputVariable" part="payload"
    query="/client:testbpelProcessResponse/client:price"/>
    </copy>
    <copy>
    <from expression="bpws:getVariableData('n') + 1"/>
    <to variable="n"/>
    </copy>
    </assign>
    </sequence>
    </while>
    <assign name="Transform_2">
    <bpelx:annotation>
    <bpelx:pattern>transformation</bpelx:pattern>
    </bpelx:annotation>
    <copy>
    <from expression="ora:processXSLT('TransformOrder.xsl',bpws:getVariableData('inputVariable','payload'))"/>
    <to variable="Invoke_ShipmentService_execute_InputVariable"
    part="orderRequest"/>
    </copy>
    </assign>
    <invoke name="Invoke_ShipmentService" partnerLink="ShipmentService"
    portType="ns5:execute_ppt" operation="execute"
    inputVariable="Invoke_ShipmentService_execute_InputVariable"/>
    <invoke name="callbackClient" partnerLink="client"
    portType="client:testbpelCallback" operation="onResult"
    inputVariable="outputVariable"/>
    </sequence>
    </process>
    CreditCardInvalidTest.xml:
    <?xml version='1.0' encoding='utf-8'?>
    <BPELTest processName="testbpel"
    xmlns="http://xmlns.oracle.com/bpel/instancedriver"
    xmlns:client="http://xmlns.oracle.com/testbpel">
    <initiate operation="initiate">
    <inboundMessage>
    <part fileName="testInput.xml" name="payload"/>
    </inboundMessage>
    </initiate>
    <activityDriver name="callbackClient">
    <assertValue variableName="outputVariable" partName="payload"
    comparisonMethod="string" fatal="false" patternMatch="false">
    <message>Expected "Select Manufacturer"</message>
    <actualPath>/client:testbpelProcessResponse/client:result</actualPath>
    <expected>Select Manufacturer</expected>
    </assertValue>
    <assertValue variableName="outputVariable" partName="payload"
    comparisonMethod="string" fatal="true" patternMatch="false">
    <message>Expected price of "1"</message>
    <actualPath>/client:testbpelProcessResponse/client:price</actualPath>
    <expected>1</expected>
    </assertValue>
    </activityDriver>
    *<activityDriver name="receiveCompletedTask_ApproveOrder_1">*
    *<emulate duration="PT">*
    *<inboundMessage>*
    *<part fileName="approverResponse.xml" name="payload"/>*
    *</inboundMessage>*
    *</emulate>*
    *</activityDriver>* <activityDriver name="InvokeCreditCardService">
    <emulate duration="PT">
    <inboundMessage>
    <part fileName="creditCardServiceResponse.xml" name="payload"/>
    </inboundMessage>
    </emulate>
    </activityDriver>
    <activityDriver name="initiateTask_ApproveOrder_1">
    <emulate duration="PT">
    <inboundMessage>
    <part fileName="getApproval.xml" name="payload"/>
    </inboundMessage>
    </emulate>
    </activityDriver>
    </BPELTest>

    Hi hi, on a hunch I previewed the page in the browser, and copy pasted the faces/untitled1 portion of the URL there and pasted on the http://<server_address>:8001/BasicAPPDemo_Root therefore ending with http://<server_address>:8001/BasicAPPDemo_Root/faces/untitled1 and lo and behold I saw the little text box saying "Hello World" ;D
    So with that i escalated, switched to the application where the page from BPM was located, deployed it and did the same trick.
    But it borked it gave this error:
    JBO-29115 Unable to construct the error message due to error java.lang.NullPointerException. Use the exception stack trace and error code to investigate the root cause of this exception. Root cause error code is JBO-.
    I figured that the Default generation could be faulty so i created a new page and only recycled the data controls, created everything in read mode, just to test and deployed, when i tested, i was optimistic as the 1st tab didn't had any error (also does not have anything related to the HumanTask, even the data controls) the problem was in the other tabs as I show here.
    Many thanks sirs, and sorry for wasting thy time.

  • Human task escalation ERROR

    Hi,
    I have a BPEL process with a human task. This human task has set the expiration time and the escalation policy (2 escalation steps).
    The BPEL works alright if nobody does nothing to the task. It fails if the task is claimed by a user but after the user doesn't finish the task (doesn't take any actions on the task, neither approve/reject)
    The task is expired and the status is "with errors". In the logs the following error appears:
    <2008-06-25 16:08:40,093> <ERROR> <oracle.bpel.services.workflow> <::> ORA-20003: Error while inserting routing slip
    ORA-06512: en "ORABPEL.WFTASKPKG", línea 47
    ORA-00001: restricción única (ORABPEL.SYS_C005188) violada
    ORA-06512: en línea 1
    java.sql.SQLException: ORA-20003: Error while inserting routing slip
    ORA-06512: en "ORABPEL.WFTASKPKG", línea 47
    ORA-00001: restricción única (ORABPEL.SYS_C005188) violada
    ORA-06512: en línea 1
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:316)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:282)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:639)
         at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:184)
         at oracle.jdbc.driver.T4CCallableStatement.execute_for_rows(T4CCallableStatement.java:873)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1161)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3001)
         at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3093)
         at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4286)
         at oracle.oc4j.sql.proxy.PreparedStatementBCELProxy.execute(PreparedStatementBCELProxy.java:333)
         at oracle.bpel.services.workflow.repos.driver.oracle.OracleWFRoutingSlip.insertRoutingSlip(OracleWFRoutingSlip.java:123)
         at oracle.bpel.services.workflow.repos.driver.PersistencyService.insertRoutingSlip(PersistencyService.java:216)
         at oracle.bpel.services.workflow.task.impl.TaskService.performPostActionOperation(TaskService.java:3321)
         at oracle.bpel.services.workflow.task.impl.TaskService.localHandleRoutingSlipInterpretationResult(TaskService.java:1246)
         at oracle.bpel.services.workflow.task.impl.TaskService.handleRoutingSlipInterpretationResult(TaskService.java:1298)
         at oracle.bpel.services.workflow.task.impl.TaskService.expireTask(TaskService.java:2614)
         at oracle.bpel.services.workflow.task.impl.TaskService.expireTask(TaskService.java:2574)
         at oracle.bpel.services.workflow.task.ejb.tasktimer.TaskTimerBean.expireTask(TaskTimerBean.java:35)
         at sun.reflect.GeneratedMethodAccessor250.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAs(Subject.java:396)
         at com.evermind.server.ThreadState.runAs(ThreadState.java:648)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.TxRequiresNewInterceptor.invoke(TxRequiresNewInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
         at TaskTimerBean_RemoteProxy_68d4144.expireTask(Unknown Source)
         at oracle.bpel.services.workflow.task.impl.WorkflowTimerAgent$ExpirationJob.execute(WorkflowTimerAgent.java:676)
         at org.quartz.core.JobRunShell.run(JobRunShell.java:191)
         at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:516)
    Has anyone found the same problem?
    Regards,
    Zaloa

    Hi Charles,
    First of all thank you for the reply.
    Right now I'm working in a development environment, where we don't have a cluster. In production environment we do have a cluster for the soa suite so it would be good to know the patch for the cluster.
    On the other hand, I upgraded from 10.1.3.1 to 10.1.3.3 but I didn't run the database script. After reading this post, I executed the upgrade_10131_10133_oracle.sql script but I'm getting the same error.
    One thing that I don't understand is that the log says:
    java.sql.SQLException: ORA-20003: Error while inserting routing slip
    ORA-06512: en "ORABPEL.WFTASKPKG", línea 47
    ORA-00001: restricción única (ORABPEL.SYS_C005188) violada
    ORA-06512: en línea 1
    I connect to the database using orabpel user and I don't find the WFTASKPKG table. Is this normal? What is going on?
    Also, the escalation works alright if no user claims the task.... so I guess it is not an LDAP configuration issue. (both users exist and have title and manager set up)
    Regards,
    Zaloa

  • Human Task Auto Release Default  and configuration question in 11g

    Is there anyway to turn off the auto release feature of a human task if you do not put an expiration date on a task? Also the documentation says the default is 12 hours. If there is not a way to turn off the auto release feature, can the 12 hour default be changed? The documentation is not fully clear to me and then when I look at the UI from the console I do not understand what the identifiers of P5D, P4D, etc mean under the Default Duration column. I get the use of percentage but it is unclear what Default Duration is and how to use that field.
    I saw in 10.1.2 there was a way to turn off the auto release feature of task via restrictedActions but I did not see this in 11g.
    And last question is does anyone know if human task is stored to a database if it runs for too long similar to the concept discussed around bpel processes of hydration and dehydration?
    Thanks,
    Diane

    I am able to fix this issue. After a series of R & D I was able to find that the root cause is %APPDATA%\jdeveloper. Deleting the relevant directory will solve this issue. In fact, I tried to delete the entire jdeveloper directory under %APPDATA% and the jdev 11.1.1.7 form generation issue got resolved. Those who find "referential integrity" issue may follow this approach.
    This solution also applies to this thread
    Auto Generate task Form

Maybe you are looking for