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

Similar Messages

  • Update Human Task Payload

    I need to update a Human Task Payload from another BPEL Proccess. I tried using TaskService and I can set Outcome and Release the task but I cannot update the Task Payload.
    I'm doing this using a JSP client and works well but I need to do that through a SOAP Service
    Somebody can help me?
    Thanks,
    GGG

    Create your own variable-set and copy the outcome from the task to this variables with an assign-activity.
    You can now modify them as you need.

  • Custom Escalation in Human Task in Oracle SOA BPM 11g

    This is a sample that demonstrates custom escalation in Human Task in Oracle SOA BPM 11g.
    package oracle.bpel.services.workflow.assignment.dynamic.patterns;
    import java.util.Map;
    import oracle.bpel.services.workflow.assignment.dynamic.DynamicAssignmentException;
    import oracle.bpel.services.workflow.assignment.dynamic.IDynamicTaskEscalationFunction;
    import oracle.bpel.services.workflow.task.impl.WorkflowUtil;
    import oracle.bpel.services.workflow.task.model.Task;
    import oracle.tip.pc.services.identity.LocalIdentityService;
    public class CustomEscalation implements IDynamicTaskEscalationFunction {
    public CustomEscalation() {
    super();
    public String getTaskEscalationUser(Task task) throws DynamicAssignmentException {
    String currentAssignee;
    try
    currentAssignee = WorkflowUtil.getCurrentAssignee(task);
    return getTaskEscalationUser(currentAssignee);
    } catch (Exception e) {
    throw new DynamicAssignmentException(e);
    public String getTaskEscalationUser(String user) throws DynamicAssignmentException {
    try
    if (user == null)
    return null;
    String manager = null;
              * Replace below code with your acutal logic.
    // if( user.equalsIgnoreCase("john")){
    // manager="jcooper" ;
    return manager;
    } catch (Exception e) {
    throw new DynamicAssignmentException(e);
    public void setInitParams(Map map) {
    public String getFunctionName() {
    return "CUSTOM_ESCALATION";
    public String getDescription() {
    return "Custom Escalation";
    Please refer below link to register above custom escalation class on SOA Server.
    http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10224/bp_hwfmodel.htm
    regards.

    Thanks for your reply and confirmation, really appreciate it.
    Yes, I found the difference of the invoking process API and was able to invoke bpel process using direct and ADF-BC binding by following Edwin's blog. But I have not found any official reference to compare this API difference between 10g and 11g ( I will mark this question as answered if anyone can find an official source from oracle, need to prove it to the team). The API to work with human task workflow seems pretty much the same between 10g and 11g.

  • Using Human tasks in a BPM process

    Hi
    I managed to deploy the VacationRequest sample which uses human task in a BPEL process.
    I want to implement the same human task in a BPM process. Are there any tutorials or stepswise guide for the Vacation Request sample using BPM process?
    Also, what are the main differences between a BPEL and a BPM process because most of the things that are done in BPEL can be done in an BPM process as well.
    Thanks

    I was able to implement the same using a BPM Process.
    For those of you, who may require the steps:
    1. Create a webservice based on the VacationRequest.xsd with VacationRequest as request and VacationResponse as CallBack
    2. Create a human task and task flow as described in the VacationRequest.pdf provided along with the sample.
    3. Create a BPMN process, associate the Start Event to the WebService Interface and map the request and response.
    Also associate the End Event to theWebService callback port.
    4. Deploy the process and taskflow.
    But I have a query here? Even in the sample given(using bpel process) how will the requestor know that the leave has been approved/rejected.
    what exactly is sent out as the response to the call back port. And, where can the requestor view the response?
    Regards

  • Report Human task payload changes.

    We need to auidt all changes in a task payload ?
    How can I report Human task payload changes ?
    is bpel have these information.
    if it has how we can use it ?
    if it hasn't how we can implemet a solution ?
    Thanks.

    We need to auidt all changes in a task payload ?
    - It's in the database (dehydration store), and you can view it view Workflow Admin user with the default worklist application.
    How can I report Human task payload changes ?
    - It's in the database (dehydration store), and you can view it view Workflow Admin user with the default worklist application.
    is bpel have these information.
    - It's in the Workflow engine.
    if it has how we can use it ?
    - see above
    if it hasn't how we can implemet a solution ?
    - see above, make your own changes via the BPEL/WOrkflwo Java API.
    Marc
    Http://orasoa.blogspot.com

  • Unable to update human task

    Hello,
    I'm unable to update human tasks neither via SOAP nor within
    the worklist application.
    With the worklist application I'm able to set the outcome though.
    I'm able to fill the form on the Task Details Page, I press the
    save-button, the browser loads the empty form again. Couldn't find
    anything in the server logfiles.
    Trying to update the task with the soap-client results
    in the following fault-message:
    Action UPDATE on task 737132c63xxxxxxxxxxxxxxxxxxxxxxxxxxc3 is not
    valid because of User does not have access/privilege to perform the action.
    Trying to update the task outcome with the soap-client results
    in the following fault-message (which works in the worklist app with
    the same user!):
    Action OUTCOME_UPDATE on task 737132c63xxxxxxxxxxxxxxxxxxxxxxxxxxc3 is not valid because of User does not have access/privilege to perform the action.
    Furthermore the user I'm testing with meanwhile has all available
    roles, so I don't know if the fault-messages actually have something
    to do with the error.
    I configured the task parameter as 'Modifiable via worklist'.
    What did I miss?
    I use the SoaSuite 10.1.3.1.0
    Regards, Martin

    Hi,
    Setting the elementformdefault of the task payload to 'qualified'
    solved half of my problems. Updating and setting the outcome
    in the worklist application works now. Thanks a lot for your hint
    again.
    I'm still not able to update the task via Soap Client. I get the
    same fault-message:
    Action UPDATE on task 737132c63xxxxxxxxxxxxxxxxxxxxxxxxxxc3 is not
    valid because of User does not have access/privilege to perform the action.
    Same with setting the outcome.
    Regards, Martin

  • Invoking bpel process from java in oracle soa/bpm 11g

    Hi,
    We have some java code to invoke bpel process in oracle BPM 10g following the instructions in http://download-east.oracle.com/docs/cd/B14099_19/integrate.1012/b14448/invoke.htm.
    Basically the steps are:
    1) get a Locator (com.oracle.bpel.client.Locator)
    2) get IDeliveryService (com.oracle.bpel.client.delivery.IDeliveryService) reference from locator
    3) call IDeliveryService method request or post with input message and get the response back.
    Recently we want to migrated from oracle bpm 10g to oracle soa/bpm 11g. But I can not find the similar API in 11g. It seems now some adapter/binding need to be added in exposed service lane in soa composite view, for example, ADF-BC, direct binding etc, in order to allow java to invoke a bpel process. Here are two very useful links from Edwin about the detail how this is implemented.
    http://biemond.blogspot.com/2009/11/invoking-soa-suite-11g-service-from.html
    http://biemond.blogspot.com/2009/11/calling-soa-suite-direct-binding.html?showComment=1285198033913#comment-c1055322845511794252
    My question is:
    1) what are the choices and the official/best way to invoke a bpel process in oracle soa/bpm 11g from java?
    2) does user need to add an adapter/binding in exposed service lane in order to let the bpel service be called in java?
    3) what is the real difference between a bpm application and soa application in 11g?
    I will really appreciate any expert's opinion.
    Thanks,
    Bin

    Thanks for your reply and confirmation, really appreciate it.
    Yes, I found the difference of the invoking process API and was able to invoke bpel process using direct and ADF-BC binding by following Edwin's blog. But I have not found any official reference to compare this API difference between 10g and 11g ( I will mark this question as answered if anyone can find an official source from oracle, need to prove it to the team). The API to work with human task workflow seems pretty much the same between 10g and 11g.

  • Is it possible to update the human task payload without using worklist API but only using advance routing rule.

    Hi,
    I have one human tasks in BPEL process in which i am using different stages and with using advance routing rules i am routing my task payload to one stage to another.My payload has Task Status and Branch,after approving the human task from first stage I want to send modified value of the Task Status to the next stage without using worklist API or manual updation but only using the advance routing rules,is it possible ??? If anyone have any idea about this than please enlight me with your valuable solutions and  advices...
    Thanx
    Regards
    Ajral

    Hi SamGoe,
    According to your description, my understanding is that you want to update the PoerPoint slide from SharePoint 2010 slide library automatically.
    It seems to be not necessary to use Macros. SharePoint provides an OOB way to notify you to check for update to the slide library slides when you open the presentation. PowerPoint does this because you selected the option
    Tell me when this slide changes when you copied the slides from the library.
    More information, please refer to the link below:
    http://office.microsoft.com/en-us/powerpoint-help/sharepoint-slide-libraries-ii-use-slides-in-the-library-RZ010254089.aspx?section=6
    I hope this helps.
    Thanks,
    Wendy
    Wendy Li
    TechNet Community Support

  • How do we determine if a Human Task instance in BPM Workspace is open?

    Hi All,
    An interesting one. How do we programatically determine if a BPM Workspace instance is opened for processing? I would like to ensure that a form is opened only by one user at a time, and any attempt to open the form concurrently will result in the form presenting an error message and then closing itself.
    Any ideas?
    I am posting this on the SOA form as well, as it is the BPM Workspace. Kindly overlook if this is inappropriate.
    JDev : 11g.
    Thank you.

    posting it here will help you for sure
    Business Process Management Suite
    SOA Suite

  • Accessing Human Task Payload from ADF Task Flow

    Hi
    Using jDeveloper 11g TP4 SOA...
    The scenario is this:
    1. We have created a Human Task which has parameters accountId and accountType in the payload.
    2. We have then created a Task Flow based on that human task.
    3. Inside the web folder with task flow we have *4 task display forms* (jspx pages).
    4. In the task flow we have the 4 pages and then a router
    5. Now we want the router to look in the payload of the human task and based on the accountType redirect to the correct task display form.
    Problem: We can't access the human task data control from the router in the task flow.
    Does anyone have some insigt into how we can read the accountType from the payload and then pick the correct task display form?

    Hi victor,
    i'm using a SOA(OSB) based task service, but i think that you have to use a "task service" (or something like this) to update your task
    this is my routine
    public Task updateTask(Task task) throws Exception {
    TaskServiceContextTaskBaseType taskUpd =
    new TaskServiceContextTaskBaseType();
    taskUpd.setWorkflowContext(getWorkFlowContext());
    taskUpd.setTask(task);
    return taskService.updateTask(taskUpd);
    where taskService is the port of my proxy.
    Hope this help

  • How to get current task ID in BPM

    Hi guys,
    I have a requirement where I need to get the current active UWL task id in BPM context. I  have seen the following code to create a direct execution url for a BPM task.
    // begin session
          IUWLSession uwlSession;
          uwlSession = uwlService.beginSession(uwlContext, sessionIdleTimeout);
          uwlContext.setSession(uwlSession);
          IUWLItemManager itemManager = uwlService.getItemManager(uwlContext);
          QueryResult result = itemManager.getItems(uwlContext, null, null);
          ItemCollection items = result.getItems();
          Item item = null;
          for (int i = 0; i < items.size(); i++) {
            item = items.get(i);
            Map params = new HashMap();
            params.put("taskId", item.getExternalId());
            String executionURL = WDURLGenerator.getApplicationURL("sap.com/tc~bpem~wdui~taskinstance", "ATaskExecution", params);
    This works fine, but this is looping through all the tasks assigned to a user.  How do I get the current task ID. I want to use the code inside webdynpro application which is caled as a human activity in BPM. When this WebDynpro application is called I would like to know the current task ID.
    As an FYI , UWL configuration passes the current task ID as a Dynamic parameter to "sap.com/tcbpemwdui~taskinstance"
    application.
    Please help if someone can identify how to get this value in my custom WD.
    Thanks,
    Yomesh.

    Yes. there is no API to get the current task.
    Try this:
    WDProtocolAdapter.getProtocolAdapter().getRequestObject().getParameter("wi_id");
    But i still say a bit confused with your requirement.
    The task id gets created only upon creation of a task. And you want this current task id in the BPM Process context? How is it possible unless and until some action takes place and the data is passed from WDJ to BPM Context?
    Please clear my doubt.

  • How to take human task values and store them in DB table

    Hi, I have a workflow and when I assign the task to someone I want to store some info in a database table that I created.
    I have checked the box allow task and routing customization in bpel call backs.
    And under the on Assign message, I put an assign bpel construct and an invoke.
    in the assign construct I am trying to copy some of the elements from my humantasks_globalvariables to certain columns in my database table.
    I have found out you can't copy them directly because the humantasks_globalvariables are of type string and my database columns are anonymous. So I tried using parseEscapedXML(), when I do this I get the error that
    oracle.fabric.common.xml.xpath.XPathFunctionException: parseXML() expects the argument to be either a string or an XML element.
    The humantasks_globalvariable I am using says it's of type string but it gives me this error.
    I am obviously doing something wrong. If anybody know how to take values from a human task and store them in a database table any help would be greatly appreciated.

    In the actual database the column types are varchar2. But when I drag an invoke from the bpel constructs I associate it with by DBadapter partner link and click the button automatically create input variables. It creates an xsd and this is what one of the elements looks like.
    <xs:element name="anyvalue">
        <xs:simpleType>
            <xs:restriction base="xs:string">
                 <xs:maxLength value="20"/>
            </xs:restriction>
        </xs:simpleType>
    </xs:element>When I do an assign and try to assign the values from the humantasks_globalvariables xsd there types look like this.
    task:title string
    and the input variable I automatically generated look like this.
    ns7:anyvalue <anonymous>

  • How to change Human Task state from "Completed" back to "Assigned"

    I am working with human task through BPEL Worklist API
    There is Human Task with state “completed”. We need to change the state back to “Assigned”
    In other words or get this task with “Assigned” state or get exactly the same task with the same number (that I can use as int parameter in ITaskQueryService.getTaskDetailsByNumber method invocation) .
    Is it possible?
    I tried to use ITaskService methods but without results.
    Thanks.

    Hi ,
    This request sits in table RSBKREQUEST with processing type as 2 in data elements USTATE, TSTATE and this 2 is actually "Processed Successfully" status which is obviously wrong.
    All we need is, ask your basis person to change the status to 3 in both these data elements.Then you can delete the previous bad request . Once the request is deleted, the request status gets updated as "4" in table RSBKREQUEST.
    For manually status change you can use the function  module RSBM_GUI_CHANGE_USTATE
    Hope this helps you...
    Regards,
    Debjani...

  • Migrating 10g Human Task Bpel process to 11g - No task flow

    Hi All,
    I have migrated a bpel process that has a human task to 11g. I need to stipulate the uri so that it will show on the worklist.
    Apparently there is a file in the WEB-INF folder that i must reference. I went into the folder and there is many xml files(adfc-config.xml,faces-config.xml,trindad-config.xml, web.xml, weblogic.xml) there is no file generated from the migration. Hence how do i go about to get the correct uri and for the worklist to show.
    Below is an incomplete uri
    /workflow/ExceptionHandlerTaskForm//faces/adf.task-flow?_id=ExceptionHandler_WF_1_TaskFlow&_document=WEB-INF/

    failed to get solution

  • How to add parameters to human task implementation in BPM process?

    Hi,
    I tried the BPM process tutorial Tutorial
    and at step "Implementing the User Task" 1. ("Click on the hello data object and drag it into the parameters panel") I encounter a problem.
    I cannot drag anything onto the parameter pane. I can send you a screenshot if that helps. The data object window also does not have the buttons it should have according to the image in the tutorial.
    I am using JDeveloper 11.1.1.6.0 (the tutorial uses 11.1.1.3) I don't know if thats a bug or if I missed something. I followed the tutorial step by step starting from "Creating the Process Model".
    thanks in advance
    Steffen

    Ok I finally figured it out by myself.
    This is a bug that sometimes occurs, several re-installs solved the problem.
    (However in the process also another bug appeared but in the end it installed without any of these two bugs)

Maybe you are looking for

  • Home Sharing source codes or properties ?

    Hello everyone, homesharing is using for sharing another computer. I thought that an android device is also a computer. so i want to find a way to use my itunes library on my android device. That way could be a program, or a service or something else

  • JPF and backing file

    I have just started using BEA portal. JPF has controller that handles all the action processings. Backing file has callback handlers to perform the same. Is the backing file concept prior to JPF's were introduced or they still go hand in hand? When d

  • Best way to write the following query

    Hi , I've the following table structures and data.. And i've written the query to get the records which are greater than BBB- But could you please hint me to write in simpler way. create table obj (ob_id ) as select 1 from dual union all select 2 fro

  • Is there a limit for Content Height?

    I can't get mine to go higher than 4000px.  Is there a workaround?  Thank you!

  • Which port is open for connection ?

    how could I know which port is open for connection ? In the java, I use JDBC to connect to Oracle, connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:sid", "scott","tiger");Do we have a command to show open port ? Thanks.