Doubt: How to get Instance Id of a BPEL Process

Hi All,
I have a doubt in BPEL as to how we can get the Instance Id of a particular faulted process.
Business Scenario
We have a process which does the following:
1. Dequeue message from a queue.
2. Do the Transformation
3. Insert the Output message into a Database Table by calling a Stored Procedure
The BPEL Process will create multiple instances of the process after successful completion.
Now we want to add fault handlers at each of the above steps which will catch any exception that will basically get the Instance Id of the particular faulted process and send it to a mailing list using E-mail notification Service mentioning the Instance Id of the Faulted Process.
Currently we could not find any way on how to capture the Instance Id of the Faulted Process. We have this requirement because in Production Environment many instances of the process will be spawned and it will be difficult to know which Instance has faulted.
Anybody familiar with a similar requirement or any pointers on how to achieve this, please post it and let us know.
Thanks In Advance,
Dibya

This xpath function returns current instance id of running process ora:getInstanceId().
But in your case I would do this flow in ESB. Because this kind of "provisioning" of data can be done in ESB. Each execution I would define as async. And when exception occurs it will be logged by ESB and moved to error hospital. Administrator can easily use ESB console to query faulted instances and if neccesary he can resubmit them.
Just an idea how to make it faster, without doing some special development.

Similar Messages

  • How to get response from an asynchronous BPEL process in Java

    I'm experimenting with BPEL and doesn't seem to be able to get response from an asynchronous BPEL process. Here's the deal:
    I have a BPEL process that takes a string as input, and gives another string as output. This is a asyncronous process.
    I want to initiate this BPEL process as a web service so I generate a Webservice Proxy in JDeveloper 10g (10.1.3.0.4). The function to call the process is now called "initiate" and takes three arguments: the input string, a "org.xmlsoap.schemas.ws._2003._03.addressing.EndpointReferenceType replyTo" and a
    "org.xmlsoap.schemas.ws._2003._03.addressing.AttributedURI messageID".
    HTTP-Analyzer shows that invoking the BPEL process with initiate("somestring", null, null) results in sending a SOAP message to the BPEL process, which returns a "202 Accepted". How do I get the response from the process? My intuition tells me that I have to use that second argument, that EnpointReferenceType thing. How do I use that?
    Another question: If a asynchronous BPEL process does not exists (so the endpoint does not exist) the Java proxy does not throw an error when runned. It does not even sends a message. It exits with status 0! (This happens for example when deploying a new version of a process and when the "old" version is undeployed). Calling a non-existing synchronous BPEL process, the Java proxy DOES throw an error.

    Clemens,
    That all sounds logical. But somehow it is still a mystery for me ... Somehow I don't see what should be done.
    To call the async BPEL process I have the following procedure:
    initiate(String input, org.xmlsoap.schemas.ws._2003._03.addressing.EndpointReferenceType replyTo, org.xmlsoap.schemas.ws._2003._03.addressing.AttributedURI messageID)
    The first argument is the input for my BPEL process. The second is the address to a webservice that should handle the callback, right? The third is a messageID (makes sense, but why of the type AttributedURI?).
    Here lies my problem. It is not clear to me how these EndpointReferenceType & AttributedURI work. I can't find anything on the net about it. The AXIS examples as where mentioned earlier use other types (namely the "org.xmlsoap.schemas.ws.addressing.MessageID" and "org.xmlsoap.schemas.ws.addressing.ReplyTo") which are completely different.
    What I did so far:
    - I created an webservice proxy that listens on the onResult endpoint of the BPEL process.
    - I created an webservice proxy that calls the BPEL process through the initiate procedure, but it is not completely clear to me how to construct the EndPointreferenceType replyTo, and the MessageID. I did something like this:
    EndpointReferenceType replyTo = new EndpointReferenceType();
    // callback service running on local machine
    // This URI class is the java.net's version
    URI replyToURI = new URI("http://vaccinatie:8988/syncro-callback-context-root/stringconcatCallbackBindingPort");
    // This AttributedURI is the org.xmlsoap.schemas.ws._2003._03.addressing's version
    AttributedURI address = new AttributedURI();
    // the only public methos that made sense to me:
    address.set_value(replyToURI);
    replyTo.setAddress(address);
    // call the BPEL process
    myPort.initiate("test123", replyTo, address);
    But the above doesn't work (largely because I don't know what I'm doing here prob.:-) ) It does send the "test123" message, and the BPEL process does process it, but I don't seem to get the callback right.
    I hope this makes my problems somewhat clearer. I hope someone can help me, because I'm just a beginner in this whole "web service area" and seems to do something terribly wrong here, because it should be very simple. Thx.

  • How to get error message from the BPEL process

    Hi,
    We have some BPEL processes running in BPEL PM 10g. If any of these BPEL process fails, we would like to get the error message caused this process to fail.
    Please let me know where does the BPEL proccess holds (table/file) these details. or is it possible to get the error message programatically.
    Thanks

    You can go through below link that can help
    http://download.oracle.com/docs/cd/B31017_01/integrate.1013/b28981/faults.htm#sthref1186
    http://bpelknowledge.blogspot.com/2010/07/error-conditions-that-cannot-be-handled.html
    http://blog.whitehorses.nl/2009/11/03/error-handling-in-soa-suite-11g/
    Hope it helps!!
    Thanks
    AJ

  • How to call an  encrypted webservice in  BPEL process?

    If i need to call a J2EE webservice which need to authenticate,like need to provide the username and password,or need to provide the signature,how can i discribe it in a BPEL process? Is there any article addressing this problem?
    Thank you!

    OWSM can mange both ways. You have the option of using the gateway or using the OWSM gateway. The gateway is easier to configure but data is decrypted between the gateway and the SOA Suite / BPEL so depending on your use case and security you may need to use agents.
    cheers
    James

  • How to give multiple inputs to syn BPEL process in Jdeveloper

    Hi,
    I am new to BPEL . I have created programs which takes single input and after processing displays single output. I want to give more than one input at run time (for ex. employee name,age, salary ) and want to display Multiple output after processing them Instead of Just one that I am doing currently. How I can do that using Synchronous BPEL process . Can some one tell that What will be learning time for BPEL using google and forums, for a 3 year exeperienced person in JAVA and new to BPEL.
    Yogendra Rishishwar

    Hi,
    You just need to change the XSD of your process.
    Someone posted something similar last week : How to change the input and output schema in BPEL process
    Hope it will help you ..
    romain.

  • How to get instance of all components in a frame  dynamically

    Hai ,
    I want to know how to get the instance names and values of components on a frame . if any body knows anything on this
    Please help me
    Advance Thanks

    Hai ..
    Thanks for guiding me here i had copied my example code i am getting name value null
    import javax.swing.*;
    import java.awt.*;
    import java.util.*;
    * @author  naveen
    public class Test extends javax.swing.JFrame {
        /** Creates new form RaviTest */
        public RaviTest() {
            initComponents();
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
        private void initComponents() {
            jTextField1 = new javax.swing.JTextField();
            jTextField2 = new javax.swing.JTextField();
            jButton1 = new javax.swing.JButton();
            getContentPane().setLayout(null);
            addWindowListener(new java.awt.event.WindowAdapter() {
                public void windowClosing(java.awt.event.WindowEvent evt) {
                    exitForm(evt);
            getContentPane().add(jTextField1);
            jTextField1.setBounds(180, 60, 100, 20);
            getContentPane().add(jTextField2);
            jTextField2.setBounds(180, 90, 90, 20);
            jButton1.setText("jButton1");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
            getContentPane().add(jButton1);
            jButton1.setBounds(170, 140, 81, 26);
            pack();
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
            // Add your handling code here:
            Component[] comp=this.getContentPane().getComponents();
            for(int i=0;i<comp.length;i++)
                if(comp[i] instanceof JTextField)
                    getT((JTextField)comp);
    public void getT(JTextField jt)
    System.out.print("name "+jt.getName());
    System.out.println("value "+jt.getText());
    /** Exit the Application */
    private void exitForm(java.awt.event.WindowEvent evt) {
    System.exit(0);
    * @param args the command line arguments
    public static void main(String args[]) {
    new RaviTest().show();
    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextField jTextField2;
    // End of variables declaration
    OUTPUT AS :
    if we enter some text in text box and press the button we get like this
    name null value ABCD
    name null value EFGH
    may be some components will have name but if they names are not set
    then we get null value
    what i want is at that i want the jTextField1.. as name(ie.. object name) when the name is not set how to do it

  • How to get instance of Class with its type parameters

    Hi,
    Have any of you folks been dealing with generics long enough to show me how this should be written? Or point me to the answer (I have searched as well as I could).
    I boiled down my situation to the included sample code, which is long only because of the inserted comments. And while boiling I accidentally came across a surprise solution (a bug?), but would obviously prefer a smoother solution.
    My Questions (referred to in the code comments):
    #1. Is there a way to get my parameterized type (classarg) without resorting to using the bogus (proto) object?
    #2. Can anyone understand why the "C" and "D" attempts are different? (All I did was use an intermediate variable????) Is this a bug?
    Thanks so much for any input.
    /Mel
    class GenericWeird
       /* a generic class -- just an example */
       static class CompoundObject<T1,T2>
          CompoundObject(T1 primaryObject, T2 secondaryObject)
       /* another generic class -- its main point is that its constr requires its type class */
       static class TypedThing<ValueType>
          TypedThing(Class<ValueType> valuetypeclass)
       // here I just try to create a couple of TypedThings
       public static void main(String[] args)
          // take it for granted that I need to instantiate these two objects:
          TypedThing<String>                        stringTypedThing = null;
          TypedThing<CompoundObject<String,String>> stringstringTypedThing = null;
          // To instantiate stringTypedThing is easy...
          stringTypedThing = new TypedThing<String>(String.class);
          // ...but to instantiate stringstringTypedThing is more difficult to call the constructor
          Class<CompoundObject<String,String>> classarg = null;
          // classarg has got to be declared to this type
          //    otherwise there will rightfully be compiler error about the constructor call below
          // This method body illustrates my questions
          classarg = exploringHowToGetTheArg();
          // the constructor call
          stringstringTypedThing = new TypedThing<CompoundObject<String,String>>(classarg);
       } // end main method
       // try compiling this method with only one of A,B,C,D sections uncommented at a time
       private static Class<CompoundObject<String,String>> exploringHowToGetTheArg()
          Class<CompoundObject<String,String>> classarg = null;
          /* Exhibit A: */
      ////     classarg = CompoundObject.class;
             results in compiler error "incompatible types"
             found   : java.lang.Class<GenericWeird.CompoundObject>
             required: java.lang.Class<GenericWeird.CompoundObject<java.lang.String,java.lang.String>>
                   classarg = CompoundObject.class;
                                            ^
             I understand this.  But how to get the type information?
          /* It's obnoxious, but it looks like I will have to construct a temporary
              prototype instance of type
                 CompoundObject<String,String>
              in order to get an instance of
                 Class<CompoundObject<String,String>>
              (see my Question #1) */
          CompoundObject<String,String> proto = new CompoundObject<String,String>("foo", "fum");
          /* Exhibit B: */
      ////     classarg = proto.getClass();
             results in compiler error: "incompatible types"
             found   : java.lang.Class<capture of ? extends GenericWeird.CompoundObject>
             required: java.lang.Class<GenericWeird.CompoundObject<java.lang.String,java.lang.String>>
                   classarg = proto.getClass();
                                            ^
          /* Exhibit C: */
      ////     classarg = proto.getClass().asSubclass(proto.getClass());
             results in compiler error: "incompatible types"
             found   : java.lang.Class<capture of ? extends capture of ? extends GenericWeird.CompoundObject>
             required: java.lang.Class<GenericWeird.CompoundObject<java.lang.String,java.lang.String>>
                   classarg = proto.getClass().asSubclass(proto.getClass());
                                                         ^
          /* Exhibit D: (notice the similarity to C!): */
      ////     Class tmp1 = proto.getClass();
      ////     classarg = tmp1.asSubclass(tmp1);
          /* It compiles (see my Question #2) */
          return classarg;
       } // end method exploringHowToGetTheArg()
    } // end class GenericWeird

    Thanks so much, Bruce. (Oh my goodness, how would I have ever come up with that on my own?)
    So in summary
    This doesn't compile:
          classarg = (Class<CompoundObject<String,String>>)CompoundObject.class;but these do compile:
          classarg = (Class<CompoundObject<String,String>>)(Class)CompoundObject.class;or
          Class coclass = (Class)CompoundObject.class;
          classarg = (Class<CompoundObject<String,String>>)coclass;And this doesn't compile:
           classarg = proto.getClass().asSubclass(proto.getClass());but this does:
           Class tmp1 = proto.getClass();
           classarg = tmp1.asSubclass(tmp1);

  • How to get instance of NormalizedMessage of payload in BPEL

    hi,
    I have a BPEL with a JavaEmbedding task in it. And the BPEL receives an XML payload. How can I get an instance of com.oracle.bpel.client.NormalizedMessage of the payload in the JavaEmbedding task. What is the API that gives an instance of the NormalizedMessage.
    Thanks,
    Anil

    hi,
    I have a BPEL with a JavaEmbedding task in it. And the BPEL receives an XML payload. How can I get an instance of com.oracle.bpel.client.NormalizedMessage of the payload in the JavaEmbedding task. What is the API that gives an instance of the NormalizedMessage.
    Thanks,
    Anil

  • How to get instance notes in a global

    I have a global in a utility project that gets called through PAPI WS from an external client.
    I want this global to take an instance id as the input argument. It should then get a reference to the instance, get the instance notes currently associated with that instance and pass them back (as an array of delimited strings). The instance will be residing in one of many other projects.
    I can use PAPI in the global to connect to a BusinessProcess:
    connectTo bp
    using url = Fuego.Server.directoryURL,
    user = String(BusinessParameter.getValue(name : "GENIE_UID")),
    password = String(BusinessParameter.getValue(name : "GENIE_PW")),
    process = "/" + ou + "/" + process
    and I can get a reference to the instance using bp.getInstance(), but I can not see anywhere in any of the PAPI methods where I can get the instance notes for that instance.
    BTW I am using both ALBPM 5.5 and 6.0, so I need a solution for both.
    Basically this external client wants to get instance notes for a given instance (and there is other processing I need to do as well - I need to add in custom notes from a custom table before I return the results, so they can't just use PAPI WS directly to get the instance notes).

    I ran into this problem and requested from Product Management that they allow PBL code to get instance notes, audit info, etc. It's been a while since I've run into this problem but I'm sure it's the same issue. You can only get information about the instance notes, audit info, etc from PAPI.
    The architecture of BPM is such that the BPM workspace actually uses PAPI to do all its work. So in other words anything the workspace does, PAPI can do. But from within a process, PBL code doesn't have access to all PAPI functionality. You may want to raise this issue up with product management and see if they have any recommendations.
    BTW - It is not recommended to instrospect BPM tables to use from within your process. Although this would solve your problem, it is not recommended...
    Cheers!
    Mark

  • How to get the changes during ABENDED replicat process

    Hi,
    I am working on Oracle GG bi-directional DML replication. I m stuck in one place.
    My target replicat process was ABENDED due to Error :- ORA-01403: no data found. I restarted my replicat process again by runing the below command
    GGSCI (db1) 30> alter replicat rep2 begin now
    GGSCI (db1) 30> start replicat rep2
    After restart the replicat process I can't see the changes on target server which I had applyed on source server during target replicat was ABENED.
    My doubt is.
    1. Is my command is correct for start the ABENDEND replicat process?
    2.How to get the changes on target server which applyed on source during ABNDED of targer replication?
    3.How to avoid the ABENDED replicat process on production server?
    4.how to track the ABENDED process in production server?
    Please HELP:(
    Edited by: NaveenK on Aug 29, 2012 3:32 AM

    NaveenK wrote:
    Hi,
    I am working on Oracle GG bi-directional DML replication. I m stuck in one place.
    My target replicat process was ABENDED due to Error :- ORA-01403: no data found. I restarted my replicat process again by runing the below command
    GGSCI (db1) 30> alter replicat rep2 begin now
    GGSCI (db1) 30> start replicat rep2
    After restart the replicat process I can't see the changes on target server which I had applyed on source server during target replicat was ABENED.
    My doubt is.
    1. Is my command is correct for start the ABENDEND replicat process?
    2.How to get the changes on target server which applyed on source during ABNDED of targer replication?
    3.How to avoid the ABENDED replicat process on production server?
    4.how to track the ABENDED process in production server?
    Please HELP:(
    Edited by: NaveenK on Aug 29, 2012 3:32 AMHi Naveen. SQL Error 1403 means row not found. Your data is out of sync and you should fix this.
    By doing begin now when this happens, you are skipping all the transactions that were "in-line" since the process ABENDED.
    You have more than one way to deal with these things, first of all you should synchronize your data! This should get rid of the 1403 errors.
    Then you can write rules using REPERROR to tell the replicat how to behave in case of errors should come up.
    Using logdump, you can read the exact row which failed and find out the next RBA to skip that specific one if required. You should also configure a DISCARDFILE to get details about errors when they happen.
    Greetings,
    N K

  • 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 get the list of all running process in java

    hi all,
    i want to get the list of all running processes on my system. please let me know if it is possible to do with JAVA. which class i should use?
    waiting for reply
    bye

    Wrong forum. Just a hint.

  • How to pass multiple values while invoking bpel process from ADF?

    Hi,
    I want to call a bpel process from my ADF application. The bpel process is having one input parameter. I have created webservice data control by using WSDL url.
    Lets say, I have an Emp multi select table. I drag and drop the data control into Emp table selection facet to create an "Invoke" button.
    I am able to pass single value (lets say Empid) to the bpel process after clicking the "Invoke" button.
    But, my requirement is to pass all the selected values ( as its a multi select table) to the bpel process after clicking the "Invoke" button once.
    How can I achieve this?
    --Abhijit                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    Hi,
    if the BPEL method that you access allows you to pass arrays or lists, then you can get a list of selectedRowKeys from the table, which then you use to get the value from the underlying binding or the table. This however requires some Java coding instead of directly invoking the executable on the binding layer
    - you create the BPEL method in the binding layer
    - from a Java managed bean you call ADFBindingContext --> get current instance and access Binding container
    - OperationBinding oper = (OperationBinding ) bindings.get("method to invoke");
    oper.gerParamsMap().put("the BPel argument name", value);
    oper.execute();
    - To access the table selected rows
    RowKeySet rks = _table.getSelectedRowKeys();
      //iterate over the set of selected row keys and delete
      //each of the found rows
      Iterator selectedRowIterator = rks.iterator();
      while (selectedRowIterator.hasNext()){
        //get the first key
        Object key = selectedRowIterator.next();
        //make the row current
        _table.setRowKey(key);
        //the row is an instance of the ADF node binding class
        JUCtrlHierNodeBinding rowWrapper = null;
        rowWrapper = (JUCtrlHierNodeBinding) _table.getRowData();
        //get the actual oracle.jbo.Row object
        Row row = rowWrapper.getRow();
        ... get attribute values by calling row.getAttribute("name"); assuming you used ADF BC to build the tableFrank

  • How to invoke TaskService updateTask from within BPEL Process

    Hi
    I have to call the updateTask method defined within TaskService to update the BPEL payload. I initiate the Task in the same BPEL process but I want to update the payload somewhere down in the same BPEL process. Can someone assist me in finding out how I should do that without writing Java code? I want to know which task values I need to set before using the invoke activity and assigning the updateTask method to it.
    Regards,
    Jayesh
    MCSE, MCSD, SCJP, PMP

    I saw a bug reported for this issue
    here is the metalink
    https://metalink.oracle.com/metalink/plsql/f?p=130:15:4302376104022705627::::p15_database_id,p15_docid,p15_show_header,p15_show_help,p15_black_frame,p15_font:BUG,5751185,1,1,1,helvetica
    Bug No. 5751185
    I have attached the text in metalink for those who do not have access to the metalink
    Bookmark Fixed font Go to End Monitor Bug
    Bug No. 5751185
    Filed 08-JAN-2007 Updated 23-JAN-2007
    Product Oracle(R) BPEL Process Manager Product Version 10.1.3.1
    Platform Microsoft Windows XP Platform Version No Data
    Database Version N/A Affects Platforms Generic
    Severity Severe Loss of Service Status Code Bug (Response/Resolution)
    Base Bug N/A Fixed in Product Version No Data
    Problem statement:
    (LOCAL) USERTASK FAILING WITH JAVAX.NAMING.NAMENOTFOUNDEXCEPTION TASKSERVICEBEAN
    *** 01/08/07 03:24 pm *** When creating a usertask in BPEL 10.1.3.1 - I get 2 possible bindings - one SOAP based and the other one java based. When running locally the JAVA Binding is called - and fails with . < 2007-01-08 12:09:44,061> < ERROR> < oracle.bpel.services.workflow> < ::> java:comp/env/ejb/local/TaskServiceBean not found in ActivityManagerBean javax.naming.NameNotFoundException: java:comp/env/ejb/local/TaskServiceBean not found in ActivityManagerBean at com.evermind.server.ApplicationContext.lookupInJavaContext(ApplicationContext. java:306) at com.evermind.server.ApplicationContext.unprivileged_lookup(ApplicationContext. java:230) at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:195) at javax.naming.InitialContext.lookup(InitialContext.java:351) at oracle.bpel.services.workflow.task.client.TaskServiceLocalClient.initiateTask( TaskServiceLocalClient.java:48) at oracle.bpel.services.workflow.task.impl.TaskServiceWSIF.initiateTask(TaskServi ceWSIF.java:99) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at *** 01/08/07 03:27 pm *** After looking into the EJB refs of ActivityManagerBean .. exactly this one is missing .. . < session-deployment name="ActivityManagerBean" min-instances="50" location="ejb/collaxa/system/ActivityManagerBean" local-location="ejb_ob_engine_ActivityManagerBeanLocal" persistence-filename="ejb/collaxa/system/ActivityManagerBean.home_default_grou p_1"> < ejb-ref-mapping name="ejb/local/DispatcherLocalBean" /> < ejb-ref-mapping name="ejb/local/ProcessManagerLocalBean" /> < ejb-ref-mapping name="ejb/local/CubeDeliveryLocalBean" /> < ejb-ref-mapping name="ejb/local/MessageLocalBean" /> < ejb-ref-mapping name="ejb/local/ServerLocalBean" /> < resource-ref-mapping name="jms/collaxa/BPELInvokerQueueFactory" location="BPELjms/BPELInvokerQueueFactory" /> < resource-env-ref-mapping name="jms/collaxa/BPELInvokerQueue" location="BPELjms/BPELInvokerQueue" /> < /session-deployment> . and here are the missing entries .. . < ejb-local-ref id="EjbRef_ActivityManager_TaskServiceBean"> < ejb-ref-name>ejb/local/TaskServiceBean< /ejb-ref-name> < ejb-ref-type>Session< /ejb-ref-type> < local-home>oracle.bpel.services.workflow.task.ejb.TaskServiceLocalHome< /local -home> < local>oracle.bpel.services.workflow.task.ejb.TaskServiceLocal< /local> < ejb-link>TaskServiceBean< /ejb-link> < /ejb-local-ref> *** 01/08/07 03:27 pm *** (CHG: FixBy-&gt;10.1.3.3) *** 01/08/07 03:34 pm *** also in the orion-ejb-jar.xml < ejb-ref-mapping name="ejb/local/TaskServiceBean" /> . is missing *** 01/08/07 03:51 pm *** *** 01/18/07 09:22 am *** (CHG: Sta-&gt;16) *** 01/18/07 09:22 am *** *** 01/18/07 10:38 am *** (CHG: Confirmed Flag-&gt;Y) *** 01/18/07 10:38 am *** (CHG: Sta-&gt;11 Asg-&gt;NEW OWNER) *** 01/18/07 10:38 am *** *** 01/18/07 10:39 am *** (CHG: Asg-&gt;NEW OWNER) *** 01/23/07 01:09 pm *** (CHG: FixBy-&gt;10.1.3.4) *** 01/23/07 01:09 pm ***
    .

  • Getting Error While deploying the BPEL process

    Hi All,
    I am getting the following error while deploying the BPELProcess. The BPEL process is simple one which is having a Recieve from client and another Recieve from FTPAdapterfor Recieve Operation.
    Help me in resolving this. Thankyou.
    Process "BPELProcess3" (revision "v2009_02_02__34994") successfully compiled.
    <2009-02-02 09:51:06,356> <INFO> <default.collaxa.cube.engine.deployment> Process "BPELProcess3" (revision "v2009_02_02__34994") successfully loaded.
    <2009-02-02 09:51:18,088> <ERROR> <default.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "cube delivery": Correlation definition not registered.
    The correlation set definition for operation "Get", process "BPELProcess3", has not been registered with the process domain.
    Please try to redeploy your process to the process domain.
    ORABPEL-03802
    Correlation definition not registered.
    The correlation set definition for operation "Get", process "BPELProcess3", has not been registered with the process domain.
    Please try to redeploy your process to the process domain.
    at com.collaxa.cube.engine.delivery.CorrelationRegistry.resolve(CorrelationRegistry.java:91)
    at com.collaxa.cube.engine.delivery.DeliveryHelper.createCorrelationSet(DeliveryHelper.java:94)
    at com.collaxa.cube.engine.delivery.SOAPProtocolHandler.calculateCorrelations(SOAPProtocolHandler.java:751)
    at com.collaxa.cube.engine.delivery.SOAPProtocolHandler.receiveCallback(SOAPProtocolHandler.java:167)
    at com.collaxa.cube.engine.delivery.DeliveryService.receiveCallback(DeliveryService.java:446)
    at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.receiveCallback(CubeDeliveryBean.java:99)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    at com.evermind.server.ThreadState.runAs(ThreadState.java:620)
    at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    at CubeDeliveryBean_LocalProxy_4bin6i8.receiveCallback(Unknown Source)
    at com.collaxa.cube.engine.delivery.DeliveryHandler.continuePostAnyType(DeliveryHandler.java:416)
    at com.collaxa.cube.engine.delivery.DeliveryHandler.continuePost(DeliveryHandler.java:370)
    at com.collaxa.cube.engine.delivery.DeliveryHandler.post(DeliveryHandler.java:88)
    at com.collaxa.cube.ejb.impl.DeliveryBean.post(DeliveryBean.java:201)
    at com.collaxa.cube.ejb.impl.DeliveryBean.post(DeliveryBean.java:156)
    at sun.reflect.GeneratedMethodAccessor214.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    at com.evermind.server.ThreadState.runAs(ThreadState.java:620)
    at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    at DeliveryBean_RemoteProxy_4bin6i8.post(Unknown Source)
    at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:195)
    at oracle.tip.adapter.fw.AdapterFrameworkListenerBase$DeliveryServiceMonitor.send(AdapterFrameworkListenerBase.java:2543)
    at oracle.tip.adapter.fw.AdapterFrameworkListenerBase.executeDeliveryServiceSend(AdapterFrameworkListenerBase.java:569)
    at oracle.tip.adapter.fw.AdapterFrameworkListenerBase.deliveryServiceSend(AdapterFrameworkListenerBase.java:625)
    at oracle.tip.adapter.fw.jca.AdapterFrameworkListenerImpl.performSingleActivation(AdapterFrameworkListenerImpl.java:952)
    at oracle.tip.adapter.fw.jca.AdapterFrameworkListenerImpl.onMessage(AdapterFrameworkListenerImpl.java:799)
    at oracle.tip.adapter.fw.jca.messageinflow.MessageEndpointImpl.onMessage(MessageEndpointImpl.java:281)
    at oracle.tip.adapter.file.inbound.ProcessWork.publishMessage(ProcessWork.java:826)
    at oracle.tip.adapter.file.inbound.ProcessWork.processMessages(ProcessWork.java:228)
    at oracle.tip.adapter.file.inbound.ProcessWork.run(ProcessWork.java:179)
    at oracle.tip.adapter.fw.jca.work.WorkerJob.go(WorkerJob.java:51)
    at oracle.tip.adapter.fw.common.ThreadPool.run(ThreadPool.java:272)
    at java.lang.Thread.run(Thread.java:595)

    Yes you are right. I do have two recieves and I think I need to set the Correlation set is it so ?
    here is the code from my bpel file
    <!-- Receive input from requestor. (Note: This maps to operation defined in BPELProcess3.wsdl) -->
    <receive name="receiveInput" partnerLink="client"
    portType="client:BPELProcess3" operation="initiate"
    variable="inputVariable" createInstance="yes">
    </receive>
    <!--
    Asynchronous callback to the requester. (Note: the callback location and correlation id is transparently handled using WS-addressing.)
    -->
    <receive name="Poll_For_Zip_File" partnerLink="FileBinaryRead"
    portType="ns1:Get_ptt" operation="Get"
    variable="Poll_For_Zip_File_Get_InputVariable"
    createInstance="no" bpelx:headerVariable="MyInBoundHeader">
    </receive>
    Please let me know how can I add the correlation If I had to add in my bepl process.

Maybe you are looking for