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.

Similar Messages

  • 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

  • How to set dynamic expiration date in User Task

    Hi
    I need to set the expiration date of a User Task to a specific date, not a duration. Is it possible to do this?

    I have also got a smiliar problem. Does anyone have any further information to how this can be achieved?
    I have been able to use the Human Task Wizard screen (<usertask>.task) to hard code the expiration time. Using the Fixed Duration option of days, hours or minutes. I have tried to use the 'By Expression' to do this but have been unable to get it to work. I have tried to select the /task:task/task:systemAttributes/task:expirationDuration or the /task:task/task:systemAttributes/task:expirationDate element within the task workflow xsd but are unsure how to get it to read the date. I have tried to assign a time component to expirationDate and a time period P0DT0H20M to the expirationDuration element.

  • Setting a dynamic expiration date in User Task in BPEL 10.1.3.1

    I have a user task / human workflow activity within a BPEL 10.1.3.1 project. I need to be able to set the expiration date of the task dynamically that gets assigned within this worklist.
    I have been able to use the Human Task Wizard screen (<usertask>.task) to hard code the expiration time. Using the Fixed Duration option of days, hours or minutes. I have tried to use the 'By Expression' to do this but have been unable to get it to work. I have tried to select the /task:task/task:systemAttributes/task:expirationDuration or the /task:task/task:systemAttributes/task:expirationDate element within the task workflow xsd but are unsure how to get it to read the date. I have tried to assign a time component to expirationDate and a time period P0DT0H20M to the expirationDuration element.
    Has anyone had experience of this or know whether it can be done? Any help would be appreciated
    Thanks

    I agree with David.
    The lexical representation for duration is the ISO 8601extended format PnYn MnDTnH nMnS, where nY represents the number of years, nM the number of months, nD the number of days, 'T' is the date/time separator, nH the number of hours, nM the number of minutes and nS the number of seconds. The number of seconds can include decimal digits to arbitrary precision.
    The values of the Year, Month, Day, Hour and Minutes components are not restricted but allow an arbitrary unsigned integer, i.e., an integer that conforms to the pattern [0-9]+.. Similarly, the value of the Seconds component allows an arbitrary unsigned decimal. Following ISO 8601, at least one digit must follow the decimal point if it appears. That is, the value of the Seconds component must conform to the pattern [0-9]+(\.[0-9]+)?.
    An optional preceding minus sign ('-') is allowed, to indicate a negative duration. If the sign is omitted a positive duration is indicated.
    For example, to indicate a duration of 1 year, 2 months, 3 days, 10 hours, and 30 minutes, one would write: P1Y2M3DT10H30M. One could also indicate a duration of minus 120 days as: -P120D.
    Reduced precision and truncated representations of this format are allowed provided they conform to the following:
    * If the number of years, months, days, hours, minutes, or seconds in any expression equals zero, the number and its corresponding designator may be omitted. However, at least one number and its designator must be present.
    * The seconds part may have a decimal fraction.
    * The designator 'T' must be absent if and only if all of the time items are absent. The designator 'P' must always be present.
    For example, P1347Y, P1347M and P1Y2MT2H are all allowed; P0Y1347M and P0Y1347M0D are allowed. P-1347M is not allowed although -P1347M is allowed. P1Y2MT is not allowed.
    HTH,
    Bas

  • How to edit task form generated from human task (.jspx)???

    I created simple SOA application with simple Human task (from this tutorial http://redstack.wordpress.com/2010/01/08/human-workflow-in-11g/ but it doesnt matter) in JDeveloper. Then I generated standard form from human task (Human task -> Auto-Generate Task Form).
    The question is, how to make own form? Not the generated default, but with my own logic...That form is jspx, not jsp, and thats the main problem, in this JDeveloper everything is a bit complicated.
    I tried delete whole generated content, and just import my created file.jsp into jspx like below, but without result. How to import jsp into jspx? I dont want to completely rewrite my existing jsp into jspx and copy it over default...
    <?xml version='1.0' encoding='UTF-8'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:trh="http://myfaces.apache.org/trinidad/html"
    xmlns:wf="http://xmlns.oracle.com/bpel/workflow/workflow-taglib.tld"
    xmlns:wlc="http://xmlns.oracle.com/bpel/workflow/worklist">
    <jsp:directive.page contentType="text/html;charset=UTF-8"/>
    *<jsp:directive.include file="file.jsp"/>*
    </jsp:root>
    Edited by: [email protected] on 8.6.2010 9:47
    Edited by: [email protected] on 8.6.2010 9:47
    Edited by: [email protected] on 8.6.2010 9:48

    Hi,
    Try
    FacesContext context = FacesContext.getCurrentInstance();
    NavigationHandler handler = context.getApplication().getNavigationHandler();
    handler.handleNavigation(context, null, outcome);
    context.renderResponse();Regards,
    ~ Simon

  • Cannot use jstl tag for jsp page which generated from Human Task

    Hi
    Plz help me.
    I have tried to using jstl in jsp which generate from Human Task and I deploy it to server( by ant on Jdev ) to see task detail in Oracle Worklist application. But when i submit task and then I access to worklist to see task detail, the error has show in page that "OracleJSP: An error occurred. Consult your application/system administrator for support. Programmers should consider setting the init-param debug_mode to "true" to see the complete exception message. " .
    I access server to see application.log to see error and I see error show "workflowform: JspServlet: unable to dispatch to requested page: Exception:oracle.jsp.parse.JspParseException: /Header1.jsp: Line # 3, <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%> "
    How do I fix this error?
    PS. I tried to us jstl because I need to connet to database which jstl tag(sql) if somebody has another solution for connect database in task detail page, Please help suggest me.
    Thanks
    user520932

    Is the jstl tag libray loaded in the appsserver?
    Can you use jdbc connection like
    DataSource ds = ic.lookup("java:comp/env/jdbc/myDB");
    Connection con = ds.getConnection();
    DataSource ds = (DataSource) org.apache.derby.jdbc.ClientDataSource()
    ds.setPort(1521);
    ds.setHost("localhost");
    ds.setUser("APP")
    ds.setPassword("APP");
    Connection con = ds.getConnection();
    http://java.sun.com/docs/books/tutorial/jdbc/basics/connecting.html

  • 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 set the Expiration Date for a task which is been assigned explictly.

    Hi,
    When I assign a task to myself and not work on it for couple of weeks the task is getting released automatically into the original unassigned pool. The TaskActionHandler WSDL is causing that to happen. I don't want a task to be automatically released into the pool when I don't work on it for couple of weeks, how can I make that happen? TaskActionHandler is something which comes with the BPEL so I can't change the way how it behaves. Do I need to set the expiration date or duration explicitly when a task is created?then how do I do that?
    If anybody could let me know how to make TaskActionHandler not to release a dehydrated task, I would be glad.
    Thanks,
    Mythili.

    Hi,
    Make AUTO RELEASE a restricted action for the task by adding the following line:
    <restrictedAction>AUTO RELEASE</restrictedAction>
    to the <restrictedActions> tag in the task configuration file.
    Works effectively.
    Alternatively, you can specifiy the auto release durations on a per task priority basis. There is more on that in the BPEL Dev Guide.
    Hth, Sjoerd

  • Dynamic participant block in Human task flow

    Hi All,
    I am working on human task flow and got stopped on below use case.
    I have two participant block let say A and B. I want to assign participant A depends on flat inside task flow parameter. If Flag is Yes, then it should assign to A and on approval of A it should complete the task flow. But if Flag is NO, then it should first assign to B, on approval from B, it should again assign to A and after that it should complete the task flow.
    I tried to use dynamic role assignment but there i am not able to define above use case. Dynamic rule is saying you can assign A or B depends on some rule(task flow parameter) but my requirement is little different.
    If Flag is Yes,
    - assign to A -> on approval -> complete the task flow.
    If Flag is No
    - Assign to B -> on approval from B -> assign to A -> on approval from A -> complete the task flow.
    I want to build this logic inside single human task flow.
    Please help.
    -Sunil

    Hi Zaloa,
    Can you pls try this.This should work.
    1. Go to Edit Task Definition page and add a Parameter of type string(default).
    2. Now come to the human task dialog( the one you get on double clicking the human task activity) and add a value to the parametr you just added(string)using the search light .This value should be the variable containing the value of the asssigne which you want to add dynamically.
    3.Now again go to the Edit Task Definition page and select the Assignment policy and select the expression path builder.
    4. You should be able to see the parameter you just added under task:payload. select this . now your assigne is dynamically added.
    Pls let me know if you need further details. Hope this helps.
    Thnks
    Message was edited by:
    soaUser

  • Remove Actionable links from human task notification??

    Is posible to remove the link from the human task notification mail.
    Thanks...

    yes, if you recompile the *.jar and remove the setting "make notifications actionable" (you can find it in the human task definition)

  • Accessing output variables from human task

    Hi,
    I added a human task in my process (jdev 10.1.3) and set up a parameter to be an input field in the jsp. However, I could not find a way to copy the value from this particular variable even though this parameter is a child of payload. Do I have to define the query manually or did I miss something?
    Thank you for advice,
    Mirco

    Ok, I crosschecked the examples and it seems, that there is indeed an example for what I am looking for. In the LoanPlusDemo there is a StarLoan process and that contains the following assignment following a human task:
    <sequence id="BpSeq3" >
    <assign id="BpAss4" >
    <copy>
    <from variable="LoanApproval_globalVariable" part="payload" query="/task:task/task:payload/auto:loan"/>
    <to variable="loan" query="/auto:loan"/>
    </copy>
    </assign>
    </sequence>
    Now considering the input structure:
    <task>
    <title>Loan application for</title>
    <payload>
         <loan>
         <loanApplication>
    <ns1:SSN>123222</ns1:SSN>
    <ns1:email>[email protected]</ns1:email>
    <ns1:customerName/>
    <ns1:loanAmount/>
    <ns1:carModel/>
    <ns1:carYear/>
    <ns1:creditRating/>
    </loanApplication>

         <loanOffer>
    <providerName>Star Loan</providerName>
    <selected>false</selected>
    <approved>false</approved>
    <APR>47</APR>
    </loanOffer>
    </loan>
    </payload>
    How do you know how exactly to create the copy rules? JDev does not support this, that much was answered before. I would absolutely appreciate if someone could
    1. Tell me something about the namespaces in the copy rules e.g. why is it /auto:loan and not just /loan?
    2. An example on how to create such things.
    One of the two might be sufficient.
    Thank you.
    Hinrich
    Message was edited by:
    punkrock77

  • Call web service from human task

    Hi All,
    I have a requirement to call webservice inside human task flow. I have three participant in my human task flow. Let suppose A, B and C. When A approves then task will be assigned to B and when B approves it will go for C.
    My requirement is that, when A approves , then i need to call one external webservice to update database. I did not get any option to call webservice inside human task flow.
    Please help.
    Regards,
    Sunil

    Thanks userN for your wonderful reply but i have one more question.
    As per your instructions i have enabled call back events in Human task flow. In this way i got while loop inside my BPEL. In onTaskAssigned operation i am now trying to call external web service. My requriment is to call external service and get data from service. After getting response from the webservice, i want to assign it to next participant.
    But in this case, when user B approves, it goes to onTaskAssigned block and i am able to make external web service also but mean time, it has been assigned to User C which i do not want.
    I want Human task flow to wait for the webservice response then only assign it to next participant.
    Please help, is there any option to do it.
    Regards,
    Sunil

  • How to map payload from Human Task to BPEL

    Hi,
    I have created a human task form for which I send two parameters from the BPEL process.
    The user is able to update the fields containing the sent parameters and then click 'APPROVE' or 'REJECT'. However, I need the values of the updated fields to be returned and not the 'APPROVE' or 'REJECT strings.
    Can anybody help me with this?
    Alex

    Hi Alex,
    If you checked the Editable via worklistapp box then you dont need to update the values.
    These values automatically update the values of these parameters in human task if you properly mapped the values.
    Regards,
    Priyanka

  • Throwing Business Exception from Human Task

    Hi,
    Can anyone point me to some examples, of how can I configure a Human Task to throw a business exception in a BPMN process ?
    I want to provide th user with the ability of completing the task normaly, or launch a business exception like, cancel the order, or lack of stock.
    I'm using Fusion 11g.
    Thank You.
    /RG

    Hi
    Thanks for the reply. But, I'm not sure I understood you correctly. What I want, is not to capture an exception after a human task, but to generate one in it. I want to add an error boundary event to a human task. The user can fill the form normally (for example a purchase order) and the normal flow continues or he can generate an exception (like cancel case, or lack of stock) that will be cought by the error boundary event.
    What I want to know is how can I generate a business exception inside a human task? For example in the interface.
    Is this the right way to do it ? Am I missing something ?

  • Problem in setting user end date from oim to account expiry date in AD process form

    Hi all,
    i am updating the user end date from oim to user account expiry date in ad process form using oim api.
    i am able to get the end date value from oim but when i am setting it using api it through exception but all other attribute i am able to update in process form.
    i am facing the problem only with end date field because of different date format in OIM and  AD .
    so please suggest me what are date format in Active Directory and how can i change the oim date format to Active directory time format in in my java code.

    Thanks for the reply.
    But all iplanet users need not contain end date attribute, and its an update on existing user.
    Can you please ellaborate more on Transformation class..?? example should be helpful.

Maybe you are looking for

  • How to send an email with attachment using shareponit 2013

    Hi Team, I have a PowerView report in my PowerPivot gallery and I want to export it to a PDF file then email it to id. Also I need this to be scheduled.  Kindly suggest on the steps! Thanks in Advance!! Thanks, Arsath.

  • Error while doing the repository export

    hi, I am getting error while doing the export repository,Message: GEN-13, Additional Message: Dictionary is not available on this database, can anyone help me how to resolve this issue. thanks, Sundar M

  • New problem with PDF's, especially in Safari and other browsers (?)

    I've had several PDF documents on my web site for several years. Today, a visitor brought it to my attention that several of these will not display properly in web browsers. It appears that the older ones display properly, but the new ones have probl

  • TP4 - SEVERE: Can't register active data when window has no name

    Hello, I'm getting this message in OC4J console every time PPR is used in a page. It is coming from oracle.adfinternal.view.faces.activedata.SessionDataUpdateManager __getPageDataUpdateManager Other that my application works ok. I think it's related

  • Safari 5 closes on start Windows 7 64 Bit

    hi! since yesterday afternoon i have a massive problem with safari 5 on windows 7 64 bit. when i start safari i see it for about 200 ms and then it closes. i´ve also reinstalled it several times but nothing works. i´ve installed safari 4 now again an