Retrieve IWorkflowContext  in a Human Task Custom Escalation

Hi,
We have a requirement to use ITaskQueryService to query task details in a custom escalation for a Human Task (implements IDynamicTaskEscalationPattern) and need to get handle of existing IWorkflowContext. We do not have user and password to create a new IWorkflowContext in the custom escalation class. I appreciate if anyone could suggest any solution?
Thanks!

Hi,
Any suggestions please...
Thanks!

Similar Messages

  • Bpel human task custom jsp not run

    hi i am use bpel 10.1.3.1 and oas 10.1.3 made a simple bpel process with a human task but the custom jsp generated not run from the url , and i recieve that message
    "Servlet error: An exception occurred. The current application deployment descriptors do not allow for including it in this response"

    The issue was with the way I was passing parameters. I was passing the the task namespace in update mode which is not required.

  • Human Task - Custom buttons outcomes doesn't visible

    Hello,
    I made a simple human task with custom outcomes (Aprovar and Reprovar) in portuguese - brazil. It's equals Approve and Reprove.
    But my 2 buttons doesn't visible.
    <af:commandToolbarButton actionListener="#{invokeActionBean.setOperation}"
    text="#{wf:getResourceValue('Aprovar', 'bindings.customActions')}"
    disabled="#{!bindings.Aprovar.enabled}"
    action="#{invokeActionBean.invokeOperation}"
    partialSubmit="false"
    *visible="#{wf:isCustomActionAvailable('Aprovar', 'bindings.customActions')}"*
    id="ctb1">
    <f:attribute name="DC_OPERATION_BINDING"
    value="bindings.Aprovar"/>
    </af:commandToolbarButton>
    What's errors could happening ?
    Thanks.

    I found a solution.
    In the task file (xml), there is a parameter called <enableAutoClaim>true</enableAutoClaim>
    Could anyone explain me why this works ?
    This is a bug ?
    http://webcache.googleusercontent.com/search?q=cache:BSLT61xE8pcJ:download.oracle.com/docs/cd/E14571_01/doc.1111/e15176/human_task_bpmpd.htm+enableAutoClaim&cd=4&hl=en&ct=clnk&client=ubuntu
    In the link above, there is a citation "the enableAutoClaim is TRUE by default".
    But my buttons APPROVE and REJECT only is displayed when i explicitly set this parameter.
    Thanks

  • Invoking Web Service from BPEL PM Human Task

    Hello,
    I have done the following tasks
    Create a BPel PM , Add a Human task and customized it.
    Create a Web service Proxy and Generate a Jar File from that classes like "wsCallRegions.jar".
    First issue : Where can i put my Jar File ? i don't have any WEB-INF\lib directories to add this Jar to my Webcontent on the human Task.
    Second Issue : I imported the library and all dependencies Using Jdev / import Libraries tool. But when i try to call this Web service in my Paylod-body.jsp say it does´t find the class of WS that i´m using ( I can rebuild it with no errors and deploy it to the server ), this just happen when load the payload-body.jsp page customized.
    How can i make my ant deployment description to load a Lib directories or add this jar to my human task customized ??
    can somebody help me please ?
    Many Thank,
    Vitor

    The problem is that now, with Weblogic Server the project is divided in two...
    And the import goes with the BPEL.JAR and not with EAR files to Weblogic SoaDomain.
    Someone knows where I can find some documentation about this issue ? This maybe could be a "bug" when deploying Human Tasks to Weblogic Appserver ?
    Thanks

  • 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.

  • Human Task Soa Custom escalation

    Hi ,(Human Task SOA suite)
    We have a requirement where we have to determine how many times the task has been escalated.
    Can anybody please tell how to determine the counter for task escalation.
    Based on this escalation count we have to set the task expiration time.
    Please help

    OK, I've realised that the date format is the standard XML schema dateTime (http://www.w3.org/TR/xmlschema-2/#dateTime).
    After a bit of searching around, I discovered the XMLGregorianCalendar class (http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/datatype/XMLGregorianCalendar.html) which could be used in a function like so:
    import java.util.Date;
    import java.util.GregorianCalendar;
    import javax.xml.datatype.DatatypeFactory;
    import javax.xml.datatype.DatatypeConfigurationException;
    import javax.xml.datatype.XMLGregorianCalendar;
    Date parseXsdDate(String xsdDateString) {
        if (xsdDateString == null || xsdDateString.trim().length() == 0) {
            return null;
        DatatypeFactory factory;
        try {
            factory = DatatypeFactory.newInstance();
        } catch (DatatypeConfigurationException e) {
            throw new IllegalStateException(e);
        XMLGregorianCalendar xmlCal = factory.newXMLGregorianCalendar(xsdDateString);
        GregorianCalendar cal = xmlCal.toGregorianCalendar();
        return cal.getTime();
    }Hopefully this is useful for someone. I had been parsing the date strings with a Pattern before, which was not ideal.

  • Custom ADF Taskflow to be displayed as part of Human Task notification

    Hi all,
    I am trying to display a custom ADF taskflow as part of notification of a Human Task. I see multiple ways of implementing it and need guidance on how to go about this.
    As a first step, I created a taskflow based on the human workflow task. This is WEB-INF/oracle/apps/xyzcommon/activities/publicUi/worklist/flow/myTaskflow.xml. Then I see 2 options -
    Option 1 - Use setTaskDisplayUrl while creating the task
    oracle.bpel.services.workflow.task.model.Task task = objectFactory.createTask();
    String AppUrl = oracle.topologyManager.client.deployedInfo.EndPointProvider.getExternalEndpoint("xyzCommon");
    String taskflowUrl = AppUrl + "/faces/adf.task-flow?_id=myTaskflow&_document=WEB-INF/oracle/apps/xyzcommon/activities/publicUi/worklist/flow/myTaskflow.xml";
    task.setTaskDisplayUrl(taskflowUrl);
    Option 2 - Define the taskflow in the Enterprise Manager - Add or remove the URI for the user defined task details application.
    Setup the Application Name=worklist, Host Name, HTTS Port, URL=/xyzCommon//faces/adf.task-flow?_id=myTaskflow&_document=WEB-INF/oracle/apps/xyzcommon/activities/publicUi/worklist/flow/myTaskflow.xml
    Questions -
    1. Are both the above options required to get my notification correct or is just one of them enough? If one of them is enough, which is better to use?
    2. Is creating the taskflow from the human workflow task the only way to customize my notification to show a taskflow?
    Thanks,
    Srini

    Learnt that I need to follow this link and no explicit setting is required in code.

  • Query on rendering the Human Tasks in the customized GUI application.

    Hi All,
    In oracle11g BPEL, Is there any way to render the Human Tasks in the Customized GUI (Weblogic Portal) application rather that using the applications like "Oracle BPM WorkList"?. Does the Oracle11g BPEL supports this ?. My requirement is that, i need to render the Human tasks inside my own GUI application. I do not want to allow the end user of my application to use the other GUI applications like Work List to wotk up on the human tasks. Instead of this, User must be able to access and work up on the BPEL human tasks through my Customized GUI (Weblogic Portal) application. Is there any way in Oracle11g BPEL to achieve the required functionality?.
    Edited by: user538948 on Sep 2, 2012 11:03 PM
    Edited by: user538948 on Sep 5, 2012 2:04 AM

    Hi Naga
    http://docs.oracle.com/cd/E14571_01/apirefs.1111/e10660/toc.htm
    1. I would not recommend using APIs unless and otherwise if you do not have any other option. You can always create the TaskForms in your own custom pages using out of box generated bindings for each .TASK file. This gives more flexibility. There are lots of stuff associated with a Task apart from your own custom payload like full Task details, system attributes, headers, history, comments/attachments etc. You do not want to use APIs to get all these.
    The below 2 links should give you an overview of overall architecture of a Workflow and TaskForms.
    Re: Integrating BPM taskflows into an ADF application
    Re: deploying a large Oracle BPM Application with multiple UI projects
    Re: What exactly 'PAYLOAD' Means???
    Once you have basics covered, refer oracle docs also that shows how to reuse a single project.
    Thanks
    Ravi Jegga

  • 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

  • Adding custom properties to a human task of a worklist

    How can I add custom properties to a human task of a worklist. I don't know if it is possible. I tried to read the oracle BPEL Process Manager Workflow Services API Reference, but this is unreadable :-). Classes, Methods and Parameters are not commented...
    Moreover where can I find a GOOD description of the Workflow Services API explaining the usage of the classes, methods and their associated parameters ?
    Regards. Yvan

    I means I would like to add some parameters to the task without having to load the payload. I would like for example to use these parameters to do query on worklist. Or may be there is also a mean to do search query on worklist using some values that are into the payload of the tasks. May be you can help me :-)
    Regarding the documentation of the worklist API, it is for me very difficult to understant the role of the method as for example SystemMessageAttributesType.setTextAttribute1() or SystemMessageAttributesType.setNumberAttribute1() and so on, if there is no javadoc available and it is the same thing for all methods of the API :-).
    Definitivly I would like to understand the Task entities and all available properties and action I can apply to it to know excatly what I can do with it. Where can I find this information ?
    Regards. Yvan

  • How to retrieve a due date from a human task and create a report in BAM with it

    Hi.
    I'm working with a BPM process, the requirement is that I have a human task and a working hours limit to complete it. For this purpose I created a calendar in the bpm workspace and I've associated it to a role that executes that human task. Now I need to know how can I pass it into a data_object in BAM in order to create a Dashboard that lets me know whether a human task was completed just in time.
    I'm using Oracle SOA Suite 11.1.1.7.0
    Thank you.

    There's a correction to the code. For whatever reason doing it that way still sets it as a "remind me when" parameter. Use the following code instead:
    tell application "System Events" to set FrontAppName to name of first process where frontmost is true
    if FrontAppName is "Reminders" then
              tell application "Reminders"
                        set duedate to (current date) + (2 * days)
      make new reminder with properties {name:"New Reminder", due date:duedate}
              end tell
    else
              display dialog "failed to make new reminder!"
    end if

  • Custom bean on Approve in Human Task Form

    Hi,
    I have a complex requirement, The Approver has to validate the employee number manually.Approver will look in some system.
    There is a check box in  Human Task Form  " Validated Employee Number".
    The approver has to check mark this check box before approve. If this check box is not checked, we have to stop them with a pop up " Please verify employee number"
    Please advise.
    Thanks in advance.

    for the approve button, add action listener method and check your reqired fileds if any required filed is not entered you can throw an error as below.
    FacesContext.getCurrentInstance().addMessage(null,
                                                                           new FacesMessage(FacesMessage.SEVERITY_ERROR,
                                                                           "Your Error Message",
                                                                            null));

  • Custom JSP for Human Task

    Hi all,
    How can I create cusstom JSP for my Human task? Where can I see the log if I modify anything in the JSP?
    I am not able to see any log anywhere when I pass some messages through payload jsp.
    Regards

    Hi All,
    Atleast I came to know where payload-body.jsp resides. I got all my list of values inside my JSP. Now I want to select only one value and want to send only that selected value to the process.
    I've customised payload jsp and I've put radio buttons against all the values but when I select any one radio button then also, its sending all list values to the process and not the selected one.
    What shall I do now? How to pass only selected value to the process?
    Hope we all can make this happen. Looking forward for your support again.
    Thanks & Regards

  • How to register Custom Escalation class or project as a part of soa installer?

    Hi,
    I have written a custom class for human task escalation which is part of project i created which contains all libraries and other files related to escalation.
    To test it i manually put in oracle.soa.ext jar inside soa module in weblogic server.
    However i want to register it using java class using some API.
    Please help.

    Take a look at the following blog article:
    http://jamesmacesp.wordpress.com/2009/12/14/provisioning-sharepoint-sites-with-feature-receivers-part-1/
    Add your custom page normally using a module entry in the feature.  But apply it as the default welcome page using the event receiver.
    Paul Stork SharePoint Server MVP
    Principal Architect: Blue Chip Consulting Group
    Blog: http://dontpapanic.com/blog
    Twitter: Follow @pstork
    Please remember to mark your question as "answered" if this solves your problem.

  • Human Task Bulk API calls from ADF Entity Object

    Dear all,
    Jdev: 11.1.1.7.1
    We have a requirement where in human task APIs need to be invoked on status changes of an ADF Entity (EO). We presently achieve this in the afterCommit() method and all is well.
    But we are looking to leverage the Human Task bulk update APIs and am wondering how to do that.
    The EO does support a batch mode - Is there a batch mode API that we can override to place the bulk update API call?
    Thanks

    in version 11.1.1.6 getInputStream() and getContent() do not work, this is know bug you can find in the oracle support at
    https://support.oracle.com/epmos/faces/ui/km/SearchDocDisplay.jspx?_afrLoop=175895926830291&type=DOCUMENT&id=1451100.1&displayIndex=8&_afrWindowMode=0&_adf.ctrl-state=tlzphlagm_69
    there you can find a .zip file with a full example code.
    Actually Oracle does not consider it a bug:
    "This issue was reviewed by Engineering in Bug 13873092 and is not considered a bug. There is a workaround to retrieve task contents through 'WFTaskUpdate' Servlet as described in the attached Sample project."
    but in my opinion it is a very big bug endeed, and it drove me mad for days! :(
    Anyway here is a snippet with the workaroud in case you do not have access to the oracle support site:
    if att is you attachment and wfContext is your workflow context set somewhere
    AttachmentType att;
    IWorkflowContext wfContext;
    instead of doing this
    InputStream inputStream = att.getInputStream();
    do this
    String contextId = wfContext.getToken();
    String attachmentURL = WFUtils.getTaskUpdateURL(att.getTaskId(), contextId, "" + att.getVersion(),att.getName(),
    Constants.WFTASK_QUERY_ATTACHMENT_BUTTON_KEY_NAME);
    if ( attachmentURL == null ) {
    System.out.println("Unable to generate URL to get attachmentcontent");
    try {
    URL url = new URL(attachmentURL);
    URLConnection conn = url.openConnection();
    InputStream inputStream = conn.getInputStream();
    } catch ( Exception e ) {
    e.printStackTrace();
    hope this helps
    Massi

Maybe you are looking for