I require a Human Task allowing a null, updatable, payload parameter

Hello, I hope to get help here for I have been stuck for a while.
I am developing a BPEL process for employee Onboarding. Several of the Human Task forms contain parameters, like Address2, MIDDLE_NAME, etc, which it is perfectly all right for the parameter to have no value. For my exerts below I will use the MIDDLE_NAME parameter.
Below is my error message, the assign which is throwing the error, the schema definition DetermineLocation_ht_payload.xsd, and the task definition file DetermineLocation_ht.task
I have tried various permutations and locations of MinOccurs and nillable. I find it hard to believe that this is such an abnormal requirement, to allow a null element in a Human Task. I am obviously missing something fundemental.
TheseTask Forms should present data to a user, and allow them to edit the updatable data and Approve. Even the non-updatable elements throw the error if null. Everything else in my process works fine: if I use a single character like a "~" or something when initiating from BPEL Console, all works fine. I hate to use a '~' or something for a "filler", seems so bogus.
Can someone please help me? I would appreciate it greatly. Thank you in advance.
Richard
ERROR MESSAGE
[2009/04/03 14:27:16] Error in evaluate <from> expression at line "1212". The result is empty for the XPath expression : "/task:task/task:payload/task:EMPLOYEE_MIDDLE".less
oracle.xml.parser.v2.XMLElement@12cb5f1
[2009/04/03 14:27:16] "{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure" has been thrown.less
-<selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
-<part name="summary">
<summary>
empty variable/expression result.
xpath variable/expression expression "/task:task/task:payload/task:EMPLOYEE_MIDDLE" is empty at line 1212, when attempting reading/copying it.
Please make sure the variable/expression result "/task:task/task:payload/task:EMPLOYEE_MIDDLE" is not empty.
</summary>
</part>
</selectionFailure
ASSIGN CODE
<copy>
<from variable="DetermineLocation_ht_1_globalVariable"
part="payload"
query="/task:task/task:payload/task:EMPLOYEE_MIDDLE"/>
<to variable="ReceiveRead_iv" part="Root-Element"
query="/ns2:Root-Element/ns2:Emp/ns2:EmpMiddle"/>
</copy>
DetermineLocation_ht_payload.xsd
<?xml version = '1.0' encoding = 'UTF-8'?>
<schema targetNamespace="http://xmlns.oracle.com/bpel/workflow/task" xmlns:tns="http://xmlns.oracle.com/bpel/workflow/task" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<complexType name="payloadType">
<sequence>
<element name="RECRUITER" type="xsd:string"/>
<element name="RECRUITER_FIRST" type="xsd:string"/>
<element name="RECRUITER_LAST" type="xsd:string"/>
<element name="SPACE_ADMIN" type="xsd:string"/>
<element name="EMPLOYEE_NO" type="xsd:string"/>
<element name="EMPLOYEE_FIRST" type="xsd:string"/>
<element name="EMPLOYEE_MIDDLE" type="xsd:string"/>
<element name="EMPLOYEE_LAST" type="xsd:string"/>
<element name="START_DATE" type="xsd:string"/>
<element name="GENDER" type="xsd:string"/>
<element name="SL_OFFICE" type="xsd:string"/>
<element name="ASSIGNMENT" type="xsd:string"/>
<element name="PROJECT_MANAGER" type="xsd:string"/>
<element name="COMPANY" type="xsd:string"/>
<element name="BUSINESS_GROUP" type="xsd:string"/>
<element name="WORKGROUP" type="xsd:string"/>
<element name="SUPERVISOR" type="xsd:string"/>
<element name="LOCATION" type="xsd:string"/>
</sequence>
</complexType>
<element name="payload" type="tns:payloadType"/>
</schema>
DetermineLocation_ht.task
<?xml version = '1.0' encoding = 'UTF-8'?>
<taskDefinition targetNamespace="http://xmlns.oracle.com/DetermineLocation_ht" xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc" xmlns:task="http://xmlns.oracle.com/bpel/workflow/task" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://xmlns.oracle.com/bpel/workflow/taskDefinition"
xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath">
<name>DetermineLocation_ht</name>
<id>${domain_id}_${process_id}_${process_revision}_DetermineLocation_ht</id>
<title>Determine Location</title>
<priority>3</priority>
<process processId="" processVersion=""/>
<routingSlip xmlns="http://xmlns.oracle.com/bpel/workflow/routingSlip">
<globalConfiguration>
<owner>bpeladmin</owner>
</globalConfiguration>
<participants isAdhocRoutingSupported="false">
<participant name="Assignee1"
skipCondition="string-length(/task:task/task:payload/task:LOCATION) > 1">
<resource isGroup="false" type="XPATH">/task:task/task:payload/task:SPACE_ADMIN</resource>
</participant>
</participants>
<onErrorParticipant>
<resource isGroup="true" type="STATIC">FINALAPPROVERS</resource>
<resource isGroup="true" type="STATIC">oc4j-administrators</resource>
</onErrorParticipant>
<notification includeTaskAttachments="false" actionable="false"
secureNotifications="false">
<reminder relativeDate="ASSIGNED" reminderDuration="P1DT"
recurrence="2"/>
<action name="ASSIGN" recipient="ASSIGNEES"><![CDATA[concat(string('<table width="100%">
<TR BGCOLOR=#ededed HEIGHT="100">
<td>Attention,<br><br>'), /task:task/task:payload/task:EMPLOYEE, string(' has been assigned to '), /task:task/task:payload/task:ASSIGNMENT, string('.  Please click on the link below to enter the location for this new employee.<br><br><br>
Sincerely,<br><br>
The BPEL Onboarding Business Process</td></tr></table>'))]]></action>
<action name="COMPLETE" recipient="CREATOR"><![CDATA[concat(string('Task '), /task:task/task:title, string(' requires your attention. Please access the task from the worklist application.'))]]></action>
<action name="ERROR" recipient="OWNER"><![CDATA[concat(string('Task '), /task:task/task:title, string(' requires your attention. Please access the task from the worklist application.'))]]></action>
</notification>
</routingSlip>
<workflowConfiguration xmlns="http://xmlns.oracle.com/bpel/workflow/configuration"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<outcomes>
<outcome>APPROVE</outcome>
</outcomes>
<restrictedActions/>
<payload xmlSchemaDefinition="DetermineLocation_ht_payload.xsd">
<messageAttribute name="RECRUITER" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="false"/>
<messageAttribute name="RECRUITER_FIRST" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="false"/>
<messageAttribute name="RECRUITER_LAST" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="false"/>
<messageAttribute name="SPACE_ADMIN" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="false"/>
<messageAttribute name="EMPLOYEE_NO" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="false"/>
<messageAttribute name="EMPLOYEE_FIRST" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="false"/>
<messageAttribute name="EMPLOYEE_MIDDLE" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="false"/>
<messageAttribute name="EMPLOYEE_LAST" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="false"/>
<messageAttribute name="START_DATE" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="false"/>
<messageAttribute name="GENDER" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="false"/>
<messageAttribute name="SL_OFFICE" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="false"/>
<messageAttribute name="ASSIGNMENT" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="false"/>
<messageAttribute name="PROJECT_MANAGER" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="false"/>
<messageAttribute name="COMPANY" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="false"/>
<messageAttribute name="BUSINESS_GROUP" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="false"/>
<messageAttribute name="WORKGROUP" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="false"/>
<messageAttribute name="SUPERVISOR" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="false"/>
<messageAttribute name="LOCATION" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="true"/>
</payload>
<bpelEventListener>false</bpelEventListener>
</workflowConfiguration>
</taskDefinition>
Edited by: rsuchoza on Apr 3, 2009 2:58 PM

Hi
Try to make the <messageAttribute name="ASSIGNMENT" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="false"/>
to
<messageAttribute name="ASSIGNMENT" attributeType="SIMPLE_TYPE"
type="xsd:string" updatable="true"/>

Similar Messages

  • FYI Assignees in Human Task

    Hello,
    I would like to allow a Human Task assignee to select and assign users as FYI assignees in a parallel stage within the same Human Task. Is this possible?
    Example: User_A is assigned and logged-into the Human Task under the Worklist Application. I would like to allow User_A to select and assign users as FYI assignees in the currently active task. I only require the FYI users to comment or they can ignore entirely and User_A can reject/approve at any time.
    Is it possible to add FYI assignees to a Human Task while it is running? If so, how is this done?
    My findings so far:
    IWorkflowServiceClient client = WorkflowServiceClientFactory.getWorkflowServiceClient();
    ITaskService service = client.getTaskService();
    What should I do from here?
    I would be open to other design ideas, as well.
    Thanks,
    Mark

    Yes, it is possible assign a group as participant of some human task, passing the group name as parameter.
    I have tested just now.
    It works pretty well in SOA 11.1.1.4 (BPEL or BPM).
    Make sure add a data parameter in your human task definition and pass a valid group name to it.
    At the Assignment tab, in the participants' list, add a group, data type by expression, and set the value to the right xpath expression to the corresponding parameter.
    For example: /task:task/task:payload/task:group
    If it is not working look the SOA log files, probably you'll find some information about the error there. Maybe there is some problem with your jazn.com configuration.
    You can also test if there is something wrong related to the group name, trying to transfer some task to the same group by the worklist.

  • In human task, dynamically assign group doesn't work

    Oracle SOA 11.1.1.4
    My bpel process invokes a human task.
    On the human task Assignment tab, I assigned 3 users (by name), 1 group (by expression).
    The group is configured in LDAP
    When I tested the bpel process, I entered the group and other data required.
    From the worklist app, I see the task listed. It is assigned to the 3 users, but not the dynamically passed-in group.
    From the Audit trail, I saw all data I entered (include the group). Everything seems correct, but I still can’t make the dynamically-pass-group work.
    If I assign the group by name in human task, it works fine.
    The problem is: dynamically assign group doesn't work.
    Please kindly advice.

    Yes, it is possible assign a group as participant of some human task, passing the group name as parameter.
    I have tested just now.
    It works pretty well in SOA 11.1.1.4 (BPEL or BPM).
    Make sure add a data parameter in your human task definition and pass a valid group name to it.
    At the Assignment tab, in the participants' list, add a group, data type by expression, and set the value to the right xpath expression to the corresponding parameter.
    For example: /task:task/task:payload/task:group
    If it is not working look the SOA log files, probably you'll find some information about the error there. Maybe there is some problem with your jazn.com configuration.
    You can also test if there is something wrong related to the group name, trying to transfer some task to the same group by the worklist.

  • Human Task : assign task to user at runtime based on some conditions

    HI ,
    I have a requirement that is, Assign task to users/ groups at runtime for approval based on material qty. please help me in design approach to achieve the same.
    thanks in advance.
    Guru

    Hi Guru
    You can achieve this with and without business rules. I am assuming you have a payload with element like "qty". In task details page or somehow, this gets filled. Now later on you can have like this:
    1. Without Business Rules:
    a) Lets assume you have human tasks like ApproverDefault, Approver100, Approver200, ApproverAll etc.
    b) After your first Task, add a XOR Gateway. Default path of XOR goes to ApproverDefault. Then you have like 3 more paths with Conditions like qty between 0 and 100 goes to Approver100. Qty between 100 and 200 goes to Approver200. Qty more than 200 goes to ApproverAll.
    Quantity
    No conditions (Default) -> ApproverDefault
    qty < 100 -> Approver100
    qty > 100 and qty < 200 -> Approver200
    qty > 300 -> ApproverAll.
    2. With Business Rules
    a) This needs some learning. Please do refer detailed online docs. I am just giving brief steps. Create extra fields of type Boolean in payload like AutoApproved, NeedApproval100, NeedApproval200, NeedApprovalAny etc. Have more meaningful names as per your requirement and human task though.
    b) You need to drag and drop Business Rules component and edit it in JDeveloper.
    c) First create a Bucket set with Range of Values for Qty field like -infinity to 0, 0 to 100, 100 to 200, 200 to infinity. You just enter rows like 0, 100, 200, and rest is taken care to add these Ranges.
    d) Now create Decision Rules. For each range, create a action and set the flag(s) appropriately.
    e) See hello world example for exact steps and full understanding.
    http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/obpm/11g/r1/firstProcess/firstprocess_obpm11g.htm
    Pros & Cons:
    a) Without Business Rules is very simple and straight forward. Quick and easy to develop and test. But if you want to control the range of values for qty, you need to modify the process and redeploy. Its kind of tight.
    b) Business Rules gives more flexible. You can change qty at run time, provided you use BPM Composer. But takes some learing and needs some debug if it fails like that.
    There are many differences and pros and cons. But above are the main ones.
    If you are a beginner, go with First Approach for now.
    Thanks
    Ravi Jegga

  • Database call in human task

    Hello,
    Is it possible to make database call to save some data in human task into database and later taking this task and submitting it as done to the process?
    What I want to achieve is that when user gets task, he/she opens it and enters some information and saves it into database, later returns, reviews information he/she entered and submits it to process (ends task).
    Any suggestions appreciated.

    Yes, it is possible assign a group as participant of some human task, passing the group name as parameter.
    I have tested just now.
    It works pretty well in SOA 11.1.1.4 (BPEL or BPM).
    Make sure add a data parameter in your human task definition and pass a valid group name to it.
    At the Assignment tab, in the participants' list, add a group, data type by expression, and set the value to the right xpath expression to the corresponding parameter.
    For example: /task:task/task:payload/task:group
    If it is not working look the SOA log files, probably you'll find some information about the error there. Maybe there is some problem with your jazn.com configuration.
    You can also test if there is something wrong related to the group name, trying to transfer some task to the same group by the worklist.

  • Human task preventing to press go button. (required field in payload)

    We have an one step BPEL human task implementation and assigned user must be filll some field of payload before sending task.
    The problem is we are using standart worklist app and assinged user can send the task from worklist without opening it. So we can't control required field.
    We need a Precondition like rule
    is there any way to
    Our SOA suite version is 10.1.3.3.
    Thanks.

    Know this is probably not the direction you wanted to go, but look at Vinay Kumar's blog post on using an initializer:  http://www.techartifact.com/blogs/2013/04/using-a-task-flow-initializer-to-initialize-a-task-flow.html#sthash.CG1CAgfz.1….  (pretty sure he got this from Nick Haralabidis's book: Oracle JDeveloper 11gR2 Cookbook: Nick Haralabidis: 9781849684767: Amazon.com: Books).
    In this a prepare method is created in the Application Module impl java similar to your initialization code:
      public void prepare() {
        // get emps vo instance
        EmployeesVOImpl employees;
        employees = (EmployeesVOImpl)getEmployeesVO();
        // remove all rows from emp rowset
        employees.executeEmptyRowSet();
        // add a new emp row
        EmployeesVORowImpl employee = (EmployeesVORowImpl) employees.createRow();
        // add new emp to rowset
        employees.insertRow(employee);
    Once you expose this as being a Client Interface in your application module, you have the method available to you to drag into your task flow and set the task flow's "URL Invoke" property to "url-invoke-allowed").  This would give you the empty row you're going to populate.
    I don't go this route and instead drag a CreateInsert method onto the task flow as the initial default activity and then flow to the page.  To commit it, just create a binding for the Application Module's commit operation and invoke it from the backing bean when you intercept the submit action.
    Hope this helps,
    Dan

  • How to set all required components false in ADF form based on human task?

    Hi All,
    I'm looking to implement an ADF form based on a human task. There are 2 outputs, Validate and Reject.
    On clicking Validate, my form does as expected, evaluates everything that is mandatory and expects these inputs in order to proceed.
    However, on reject, my form should overlook anything that's marked as mandatory. How do I go about making the "required" aspects of my form false so that no entries are required in order for me to reject the form.
    JDev - 11g.
    Any inputs will be appreciated.
    Thanks,
    Preethi.

    Thank you Timo.
    This doesn't seem to bypass any of the mandatory components . It still prompts for an entry for those fields. do I need to change the partial submit or any other property?

  • BPM 11G comments and file attachments issue on human tasks

    Hi all,
    We have used JDeveloper 11G and SOA suite 11G + BPM (with PS1,PS2) to create and deploy a simple BPM process. The process consists of two swim-lanes ( Business Analyst and Snr Executive). The BA swim-lane has a human task which which initiates the process and the second swim-lane (SE) has a voting task. Both forms were auto generated.
    ------ Process steps ----
    step 1. The initiator of the process( Business analyst) submits a document and adds comments on the form. (1st swim lane)
    step 2. The task is received by the Snr Executive group and they need to accept or reject the document.
    step 3. If any of the Snr Execs rejects the document, the process flow goes back to the Business analyst(the requester or initiator) for review.
    (the voting group is able to share comments and the file attachments).
    step 4. The business analyst receives a task on her list. This task list should have the comments made by the Snr Execs who rejected the document. ---This is where we are having a problem. The business Analyst, receives the task, but the document and comments are not updated. This still shows the original document and comments, she sent when initiating the process.
    We have opened a SR with My Oracle support and it was suggested we apply a hot fix 9958661, which was done (see output below). Unfortunately this did not solve the problem.
    Questions:
    1. Is the default behavior of BPM 11G ?
    2. How can we change this behavior to do what we want ?
    ---------------------------------------opatch update output -----------------------------------------------------------
    ApplySession adding interim patch '9958661' to inventory
    Verifying the update...
    Inventory check OK: Patch ID 9958661 is registered in Oracle Home inventory with proper meta-data.
    Files check OK: Files from Patch ID 9958661 are present in Oracle Home.
    The local system has been patched and can be restarted
    I any suggestions would be welcome.
    Thanks
    Mocheche

    Ok, this is what i did:
    - I have a Process Data Object called CustomComments with just 1 attribute called comments.
    - I have added that object to my user screens (adf page)
    - Changed its columns att to 65 and rows to 8 (i chose that layout)
    - Used a tableLayout to add an icon next to this text area to allow the user to add comments:
    <af:commandImageLink shortDesc="addCommentImage" id="addCommentImage" partialSubmit="true" icon="/hw_images/new_ena.png">
         <af:clientListener method="myFunction" type="click"/>
         <af:clientAttribute name="attributeName" value="attributeValue"/>
    </af:commandImageLink>
    I use that clientAttribute to send the logged user to the javascipt.
    - I added this after the af:document on top of the page to make the customComments readonly to the user (you need to do it here because if you set it in the properties the element is not updated later), so the user has to use the button i put to add comments:
    <f:facet name="metaContainer">
         <f:facet name="metaContainer">
         <af:resource type="javascript">
              function readOnly(){
                   var comms = document.getElementById("it1::content");
                   comms.setAttribute("readOnly","true")
         </af:resource>
    </f:facet>
    <af:clientListener method="readOnly" type="load"/>
    - Somewhere i added the javascript the commandLink calls:
    <trh:script id="myScripts">
         function addComment(evt){
              var commentArea = document.getElementById("it1::content");
    var user = evt.getSource().getProperty("user");
    var comm = prompt("Please enter your comment: ","");
              if (comm != null) {
                   if (comm != ""){
                        if (commentArea.value !=""){commentArea.value = commentArea.value + "\n"}
                        commentArea.value = commentArea.value + "user.value" + " : " + comm;
    </trh:script>
    After all this, you have an object that carries the comments from one screen (UI project) to another and is updated each time.
    I know it may not be the perfect solution and that it could be improved a lot, but so far it does what i need so i use it.
    If there is anything i wasnt clear enough, please let me know. Hope this helps.

  • Email notification in human task: How to customize email subject.

    Dear all community members,
    I am using email notification service in human task to receive email notification if task is assigned to me. I have configured email notification in human task & I do receive the email in my inbox as assignee.
    The default email subject is like [Action Required: TASK_TITLE], I want to remove this [Action Required:] from email subject.
    I tried setting <%null%> in Notification Header in .task file but the email subject is still has Action Required.
    Is there any way to customize email subject so that I can get rid of [Action Required:] [FYI] in email subject.
    Thanks & Regards.

    I believe this will help - http://docs.oracle.com/cd/E23943_01/user.1111/e15175/bpmug_cust_res_bndl.htm

  • 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

  • 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

  • Advanced human task routing on Oracle Bpm Suite 11g.

    Hi
    Do Oracle Bpm Suite 11g human tasks have concept of advanced routing of tasks ? For example if we have three groups of people, each of these groups have skills defined. And when task is created then the skills required fulfill the task (could be defined in task metadata) is compared against the three groups. The task is then assigned to the work queue of the most fitting group ?
    So what I mean by this, is that you can specify rules which define which work queue (and multiple user can be assigned to the work queue) receives which tasks ?
    Thank you for answering and I will gladly give more details regarding this issue...
    Best Regards Tuomas Katva

    I must disagree a little... Human task's have been separated from process logic and I think it reasonable. I don't think that routing logic belongs to the business process, ofcourse this just semantics but I think it would make separation of concerns more apparent. If the human task - service/manager could determine the routing logic (to whom the task is assigned) based on the parameters it receives, it would then make clear separation of logic: business process would handle the overall control flow and the human task manager would handle the human task flow.
    What I'm asking is there some pattern or API or something that would allow for example skill based routing of task. I know that Bea Aqualogic had "parametrized roles" which allowed the task to be routed on runtime to a "dynamic role", and IBM has "Business categories" and "Workbaskets" which allows advanced routing of a task based on runtime properties. Let me give you an example:
    Let's say we have two skill categories:
    Language
    Claim type (for example in insurance)
    Applicant posts the claim and the insurance case is assessed by insurance handler. When the process flow comes to a human task it passes the claim's language and type of the claim to the human task manager. The human task manager would then determine who should handle this task. Let's say that Mike speaks spanish and has skills in car insurance claims. The human task manager would be responsible for determening that this task belongs to Mike (in case that the claim was in spanish and it was car insurance claim).
    Is there any patterns or examples how this should be handled. I know this quite like case management but I think modern BPM's should be able to handle case management.
    Thank you
    Best Regards Tuomas Katva

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

  • Jdev human task addition error

    Hi All,
    I am trying to add a human task in a default project created in OIM. While I have defined a new task definition and all required task parameters, a null pointer exception is encountered when the task is attempted to be saved. I looked for similar issue on the forum and found few others have faced same problem but no solution has been recommended so far. Apologies I if overlooked any solution given already.
    Uncaught exception
    java.lang.NullPointerException
    o.tip.tools.ide.bpel.v1.plugins.plugins.oracleext.graph.editors.workflow.GeneralTaskIOHandler.modifySwitchNode(GeneralTaskIOHandler.java:1090)
    o.tip.tools.ide.bpel.v1.plugins.plugins.oracleext.graph.editors.workflow.GeneralTaskIOHandler.saveChanges(GeneralTaskIOHandler.java:400)
    o.tip.tools.ide.bpel.v1.plugins.plugins.oracleext.graph.editors.workflow.NewWorkflowComponent.saveChanges(NewWorkflowComponent.java:369)
    o.tip.tools.ide.bpel.v1.plugins.plugins.oracleext.graph.editors.workflow.GeneralTaskEditPage.saveChanges(GeneralTaskEditPage.java:98)
    o.tip.tools.ide.bpel.v1.designer.graph.nodeeditors.framework.AbstractActivityNodeEditor$PanelManager.saveChanges(AbstractActivityNodeEditor.java:203)
    o.tip.tools.ide.bpel.v1.plugins.plugins.oracleext.graph.nodeeditors.workflow.UserTaskPanelManager.saveChanges(UserTaskPanelManager.java:66)
    o.tip.tools.ide.bpel.v1.designer.graph.nodeeditors.framework.ApplyCancelPanel.handleOK(ApplyCancelPanel.java:164)
    o.tip.tools.ide.bpel.v1.designer.graph.nodeeditors.framework.ApplyCancelPanel.actionPerformed(ApplyCancelPanel.java:204)
    jx.s.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    jx.s.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
    jx.s.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    jx.s.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    jx.s.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
    j.a.Component.processMouseEvent(Component.java:6289)
    jx.s.JComponent.processMouseEvent(JComponent.java:3267)
    j.a.Component.processEvent(Component.java:6054)
    j.a.Container.processEvent(Container.java:2041)
    j.a.Component.dispatchEventImpl(Component.java:4652)
    j.a.Container.dispatchEventImpl(Container.java:2099)
    j.a.Component.dispatchEvent(Component.java:4482)
    j.a.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
    j.a.LightweightDispatcher.processMouseEvent(Container.java:4238)
    j.a.LightweightDispatcher.dispatchEvent(Container.java:4168)
    j.a.Container.dispatchEventImpl(Container.java:2085)
    j.a.Window.dispatchEventImpl(Window.java:2478)
    j.a.Component.dispatchEvent(Component.java:4482)
    j.a.EventQueue.dispatchEventImpl(EventQueue.java:644)
    j.a.EventQueue.access$000(EventQueue.java:85)
    j.a.EventQueue$1.run(EventQueue.java:603)
    j.a.EventQueue$1.run(EventQueue.java:601)
    j.security.AccessController.doPrivileged(Native Method)
    j.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
    j.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
    j.a.EventQueue$2.run(EventQueue.java:617)
    j.a.EventQueue$2.run(EventQueue.java:615)
    j.security.AccessController.doPrivileged(Native Method)
    j.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
    j.a.EventQueue.dispatchEvent(EventQueue.java:614)
    j.a.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    j.a.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    j.a.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    j.a.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    j.a.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    j.a.EventDispatchThread.run(EventDispatchThread.java:122)
    Appreciate your help!
    Thanks.

    Thanks Ravi for your response.
    I observed something strange today! I was adding the human task, I talked about yesterday, in switch condition on 'Approve' response. But when I added the same human task outside switch condition, it worked just fine. Is placing a human task in switch condition not a supported configuration?
    Use case: There are two levels of approver. Both the approver have different escalation critieria. In case of level 1 approver (beneficiary's manager), the task is required to be escalated to manager's manager. But in case of approver 2, no escalation is required.
    Since escalation is defined at global level in a task, I decided to create two human tasks and insert second one on 'Approve' response of first task.
    The second option that I am considering is - implement IDynamicTaskEscalationFunction interface to write a custom escalation java class and use it within same human task to skip escalations in case of approver 2 (not sure if this is possible, as I haven't implemented it before).

  • 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));

Maybe you are looking for

  • DMS Connector & using classification in variant

    Hi- Does anyone know if you use classification values (class and characteristics) in the definition of your KM DMS connector variant if the connector reads them?  Or is there a trick to have the connector recognize that classification values have bee

  • Reverse proxy plugin does not like the POST method

    My second tier is not functionning properly when placed behind a S1WS6 with reverse proxy Client ====== SunOne web server with Passthrough ====== .NET app server & web services. The web server configuration (reverse proxy � libpassthrough.so) is conf

  • Lightroom 4 to PSE

    How do you edit Lightroom 4 photos in PSE 11?

  • Why is 10.8 so slow

    why is 10.8 seem so buggy on my relatively new top of the line retina macbook pro?  sleep takes at least 10x longer to startup, big delay on switching to finder, on top of all the "improvements" that are mostly just annoying, as well as the forced up

  • Adding a Family to the Address Book?

    What is the best way to enter information for a family in Address Book? I mean like the Johnson Family - Father John, Mother Susan, Kids Steve and Nancy? Any suggestions as to the best format? Kevin