Human Task - Send Attachment

Hi.....
While creating a Human Task, I am facing an issue, while attaching any .xsl in "Specify StyleSheet For Attachment" in "Advance Settings" in " .task " file for transformation of Task file (WorkFlowTask.xsd) to either xhtml or xml.
it is sending the attachment as message.html file............ can I change it to .xml also. b'cos I am attaching .xsl to convert to xml to xml not to the html.
Thanx in Advance
Nitin

Add a new assign-activity after the human task and add a copy operation: copy the variable /task:task/task:attachment to the second human task.
Don't use the assign activity CopyPayloadFromTask in the switch activity because it is automaticaly generated when you change the workflow.
Harrie

Similar Messages

  • Pdf email attachment for human task detail notification

    We have a human task detail notification with pdf attachment.
    The email notification (generated automatically) flat out all content but no pdf attachment.
    Is this supported and if yes how to make it work?

    You can try using this tool to first remove all traces of Reader from your computer:
    http://labs.adobe.com/downloads/acrobatcleaner.html
    Then, you can download the full offline Reader installer from
    http://get.adobe.com/reader/enterprise/
    After downloading, restart your computer and run the installer before doing anything else.

  • Sending Human Task notification mail to a assignee not found in LDAP

    Hi All,
    I have 2 requirements:
    1. Suppose i have a HumanTask which sends a notification mail to the assignee when the task is assigned to him/her.
        In our process we are first checking if the assignee's email address is present in LDAP using the BPEL variable that holds the assigneeID.
        If it is not present in LDAP, then we are getting the email address from database before the invocation of the HumanTask.
        Now, as the emailaddress is not found in LDAP, so when the HumanTask is invoked the notification mail will not be sent to the assignee.
        So, we have used a separate email activity after the invocation of HumanTask to send the notification mail to the assignee using his emailaddress that we fetched from the database.
        I don't want to use this separate email activity and wanted to know if there is any other alternative to send the notification mail during invocation of the HumanTask using the emailaddress that
        we fetched from the database?
       Basically i want to know if there is any other way to send the notification mail when a task is assigned and the assignee's email address is not found in LDAP?
    2. Is it possible to send a Human Task's outcomes as links in an email activity body?
       Actually, i am sending a mail to a user using the email activity. Before that a HumanTask is present in my BPEL process.
       I want to send the HumanTask's outcomes as links in the email that i am sending to the user using the email activity just as they get displayed in the notification mail when HumanTask's "Make
       notification actionable" feature is selected.
    Please help me with the above requirements.
    Regards,
    Suman

    AnilB,
    Assigning a task to a user that is not in the directory will likely result in the BPM flow going into suspended state. To avoid this, assign the task to a pre-created group, you should not get an error even if the group is empty. You can then add and remove the users to that group to control access to the task.
    Phil

  • Send email through human task in bpel

    hi everybody,
    I am badly stuck in sending email through human task using bpel.
    I have used reminder facility and enabled send email in .task file.but no email
    is sent so anyone please help me out and please provide me with full detailed solution what I have to do like change any xml file setting etc.
    Also I was trying to send email using email activity by changing the ns_emails.xml in .........bpel/systems/services/config & in .......integration/esb/config but I was not succeeded. So please provide me with complete solution like what parameters to pass in smtp server,port no,protocols etc and which file to change in which directory. my work is pending just because of this.
    I would be very grateful to you.
    thanks in advance.
    mansoor.

    Hi mansoor,
    <EmailAccounts xmlns="http://xmlns.oracle.com/ias/pcbpel/NotificationService"
    EmailMimeCharset=""
    NotificationMode="EMAIL">
         <EmailAccount>
              <Name>Default</Name>
              <GeneralSettings>
                   <FromName>BPEL POC</FromName>
                   <FromAddress></FromAddress>
              </GeneralSettings>
              <OutgoingServerSettings>
                   <SMTPHost>mail.oracle.com</SMTPHost>
                   <SMTPPort>25</SMTPPort>
              </OutgoingServerSettings>
              <IncomingServerSettings>
                   <Server>mail.oracle.com</Server>
                   <Port>993</Port>
                   <Protocol>IMAP</Protocol>
                   <UserName>xxxxxx</UserName>
                   <Password ns0:encrypted="false" xmlns:ns0="http://xmlns.oracle.com/ias/pcbpel/NotificationService"></Password>
                   <UseSSL>false</UseSSL>
                   <Folder>Inbox</Folder>
                   <PollingFrequency>1</PollingFrequency>
                   <PostReadOperation>
                   <MarkAsRead/>
                   </PostReadOperation>
              </IncomingServerSettings>
         </EmailAccount>

  • Respond to Human Task via email.

    Hi,
    I'm trying to setup Human Workflow notification service, so I can get the user to action (reject, approve, etc) on the task without login in to Worklist Application.
    I successfully managed to get the email sent to the users email through the notification service. Then for example once the user clicks on the 'Approve' link on the email, a new window with approval data appears and can be replied back.
    However I keep getting an email reply with the below text, and the Human Task never get actioned. Could someone please help? Thanks a lot.
    Oracle Human Workflow Service*
    The message you sent appeared to be a reply to a notification. To respond to a notification, please use the response link that was included with your notification.
    This message was automatically generated by Human Workflow Mailer. Please do not reply to this mail
    Below is the email I send back to notification service, (in plain text format)
    Add comments by editing the text between the brackets below.
    Comments: [your comments]
    You can also add attachments to the task by attaching them to this email.
    -----Do not edit below this line-----
    Approve : [[NID]] : mBYHCwiV8k10ihnhz+4/Zx6TUNh8QchT2RKdxN+zKE8YqsiEbfey0YoalUp+icoiuUeGEwzGTMjKjaVH7lQPRZAf9GFCJHKCJXWUXyuA1lcpdjG71AL/V5WgS5Wbxa8S : [[NID]]
    Thanks again,
    Sam

    I can add the attachment via the worklist app itself using the same user.
    I got this code directly from the source for the worklist app. Reference their file WorklistServlets.TaskAttachment.java
    I had reverted to using the classes in oracle.tip.pc.api.worklist as the newer ones in oracle.bpel.services.workflow all say they do not support file attachments.

  • 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

  • Workflow API: adding and accessing file Attachments to a Human Task

    Hi there,
    I am using the Workflow Services Java API (11.1.1) for SOA Suite to access and manipulate human tasks. I would like to be able to access and add file attachments to existing human tasks. I am using the methods provided in the AttachmentType interface.
    When adding an attachment, the problem I am running into is that an attachment does created and associated with the task, however it is empty and has no content. I have attempted both setting the input stream of the attachment, as well as the content string and in each case have had no success.
    I have successfully added and accessed an attachment using the worklist application, however when trying to access the content of this attachment through code I receive an object with mostly null/0 values throughout, apart from the attachment name.
    As the API's are not overly rich in documentation I may well be using them incorrectly. I would really appreciate any help/suggestions/alternatives in dealing with BPEL task attachments.
    Thanks
    The code I am using resembles:
    List attachments = taskWithAttachments.getAttachment();
    for(Object o : attachments){
    AttachmentType a = (AttachmentType) o;
    String content = a.getContent(); +// NULL+
    InputStream str = a.getInputStream(); +// NULL+
    String name = a.getName(); +// Has the attachment name+
    String mime = a.getMimeType(); +// Has the mime type+
    long size = a.getSize(); +// 0+
    Edited by: 855489 on May 2, 2011 4:23 PM
    Edited by: 855489 on May 2, 2011 8:48 PM

    I am also facing the same issue, using 11.1.1.6, anyone managed to solve this?
    Regards
    Venkat

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

  • Adding Comments in BPM 11g on Human task

    Hi
    Whenever i am adding comments on bpm human task,I am getting the following error when i submit the form.
    "Workflow Service Engine callback to SOA mesh failed.Callback operation ontaskcompleted from default/BPMProject!1.0/ApproveTask to Process/HumanTasks.ApproveTask.reference failed with error:Schema validation failed for message part payload.Please ensure at the message sender level that the data sent is schema compliant.Invalid text ' in element:type.Check the underlying exception.Ensure that the SOA composite is configure correctly."
    But if i try to submit the human task without adding comments it works fine.
    Please tell me what am i missing here.
    Regards....

    hi
    any inputs...Urgent
    Regards...

  • How to specify stylesheet for attachments in Human task

    Dear Experts,
    I can able to add an attachment from BPEL process to Human Task. So from Worklist I can able to download the attachment. Here, I am attaching an XML payload, and I am receiving .xml file from worklist. Now I want to do xsl mapping with my attachment. To do that we have an option when creating Human Task from BPEL . In .task form, under advanced settings--> specify style sheets for attachments, specify wordML for attchments. I have used those options. But not yet my .xsl file mapped with .xml. Is there is any other way to do xsl mapping. Please suggest me.
    Thanks,
    Rajesh

    Hi Anirudh,
    I am using SOA Server suite 10.1.3.1 and JDeveloper 10g. Also I am not using "Application Server Developer's Guide for Microsoft Office Interoperability" this document, what you have mentioned in your last post. My problem is I am having xsl with me, need to map this xsl to my xml attachment. To do that we are having an option on .task form editor, Under Advanced Settings. We can mention/specify stylesheet for attachment, or we can specify wordML for attachment. I have tried both but I cant able to do xsl transformation. I have seen some code in this link. But I dont know whether this blog is correct one. Please suggest me.
    Thanks,
    Rajesh

  • Error in adding multiple attachments to Human Task in BPM

    Hi
    Hope you are doing fine.
    My version is 11.1.1.5 without Feature Pack.
    I have a scenario where I get a set of documents from UCM, and I have all of them in an array(of type GetFileByIDResult(UCM GetFile Webservice response type)).
    Please note that for a single attachment, I'm not getting this problem.
    I know that ExecData.Attachments[] takes array of Attachment types.
    But I could not create an Attachments[](array type) type data object, What I could create is of type '<>Attachments' which I thought was an array, but not, as it is not letting me associate to ExecData.attachments
    So, I've created a variable of type ExecData(say PDOExecData), used a script task, and did XSLT between the array and this new PDOExecData
    I've used for-each on the arrayOfUCMOutput, mapped the content, name, etc.
    And, now, in the human task association, I've assigned PDOExecData.attachments to Human Task's ExecData.attachments
    But I'm getting the following error
    XPath query string returns multiple nodes. The assign activity part and query bpmn:getDataObject('taskExecData2')/ns:attachment are returning multiple nodes. The assign activity part and query named in the error message returned multiple nodes. It should return single node. According to BPEL4WS specification 1.1 section 14.3, the assign activity part and query named in the error message should not return multiple nodes. Verify the part and xpath query named in the error message at line number -1 in the BPEL source.
    This means htat attachments take a single element, but it should take array of elements, and that is what is showin in the mapper file indicated by attachments[] in the ExecData
    Would you please help me in this regard.
    One possible solution could be, if I'm able to create an array of 'Attachment' type, I could map to it and finally map this var to ExecData.attachments, but how to create an array of a type in BusinessObjects/ProcessDataObjects
    Regards
    RaviKiran

    Resolved!
    Will write a blog and paste the link
    Regards
    RaviKiran

  • Human Task string payload size restriction

    We are developing a BPEL process with a Human Task component for an operational support app. The idea is whenever a message fails in the service bus due to transformation or validation error, we need to send that payload to this bpel process , which will create a human task and an operational support personnel ( both business & technical) will fix the payload via bpm worklist app and then bpel can resubmit the message to the service bus.
    In this app, we are trying to send the failed message as a string payload to the task . Most of the payloads are of csv and fixed length type and we can't wrap it in xml , because the business users who might be acting on fixing this payload are not XML familiar. And the payload sizes vary from 1 kb -4 MB
    When testing this , we have hit the below error during task initiation , which I think says string payloads should n't be more than 2000 bytes in size
    Caused by: java.sql.SQLException: ORA-12899: value too large for column "DEV1164_SOAINFRA"."WFMESSAGEATTRIBUTE"."STRINGVALUE" (actual: 2183, maximum: 2000)
    In this context, can you suggest what possible options I have. One option I can think of is wrapping the payload in XML instead of string, which is not so liked here..
    TIA,
    Atheek

    We solved this by transforming the XML when entering a human task. The transformation removed any attributes in the payload. This solved the issue.
    <?xml version="1.0" encoding="windows-1252" ?>
    <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="node()|@*">
    <xsl:copy>
    <xsl:apply-templates select="node()"/>
    </xsl:copy>
    </xsl:template>
    </xsl:stylesheet>

  • BPM 11g deployment error when include Human Task

    During deployment, when I include a Human Task in my BPM 11g project, the deployment fails.  The error message in JDeveloper is:
    Weblogic Server Exception: weblogic.application.ModuleException:
    Caused by: weblogic.common.ResourceException: weblogic.common.ResourceException: Could not create pool connection. The DBMS driver exception was: [unixODBC][Driver Manager]Data source name not found, and no default driver specified
    If I don't include the Human Task application in deployment, it's fine.  I used the Auto Create feature to generate the ADF project/form.  I've deleted and recreated the Human Task, but that hasn't helped.
    What can cause this error?  I've googled for days, but have not found anything similar.

    Kunwar - Thank you very much for your reply.  I checked in EM under Applications, and there is no application with the name of my Human Task application that is part of my BPM project.  To be sure, I just rebooted the server and checked again, but it is not there, and the reboot did not solve the problem.
    I'm not sure if this is related to the problem, but here is some other information.  A few days ago when I tried to redeploy just the BPM project (keeping save revision, and checking "Overwrite any existing composites"), I received a null pointer exception error.  Since then, I must Undeploy the BPM Application using EM to then redeploy it using JDeveloper.  Here is the error I was getting:
    [08:03:59 AM] Sending archive - sca_PERAC91A_rev1.0.jar
    [08:04:07 AM] Received HTTP response from the server, response code=500
    [08:04:07 AM] Error deploying archive sca_PERAC91A_rev1.0.jar to partition "default" on server AdminServer [http://soabpm-vm:7001]
    [08:04:07 AM] HTTP error code returned [500]
    [08:04:07 AM] Error message from server:
    There was an error deploying the composite on AdminServer: Error occurred during deployment of component: PERAC91A to service engine: implementation.bpmn, for composite: PERAC91A: java.lang.NullPointerException.
    [08:04:07 AM] Check server log for more details.
    [08:04:07 AM] Error deploying archive sca_PERAC91A_rev1.0.jar to partition "default" on server AdminServer [http://soabpm-vm:7001]
    [08:04:07 AM] ####  Deployment incomplete.  ####
    [08:04:07 AM] Error deploying archive file:/D:/Data/consulting/AllStar/PERAC/Dev/JDeveloper/PERAC91A/PERAC91A/deploy/sca_PERAC91A_rev1.0.jar
    (oracle.tip.tools.ide.fabric.deploy.common.SOARemoteDeployer)

  • Urgent help...Attacth an Excel file in a human task

    I need (ASAP) an example or code for attaching an excel file in a human task. The excel file is stored as BLOB in a table.
    My life depends on it!

    Hello Ivan,
    Are you using the worklist application? If so you should be able to do it
    in the UI itself on the task form (no need of any code).
    If you are getting the file programatically then u can get the data and set the attachments on the task using assign.
    HTH
    Raj

  • 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

Maybe you are looking for

  • How do I ensure docs created in Pages on iPad open on my Mac?

    I have created a document on my iPad using the ios7 version of Pages. I have then updated the new version of Pages (5.0.1) - i bought Pages '09 when it came out. when I check the Mac App store, it tells me that I have the latest version. Nevertheless

  • Maintaining formats(layouts) on Crystal report with different database

    I was just needing some help maintaining the layout of a report but using a different database. The databases are very similar for example, a field for the database in use is line1xxxx what I wish to do is keep all the formating & point it line2xxxx

  • Document Flow to Production Orders from BOM

    Dear SAP Gurus, I have attached a few documents at header level of the BOM. I have also attached document at item level in the BOM. When I create a production order these documents are not flowing to Production Order. Is there any way to do that. I a

  • Is there "Interface Type Node" present in WD JAVA as in WD ABAP ?

    Hi, Experts, As i have gone through WD ABAP in that i found  "Interface Type Node"  under Context tab  but i have a dought is that type "Interface Type Node" is present in WD JAVA or not.If not why and its use ? Thank You, Shabeer Ahmed.

  • How to run an iPhone non-GUI application in background

    Hi All, While looking into the web fouond that only one application can be run at a time in iPhone. So is there any way or work around to run a non-GUI app in iPhone in Background. This app will continuously query certain requests to iPhone regardign