Update BPEL Process

Is there a way to update the default design-time property (expiration date) of a BPEL Process human task prior to it being instantiated via an API call? How would you update multiple human tasks' expiration date for a single BPEL Process instance?
Thank you!

Correct. It is part of a taskDefinition, but I think
information in the taskDefinition (.task file) is
written to the ORABPEL schema tables. Specifically,
the ORABPEL.PROCESS table contains information of all
deployed processes and ORABPEL.WFTASK has invoked
tasks. However, I'm looking for and cannot find a
table that contains tasks that are deployed but NOT
yet invoked.Based on what I know, Entire bpel process is stored as BLOB in process table, but there is no expanded version in database. WFTASK is used for invoked task, which is not you want.
>
I'm not quiet sure I understand you when you mention
using XPATH. Basically, I want to create Web Service
method, in addition to other Worklist operations,
that would update a deployed process task expiration
date prior to the task been invoked. So, I want this
WS to allow users to update the expiration date after
the process has been design (when XPATH is used) and
deployed to the BPEL Manager Server, but before it is
invoked.
Yes, you can look at designer for xpath, it will be evaluated against each invocation. I believe you can certainly use that functionality to implement your use case.
I'm hope I'm clear....

Similar Messages

  • MySql BPEL process stale data while updating

    Hi all,
    I have a application in mysql. There is a BPEL process tht polls the mysql database and polling strategy is delete the row after reading. (Since there is no MySQL adapter available i have created offline tables and toplink without using the adapter wizard). When a record is updated in mysql it gets reflected in the database. But when the BPEL process polls the table for the updated record, the message takes the stale values (values before updation).
    Thanks in advance,
    Anant.

    Hi Anant,
    there is no caching issue here.
    The delete polling strategy only allows you to poll for inserts. It does not allow you to poll for updates, for as soon as you insert a row a message is created and the row is deleted. To trigger a new message for that row reflecting updated values, you need to re-insert it into the table being polled.
    Regardless to poll for updates please use the LogicalDeletePollingStrategy, where a row is updated after being read, instead of deleted. This way you can trigger a new message on update (by resetting the 'processed' field to false), and control when the row is first picked up (by inserting rows with 'processed' equal to true).
    Also if there is any kind of counter field (like a timestamp) that gets updated on writes, then I would suggest the LastReadId/LastUpdated strategies, which are less intrusive.
    Thanks
    Steve

  • Updating WS proxy files in JDeveloper after updating XSD in BPEL process

    Hi all,
    I have a couple of BPEL processes with variables from one huge XSD deployed to my server. I have created WS Web proxies for these processes in my application in JDeveloper and I'm calling these processes through these proxies. When I have created these files through the wizard in JDeveloper it has also generated types and runtime classes.
    Now this XSD for all BPEL processes is changed a lot. Is there a way to update those classes in JDeveloper or do I have to delete all the proxy classes and then generate them from scratch?
    I hope my question is clear and someone could give me some help.
    Thank you,
    regards!

    see : http://blogs.oracle.com/adim/2010/04/generate_webservice_proxy_usin.html
    you could use ant to generate the resources for every webservice, so you don't need to use the wizard itself.
    Oracle supplies some ant targets to do the job, so you could make a single script to generate them for all your services

  • How to update the payload of a BPEL process instance

    Hi I have another question.
    How do I update the payload of a BPEL process instance without the activity being a Human Task. I know there are ton's of example showing how to update the payload of a user task using BPEL API's. But in my case I need to update the payload of a BPEL process instance which has no human task.

    Thanks
    For confirming that the payload in the BPEL process instance is read-only. Now I can see what alternatives I come up with besides the DB save option.
    Guys if you can take the time to answer/comment on another question I have posted in this forum that will be great
    here is the link
    Multi step Human Task
    Regards,
    Jayesh Nazre
    MCSD, MCSE, SCJP, PMP

  • How to Invoke a BPEL process when Insert/Update/Delete happens

    Hi
    As client requirement is we want to execute a BPEL process when there is a DML Operation (Insert/Update/Delete) on a particular table.
    How do we handle this situation. Is there any alternatives if it is not possible.
    Please point me if any documentaion is available.
    Regards
    Kiran

    Hi Kiran,
    What integration tool you are using.
    In Oracle BPEL PM, you can create an empty BPEL process with a "receive" activity and a database adapter partnerlink which polls for change in table records every specified time interval.
    After receiving the table change, you can fire the appropriate BPEL process through "invoke" activity.
    thanks
    Saurabh

  • Want to get request number to BPEL process in an interval

    Hi All,
    I have two applications A and B.I need to receive request message from A to B through BPEL process. BPEL process receives the request data(through schema- Source of transform activity) from A and updates that data into B(Target -request schema of B).BPEL process is the middleware between two applications
    My requirement is :
    I want to analize request data in an interval of 24 hours. I have one parameter('sequence') in the request schema of B which has to indicate the request number to BPEL process.
    Clear explanation to requirement details:
    Application A starts pushing data at 12 'o clock(0:00 hrs midnight) and then parameter 'sequence' should be integer 1 or 0.Like that 'Sequence' should be increased by 1 for every request to BPEL process.
    I want the sequence values like below(for 24 hrs cycle):
    First request :
    Reuqest push time - 0:00 hrs
    Sequence - 1
    BPEL process instance(which will be created automaically in EM console) - Instance1
    Second Request :
    Reuqest push time - 1:30 hrs
    Sequence - 2
    BPEL process instance(which will be created automaically in EM console) - Instance2
    1
    Third Request:
    Reuqest push time - 4:00 hrs
    Sequence - 3
    BPEL process instance(which will be created automaically in EM console) - Instance3
    Like that
    last request in 24 hrs cycle should be :
    Reuqest push time - 23:00 hrs
    Sequence - Some number according to number of requests at that time.
    After 24 hrs ,Sequence again should become as 1 to indicate the starting point of the 24 hrs next day.(like data in above table)
    Can you help me in this regard? I am using transform activity in which I have 'sequence' parameter .
    Thanks in advance
    Edited by: 899283 on Aug 25, 2012 7:16 AM

    Create a "While" activity.
    Create a variable named seq of type int.
    In the while condition check the current time.
    xp20:current-time() < <counter reset time>
    Create a pick activity to receive the message inside while loop.
    Create assign activity in the while loop. Assign the value of variable seq to the payload and increment it by one.
    Outside while loop , reset seq back to 0 by using another assign activity.
    In case the composite has to run continuously after first submission, use another outer while loop to check the condition while seq = 0.
    Hope it helps.
    Regards.

  • Not able to get the data from synchronous Webservice To BPEL process

    Hi All,
    My requirement is : Third party has some webservice.They are pushing data to that Webservice(Wsdl).
    Third part WSDL example : http://ipaddress:port/name/Service.svc?wsdl ( This is just example format of their WSDL)
    After that I need to get that data into my BPEL process and update my system.
    When I built My Snchronous BPEL process I imported third party WSDL(http://ipaddress:port/name/Service.svc?wsdl) through 'import WSDL' in dialog.After that I automatically got the (request and response schema elements) parameters from that WSDL.I gave input and output of the BPEL process from those elements.
    I pasted that third party URL iin SOAPUI and I got their operations and schemas.Based on that I had choosen the elements for 'input' and 'output' of the BPEL processes.I am also getting the schema structures in 'Assign' or 'Transform' activity.
    I built the whole process.
    I have the Process.
    Now Client is pushing data to their WSDL(http://ipaddress:port/name/Service.svc?wsdl) as it is their data pushing interface.But that data is not coming to my BPEL process and instance is not being created in EM console.
    As I have imported their WSDL into my BPEL process,I need to get the data.But I am not getting the data.
    Is there any problem in MY BPEL process?
    (or)
    DO I need to use 'Webservice' Adapter in 'Exposed Services' Swimlane in Composite Editor to have the third party URL, so that they Can push the data to that WSDL in turn that data comes into my BPEL process?
    Can anybody help me this case?
    once again my requirement is :
    Client pushes the data through their WSDL url -----> I need to get that data into MY BPEL process --> I have my own WSDl to take that details into my system.

    I will explain the requirement in small paragraph:
    There are two applications.One is our application(X) and another one is third party application(Y).
    I need to update in my application(X) based on data coming from application(Y).
    I am using SOA as a middle tier to have communication between Y and X.
    (Ex: if they send some info like event type 'event1' from Y ,I need to update that 'event1' data in my X application)
    The work at third party application is :
    According their info,They will push data from their end to their WSDL( http://ipaddress:port/name/Service.svc?wsdl ).
    They are telling they can only send the data to their WSDL( http://ipaddress:port/name/Service.svc?wsdl ).
    They will not consume our BPEL process(I think they might be wrong at this point of time).They have one WSDL to send or push the data from their end.
    The work at from our side(SOA & X application)
    From that point ,our BPEL process has to receive that data and update that data into my application(X).
    I hope You understand my requirement.
    Can you guide me through how to achieve this task as they are telling they have to use their WSDL to push the data?
    (or)
    Do I need to take 'Webservice' adapter into Exposed Services Swimlane in Jdeveloper to have their webservice(third party WSDL),If it is So Can you tell me the details how to take 'input' and 'output' for BPEL process?
    (or)
    Can YOu suggest me to talk to them to consume my BPEL process directly?
    Thanks
    Edited by: 899283 on Aug 17, 2012 4:55 AM

  • BPEL process state "Off"

    Hi,
    I had created one BPEL process which reads from FTP Remote server and writes to local file directory.
    After reading from Remote FTP server I am deleting file from the server. In the remote server I had created on user to interact with FTP server with all permissions. When the BPEL process executed FTP Adapter is deleting the File successfully from remote location but BPEL state is changed to “Off”.
    When I checked the logs, I found there is problem with Delete permission. Actually as mentioned above file is deleted successfully in the remote location.
    OPMN logs:
    <File Adapter::Outbound> Processing file : /click/xelusparts/feeds/jabilparts/outbound/process/\po_28.txt
    <File Adapter::Outbound> Sending message to Adapter Framework for posting to BPEL engine: {
    file=/click/xelusparts/feeds/jabilparts/outbound/process/\po_28.txt
    <2007-06-11 19:00:42,677> <DEBUG> <default.collaxa.cube.engine.deployment> <CubeProcessHolder::loadAndBind> Check if process FTPRetrieveTOFileWriteProcess, revision 1.0 needs to be reloaded
    <2007-06-11 19:00:42,709> <DEBUG> <default.collaxa.cube.ws> <WSDLManager::getWSDL> registered wsdl at http://dt1521-localhost.com:80/orabpel/default/FTPRetrieveTOFileWriteProcess/1.0/_FTPRetrieveTOFileWriteProcess.wsdl
    <2007-06-11 19:00:42,709> <DEBUG> <default.collaxa.cube.ws> <WSDLManager::getWSDL> got wsdl at: http://dt1521-localhost.com:80/orabpel/default/FTPRetrieveTOFileWriteProcess/1.0/_FTPRetrieveTOFileWriteProcess.wsdl
    <2007-06-11 19:00:42,724> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Sucessfully sent message : /click/xelusparts/feeds/jabilparts/outbound/process/\po_28.txt to Adapter Framework.
    <2007-06-11 19:00:42,724> <INFO> <default.collaxa.cube.ws> <File Adapter::Outbound> Deleting file : /click/xelusparts/feeds/jabilparts/outbound/process/\po_28.txt after processing.
    <2007-06-11 19:00:42,724> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Host name is 'DT1521-localhost.com'.
    <2007-06-11 19:00:42,724> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Reading reply from DT1521-localhost.com
    <2007-06-11 19:00:42,818> <DEBUG> <default.collaxa.cube.ws> <WSInvocationManager::invoke> operation: Write, partnerLink: <partnerLink name="FileWriter" partnerLinkType="{http://xmlns.oracle.com/pcbpel/adapter/file/Write/}Write_plt">
    <myRole name="null">
    <ServiceName>null</ServiceName>
    <PortType>null</PortType>
    <Address>null</Address>
    </myRole>
    <partnerRole name="Write_role">
    <ServiceName>null</ServiceName>
    <PortType>{http://xmlns.oracle.com/pcbpel/adapter/file/Write/}Write_ptt</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/default/FTPRetrieveTOFileWriteProcess~1.0/10610-BpInv1-BpSeq1.3-3</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2007-06-11 19:00:42,834> <DEBUG> <default.collaxa.cube.ws> <WSDLManager::getWSDL> registered wsdl at D:\OraHome_1\integration\orabpel\domains\default\tmp\.bpel_FTPRetrieveTOFileWriteProcess_1.0.jar\Write.wsdl
    <2007-06-11 19:00:42,834> <DEBUG> <default.collaxa.cube.ws> <WSDLManager::getWSDL> got wsdl at: D:\OraHome_1\integration\orabpel\domains\default\tmp\.bpel_FTPRetrieveTOFileWriteProcess_1.0.jar\Write.wsdl
    <2007-06-11 19:00:42,834> <DEBUG> <default.collaxa.cube.ws> <WSInvocationManager::invoke> def is file:/D:/OraHome_1/integration/orabpel/domains/default/tmp/.bpel_FTPRetrieveTOFileWriteProcess_1.0.jar/Write.wsdl
    <2007-06-11 19:00:42,834> <DEBUG> <default.collaxa.cube.ws> <WSIFInvocationHandler::invoke> opName=Write, parnterLink=<partnerLink name="FileWriter" partnerLinkType="{http://xmlns.oracle.com/pcbpel/adapter/file/Write/}Write_plt">
    <myRole name="null">
    <ServiceName>null</ServiceName>
    <PortType>null</PortType>
    <Address>null</Address>
    </myRole>
    <partnerRole name="Write_role">
    <ServiceName>{http://xmlns.oracle.com/pcbpel/adapter/file/Write/}Write</ServiceName>
    <PortType>{http://xmlns.oracle.com/pcbpel/adapter/file/Write/}Write_ptt</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/default/FTPRetrieveTOFileWriteProcess~1.0/10610-BpInv1-BpSeq1.3-3</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2007-06-11 19:00:42,834> <DEBUG> <default.collaxa.cube.ws> <WSIFInvocationHandler::doShortCut> Parner Property optShortCut
    <2007-06-11 19:00:42,834> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> ResourceAdapterMetaData Connection Created
    <2007-06-11 19:00:42,834> <DEBUG> <default.collaxa.cube.ws> <AdapterFramework::Outbound> file:/D:/OraHome_1/integration/orabpel/domains/default/tmp/.bpel_FTPRetrieveTOFileWriteProcess_1.0.jar/Write.wsdl [ Write_ptt::Write(opaque) ] - Looking up Resource Adapter JDNI location 'eis/FileAdapter'
    <2007-06-11 19:00:42,834> <INFO> <default.collaxa.cube.ws> <File Adapter::Outbound> Managed Connection Created
    <2007-06-11 19:00:42,834> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Creating Connection
    <2007-06-11 19:00:42,834> <INFO> <default.collaxa.cube.ws> <File Adapter::Outbound> Connection Created
    <2007-06-11 19:00:42,834> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Creating FileInteraction
    <2007-06-11 19:00:42,834> <INFO> <default.collaxa.cube.ws> <File Adapter::Outbound> FileInteraction Created
    <2007-06-11 19:00:42,834> <DEBUG> <default.collaxa.cube.ws> <AdapterFramework::Outbound> Instantiating outbound JCA interactionSpec oracle.tip.adapter.file.outbound.FileInteractionSpec
    <2007-06-11 19:00:42,834> <DEBUG> <default.collaxa.cube.ws> <AdapterFramework::Outbound> Populating outbound JCA interactionSpec oracle.tip.adapter.file.outbound.FileInteractionSpec with properties: {FileNamingConvention=spob230_%SEQ%.txt, OpaqueSchema=true, ElapsedTime=60, NumberMessages=1, PhysicalDirectory=c:\inbound_dir, FileSize=1024000}
    07/06/11 19:00:42 file:/D:/OraHome_1/integration/orabpel/domains/default/tmp/.bpel_FTPRetrieveTOFileWriteProcess_1.0.jar/fileAdapterOutboundHeader.wsdl
    07/06/11 19:00:42 file:/D:/OraHome_1/integration/orabpel/domains/default/tmp/.bpel_FTPRetrieveTOFileWriteProcess_1.0.jar/fileAdapterOutboundHeader.wsdl
    07/06/11 19:00:42 file:/D:/OraHome_1/integration/orabpel/domains/default/tmp/.bpel_FTPRetrieveTOFileWriteProcess_1.0.jar/Write.wsdl
    <2007-06-11 19:00:42,849> <DEBUG> <default.collaxa.cube.ws> <AdapterFramework::Outbound> file:/D:/OraHome_1/integration/orabpel/domains/default/tmp/.bpel_FTPRetrieveTOFileWriteProcess_1.0.jar/Write.wsdl [ Write_ptt::Write(opaque) ] - Invoking JCA outbound Interaction
    <2007-06-11 19:00:42,849> <INFO> <default.collaxa.cube.ws> <File Adapter::Outbound> File Adapter received an input Record
    <2007-06-11 19:00:42,849> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Waiting outside sync object.....
    <2007-06-11 19:00:42,849> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Batcher created using staging : true with number of messages : 1
    <2007-06-11 19:00:42,849> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Input Record: javax.xml.transform.dom.DOMSource@e5394c
    <2007-06-11 19:00:42,849> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Translating....
    <2007-06-11 19:00:42,849> <INFO> <default.collaxa.cube.ws> <File Adapter::Outbound> Outbound Translation done.
    <2007-06-11 19:00:42,865> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Refreshed (staging/num Messages) file count : 1
    <2007-06-11 19:00:42,865> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Host DT1521-localhost.com FTP command: USER orabpel
    <2007-06-11 19:00:42,865> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Wrote to Control File
    <2007-06-11 19:00:42,865> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Batching staging File: staging0
    <2007-06-11 19:00:42,865> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Batcher sending to sender for output file writing
    <2007-06-11 19:00:42,865> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Sending File to output Dir
    <2007-06-11 19:00:42,865> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> FileAgent.putFile() puts spob230_17.txt in c:\inbound_dir begins ...
    <2007-06-11 19:00:42,865> <INFO> <default.collaxa.cube.ws> <File Adapter::Outbound> Done Writing to output file spob230_17.txt in dir c:\inbound_dir !!
    <2007-06-11 19:00:42,881> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> End clearing Control File
    <2007-06-11 19:00:42,881> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Deleting staging File: staging0
    <2007-06-11 19:00:42,881> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> End clearing Control File
    <2007-06-11 19:00:42,881> <INFO> <default.collaxa.cube.ws> <File Adapter::Outbound> Interaction gets a ok response
    <2007-06-11 19:00:42,881> <INFO> <default.collaxa.cube.ws> <File Adapter::Outbound> Done with Input Record
    <2007-06-11 19:00:43,256> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> FTP Command: USER, reply:
    331 Password required for orabpel
    <2007-06-11 19:00:43,256> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Host DT1521-localhost.com FTP command: PASS
    <2007-06-11 19:00:43,506> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> FTP Command: PASS, reply:
    230 Login OK
    <2007-06-11 19:00:43,506> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Host DT1521-localhost.com FTP command: CWD /click/xelusparts/feeds/jabilparts/outbound/process/
    <2007-06-11 19:00:43,615> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> FTP Command: CWD, reply:
    250 Directory successfully changed
    <2007-06-11 19:00:43,615> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Host DT1521-localhost.com FTP command: DELE po_28.txt
    <2007-06-11 19:00:43,709> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> FTP Command: DELE, reply:
    200 Deleted file "po_28.txt".
    <2007-06-11 19:00:43,709> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> FTPClient.deleteFile(): 200 Deleted file "po_28.txt".
    <2007-06-11 19:00:43,709> <ERROR> <default.collaxa.cube.ws> <File Adapter::Outbound> FTPClient.deleteFile(): Unable to delete file po_28.txt', reply code = 200
    <2007-06-11 19:00:43,709> <DEBUG> <default.collaxa.cube.ws> <File Adapter::Outbound> Processer thread calling onFatalError with exception Error deleting file from FTP Server.
    Unable to delete file from server.
    Please ensure whether the remote file has delete permission.
    <2007-06-11 19:00:43,709> <FATAL> <default.collaxa.cube.activation> <AdapterFramework::Inbound> [Get_ptt::Get(opaque)] - Resource Adapter requested Process shutdown!
    <2007-06-11 19:00:43,709> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> Adapter Framework instance: OraBPEL - performing endpointDeactivation for portType=Get_ptt, operation=Get
    <2007-06-11 19:00:43,709> <INFO> <default.collaxa.cube.ws> <File Adapter::Outbound> Endpoint De-activation called in adapter for endpoint : /click/xelusparts/feeds/jabilparts/outbound/process/
    <2007-06-11 19:00:43,725> <DEBUG> <default.collaxa.cube.engine.deployment> <CubeProcessHolder::loadAndBind> Check if process FTPRetrieveTOFileWriteProcess, revision 1.0 needs to be reloaded
    <2007-06-11 19:00:44,037> <INFO> <default.collaxa.cube.activation> <AdapterFramework::Inbound> JCAActivationAgent::onStateChanged State is changed for process 'bpel://localhost/default/FTPRetrieveTOFileWriteProcess~1.0/', state=OFF
    <2007-06-11 19:00:44,037> <DEBUG> <default.collaxa.cube.engine.deployment> <CubeProcessHolder::updateRevision> Updated state for process FTPRetrieveTOFileWriteProcess (revision 1.0) to 1
    Thanks,
    Vidya

    Hi SR,
    You can do this by having a BPEL process with a java embedding containing below code.
    * Input Variables
    String processName   = (String)getVariableData("processName");                                                                                 
    String revision      = (String)getVariableData("revision");             
    * Declare variables.
    IBPELProcessHandle procHandle = null;            
    Locator loc = null;            
    BPELProcessMetaData bpelProcessMetadata = null;             
    try{               
         * get Locator Instance
        loc = getLocator();                            
         * Lookup Process. Revision optional.
        if(revision == null || revision.trim().equals(""))            
          procHandle = loc.lookupProcess( processName );             
        else            
          procHandle = loc.lookupProcess(processName, revision);             
        if(procHandle == null)          
          throw new Exception("Unable to find process: " + processName);          
         * Get Metadata of the process.
        bpelProcessMetadata = procHandle.getMetaData();             
         * Set Lifecycle to Retired.
         * Use setState(IBPELProcessConstants.STATE_OFF) to change process state to off.
        bpelProcessMetadata.setLifecycle(IBPELProcessConstants.LIFECYCLE_RETIRED);    
         * Finally update the process with the modified metadata.
        procHandle.updateMetaData(bpelProcessMetadata);                   
    }catch (Exception e)                            
      addAuditTrailEntry(e);              
    }If you want you can schedule this process.
    Regards
    PavanKumar.M

  • How to show the processing time taken for a BPEL process in BAM report.

    Hi All,
    I have the data as below in the Data object. I would like to show the time taken for each order to complete in the report.
    instance Id     order Id     product Name     product Code     price     status     instance Time      updaterName
    1360010     ord004     Guitar     prod003     2000     requested     9/22/2008 12:12:11 PM     Invoke_InsertSalesOrder
    1360010     ord004     Guitar     prod003     2000     Approved     9/22/2008 12:15:11 PM     Invoke_OrderStatusUpdate
    This data comes from simple BPEL process where sensors are configured at the start and end of BPEL process. Also have a human task activity in between to create the time difference.
    In Enterprise link design studio, I tried to calculate the time difference using expression calculator and store it as calculated field. But that doesn't seems to work because when I execute the plan, second sensor data reaches only after human approval whereas first sensor data would be waiting for calculation and ultimately nothing comes into data object.
    How and where the calculation be done to show the processing time in the report. Please someone throw some light on this.
    Regards
    Jude.
    Edited by: user600726 on Sep 30, 2008 1:30 AM

    I would suggest modifying your data object so that the data can all be in a single row and use the sensor at the end of the process to upsert (update) the row created by the sensor at the start of the process. The time difference between two fields in the same row is then an easy calculation on a BAM report -- No EL plan should be needed.

  • How to use multiple WSDL operations in One BPEL process Recieve Activity ?

    Is there anyway to attach multiple WSDL operations with a Single BPEL process ? How ?

    Thanks Melvin for your quick respond.
    When I create a BPEL process, It asks me to give the XSD as an Input. When I import the XSD it asks me to select an operation not more than one. Let suppose I select addRequest and finish the wizard.
    Now what I can see, It create Recieve activity with an Input msg of Add operation. Well what I understand from your statement is that, I remove the recieve activity and put the Pick activity.
    Now my question is How to mention the other operations like update and delete ? And how to test them ?? The link provided by you is just tell me what Pick activity can do for me, But its not telling me how to use it ?? and how the give the operation to it. Where should I need to change in the BPEL ???

  • Question on BPEL Process Performance

    Hello,
    We have a BPEL process reading the datafile through file adapter and upserting into DB using DB Adapter. Our requirement is
    If there are 10 records to process and two records (record 5 and 9) fail while inserting/updating for some reason(i.e data type mismatch, column length mismatch etc..), at the end of the process you should see 8 records in the destination table and two records in error table.
    I know there are solutions of this :
    *1) Multiple calls to DB:* Use a While loop in a BPEL process and Invoke DB adapter for each record and use exception handling(Catch all block).
    *2) Invoke Store Procedure:* to prevent multiple calls to DB, create a stored proc on DB side to iterate and insert the records and the stored proc should also return the IDs of failed records back as error response so that you can insert those failed records to a log table or in log files.
    Can you suggest which solution is best in terms of performance and why ??
    Also we need to perform some business validation (i.e NOT NULL check, date format check etc..), Where should we perform this.. at DB level or BPEL process level?? and why..
    Thanks,
    Buddhi

    BPEL is a slow performer.
    Always call a stored procedure to do complex data processings.
    Hence go with the second approach.
    Error records:
    If your going to log errors in the same database, insert the error details direcly into the error table. Dont go back to BPEL.
    Application specific validations should be handled in the application itself.
    --Prasanna                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Error while deployoing the bPEL Process

    Hi ,
    I'm getting the below error when i'm trying to deploy a BPEL Process.
    It got deployed and in the OPMN log i see the below error:
    May 20, 2008 12:34:21 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
    INFO: Recoverable exception caught when processing request
    May 20, 2008 12:34:31 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
    INFO: Recoverable exception caught when processing request
    May 20, 2008 12:34:42 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
    INFO: Recoverable exception caught when processing request
    May 20, 2008 12:34:52 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
    INFO: Recoverable exception caught when processing request
    May 20, 2008 12:34:52 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
    WARNING: Recoverable exception caught but MethodRetryHandler.retryMethod() returned false, rethrowing exception
    08/05/20 12:34:53 org.apache.commons.httpclient.IOTimeoutException: Read timed out
    08/05/20 12:34:53      at org.apache.commons.httpclient.HttpConnection$WrappedInputStream.handleException(HttpConnection.java:1338)
    08/05/20 12:34:53      at org.apache.commons.httpclient.HttpConnection$WrappedInputStream.read(HttpConnection.java:1348)
    08/05/20 12:34:53      at java.io.FilterInputStream.read(FilterInputStream.java:66)
    08/05/20 12:34:53      at java.io.PushbackInputStream.read(PushbackInputStream.java:120)
    08/05/20 12:34:53      at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:76)
    08/05/20 12:34:53      at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:104)
    08/05/20 12:34:53      at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1042)
    08/05/20 12:34:53      at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1782)
    08/05/20 12:34:53      at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1543)
    08/05/20 12:34:53      at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:977)
    08/05/20 12:34:53      at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:368)
    08/05/20 12:34:53      at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:164)
    08/05/20 12:34:53      at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:437)
    08/05/20 12:34:53      at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324)
    08/05/20 12:34:53      at oracle.tip.esb.configuration.deployment.bpel.BPELSvcDeploymentManager.postZipFile(Unknown Source)
    08/05/20 12:34:53      at oracle.tip.esb.configuration.deployment.bpel.BPELSvcDeploymentManager.onProcessDeploy(Unknown Source)
    08/05/20 12:34:53      at oracle.tip.esb.configuration.deployment.bpel.BPELSvcDeploymentManager.update(Unknown Source)
    08/05/20 12:34:53      at com.collaxa.cube.engine.observer.DomainObserverRegistry.notify(DomainObserverRegistry.java:272)
    08/05/20 12:34:53      at com.collaxa.cube.engine.observer.DomainObserverRegistry.notify(DomainObserverRegistry.java:82)
    08/05/20 12:34:53      at com.collaxa.cube.engine.observer.DomainObserverHelper.onProcessDeploy(DomainObserverHelper.java:60)
    08/05/20 12:34:53      at com.collaxa.cube.engine.deployment.DeploymentManager.deployProcess(DeploymentManager.java:767)
    08/05/20 12:34:53      at com.collaxa.cube.engine.deployment.DeploymentManager.deploySuitcase(DeploymentManager.java:639)
    08/05/20 12:34:53      at com.collaxa.cube.ejb.impl.BPELDomainManagerBean.deploySuitcase(BPELDomainManagerBean.java:452)
    08/05/20 12:34:53      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    08/05/20 12:34:53      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    08/05/20 12:34:53      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    08/05/20 12:34:53      at java.lang.reflect.Method.invoke(Method.java:585)
    08/05/20 12:34:53      at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    08/05/20 12:34:53      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    08/05/20 12:34:53      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    08/05/20 12:34:53      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    08/05/20 12:34:53      at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    08/05/20 12:34:53      at com.evermind.server.ThreadState.runAs(ThreadState.java:618)
    08/05/20 12:34:53      at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    08/05/20 12:34:53      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    08/05/20 12:34:53      at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
    08/05/20 12:34:53      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    08/05/20 12:34:53      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    08/05/20 12:34:53      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    08/05/20 12:34:53      at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    08/05/20 12:34:53      at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    08/05/20 12:34:53      at DomainManagerBean_RemoteProxy_4bin6i8.deploySuitcase(Unknown Source)
    08/05/20 12:34:53      at com.oracle.bpel.client.BPELDomainHandle.deploySuitcase(BPELDomainHandle.java:318)
    08/05/20 12:34:53      at com.oracle.bpel.client.BPELDomainHandle.deployProcess(BPELDomainHandle.java:340)
    08/05/20 12:34:53      at deployHttpClientProcess.jspService(_deployHttpClientProcess.java:376)
    08/05/20 12:34:53      at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
    08/05/20 12:34:53      at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:453)
    08/05/20 12:34:53      at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:591)
    08/05/20 12:34:53      at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:515)
    08/05/20 12:34:53      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    08/05/20 12:34:53      at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
    08/05/20 12:34:53      at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:396)
    08/05/20 12:34:53      at java.security.AccessController.doPrivileged(Native Method)
    08/05/20 12:34:53      at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
    08/05/20 12:34:53      at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:410)
    08/05/20 12:34:53      at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
    08/05/20 12:34:53      at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
    08/05/20 12:34:53      at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
    08/05/20 12:34:53      at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
    08/05/20 12:34:53      at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
    08/05/20 12:34:53      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
    08/05/20 12:34:53      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
    08/05/20 12:34:53      at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    08/05/20 12:34:53      at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
    08/05/20 12:34:53      at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
    08/05/20 12:34:53      at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
    08/05/20 12:34:53      at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    08/05/20 12:34:53      at java.lang.Thread.run(Thread.java:595)
    08/05/20 12:34:54 >>>>>>>>>>>>>>>>>>>>>>>>>>>>> PROCESS GUID = MD5{aff5f97eb9cef4c782fc2910f143f14d}
    08/05/20 12:34:54 >>>>>>>>>>>>>>>>>>>>>>>>>>>> SUITCASE ID = RevenueItemOperationsServiceCallback_1.0_dade4b4fc524e23a646e910212ef7e7e
    08/05/20 12:34:54 @#############@##@ CLOB = oracle.lite.poljdbc.CLOB@11f0521
    Any help is appreciated.
    Thanks
    Pavan

    Hi,
    I tried to deploy it once agian but it i see only two lines of error lines instead of the above big error message. It is just pushing the below lines:
    Process "RevenueItemOperationsServiceCallback" (revision "1.1") successfully compiled.
    <2008-05-21 09:44:56,029> <INFO> <default.collaxa.cube.engine.deployment> Process "RevenueItemOperationsServiceCallback" (revision "1.1") successfully loaded.
    May 21, 2008 9:45:06 AM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
    INFO: Recoverable exception caught when processing request
    08/05/21 09:45:07 @#############@##@ CLOB = oracle.lite.poljdbc.CLOB@c6ce80
    But Both the errors seems to be one and the same.
    and when i post the XML message from BPEL Console it gives me a time out exception .
    ERROR> <default.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "delivery": Waiting for response has timed out. The conversation id is LocalGUID:8f79d87118a631bf:4a1f6408:11a0b9346ac:-7f62. Please check the process instance for detail.
    com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is LocalGUID:8f79d87118a631bf:4a1f6408:11a0b9346ac:-7f62. Please check the process instance for detail.
    Any idea whats happening?

  • Problem in invoking TaskMAnager from another BPEL process

    Hi,
    I have created a BPEL process having its own xsd schema file and i have also imported Task.xsd.In this process i want to invoke TaskManager Service in java Embed activity(bpel:exec language="java") in following manner:
    /////////////////////////////////////////////////CODE////////////////////////////////////////////////
    Task task = TaskFactory.createFacade(new QName("http://services.oracle.com/bpel/task", "task"));
    task.setTitle("Task Title");
    task.setCreator("ProcessManager...");
    task.setAssignee("assignee");
    task.setPriority(3);
    NormalizedMessage nm = new NormalizedMessage();
    nm.addPart("payload",task.getRootElement());
    Locator locator = new Locator("default","bpel");
    IDeliveryService deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME );
    deliveryService.post("TaskManager", "initiateTask", nm );
    ////////////////////////////////////CODE////////////////////////////////////////////////////////
    It creates the instance of taskmanager but following error occur in its initiate task.
    //////////////////////////////////ERROR/////////////////////////////////////////////////////////////
    <IntiateFault xmlns="http://services.oracle.com/bpel/task">
    <part name="summary">
    <summary>Cannot update task. The process domain was unable to insert the data for task "LocalGUID:c568752ccc493590:148662:1089e600035:-7fd4" in the datasource. The exception reported is: [POL-5134] invalid host variable type Please check that the machine hosting the datasource is physically connected to the network. Otherwise, check that the datasource connection parameters (user/password) is currently valid. sql statement: INSERT INTO task( domain_ref, conversation_id, title, creation_date, creator, modify_date, modifier, assignee, status, expired, exp_date, priority, template, custom_key, conclusion ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )</summary>
    </part>
    </IntiateFault>
    //////////////////////////////////ERROR/////////////////////////////////////////////////////////////
    Thanks
    Nancy

    By default the BPEL 10.1.2, it will do a local call to the process. It will not execute a SOAP request, no network access is done.
    It can be configured at domain level:
    Parameter: optSoapShortcut (SOAP local optimization)
    Turns on "short-cut" for local SOAP request; local SOAP calls are normally done via an internal call instead of sending a message through the SOAP stack.
    The default behavior for the engine is to optimize all. To disable optimization specify a value other than "true" or "yes".

  • Issue in invoking a BPEL process (having a DB Adapter) from ESB

    Dear All,
    I am having an issue while invoking a ESB process (Batch file mode) which inturn will call a second BPEL process which will invoke the Oracle APPS standard API ego_item_pub.process_items to create an item in Inventocry, through a DB adapter
    I am able to create the Item and API is working when I pass the input XML through the second BPEL process.
    But when invoking through the ESB process which will invoke the BPEL process, based on the polling to the batch file from the ESB. This is done through an FTP adapter in ESB.
    The Issue is that while invoking from ESB, through batch file. The PL/SQL API is throwing error from the standard API 'ego_item_pub.process_items'
    But it works fine if I invoke the BPEL process individually.
    What might be the problem for this and how can I fix this..
    Please update..
    Many thanks in advance ...

    Hi,
    We tried the same thing and it worked for us. In our scenario we had a BPEL process calling a ESB and then this ESB calling another BPEL process which inturn calls the API. I agree with James it seems more of a Data issue/or your XSD is not proper i.e the XSD that you ESB process is having. If you have created a ESB and then changed the BPEL process afterward the issue you mentioned will come. Please run the process in DEBIG mode and provide the domain.log file.
    Regards
    Sahil
    http://soab2bsahil.blogspot.com

  • Invoking JDev bpel process from Eclipse BPEL Process?

    Is it possible to invoke a bpel process (with dbadapter) developed in JDev from a bpel process created in Eclipse (Designer)?

    I was unsuccessful.
    Scenario:
    I was trying to invoke jdev bpel process (that had a database adapter to update the database) from Eclipse bpel process (since we do not have adapters in Eclipse designer).
    The namespace wasn't known by Eclipse( some schema missing?) and therefore we couldn't compile it.

Maybe you are looking for

  • Public IP address requirerement for a Public facing SharePoint 2013 website.

    I am planning to implement a public facing website on SharePoint 2013 platform. Following are the proposed server setup. 2 x Web Front End (WFE) hosting SharePoint 2013 (Load Balanced) 2 x  Search and Application server hosting SharePoint 2013 (Load

  • ITunes library transfers imperfectly from Windows 7 computer to iPad2

    Hi. At my wit's end here... I have a pristine iTunes music collection on my Windows 7 laptop (no duplicate albums, all album artwork displayed, yada, yada..) but when I sync it with my iPad 2, I get duplicate albums with content split between the two

  • Duplicate Records & CFTRANSACTION

    Maybe I'm missing the obvious on this, as I've never had a problem with this before, but recently I developed a custom tag that logs and blocks the IP addresses of all these recent DECLARE SQL injection attempts. The issue is however that my blocked

  • Terminal Emulation/TN5250 on a Blackberry

    All - I am looking for some software to do terminal emulation on the Blackberry.  I used to use MobileSSH from Rove, but now that they have incorporated it into Mobile Admin, I can no longer purchase just MobileSSH and the cost has also rised about 3

  • IPhone 4 from Canada doesn't  work in Europe

    My iPhone is registered in Canada and detect 3 carriers but doesn't connect to them so my phone is useless when I'm in Switzerland. However, i have an other phone and it works very well. I Would appreciate any help to get this resolved. (enable 3G, c