Getting process instance id from within java control

Hi,
here's a brief description of what i need to do. I have a group of processes which i start using one common interface (jpd control). the problem is, that when new process is created it needs to be added to a db table. So to have this done automatically i created a java control with a variable of jpd control. information that needs to be put in db is the process instance id.
does anyone have any idea why after calling clientRequest (without return) method getConversationID() of the process control gives null as a result? i'm sure that the process was successfully started and completed.
i don't know if this can have an influence on this, but this happens only if process is started from another process which was started in the same way from yet another process. to make it more clear...
baseProcess -> (startSubprocess -> startsubSubprocess)
both subprocesses are started in the same way from java control, but in the subprocess of the subprocess one getConversationID() returns null.

i found the solution, which is that process controls should be generated from statefull process. when the process was stateless calling getConversationID() method from process control returned null.

Similar Messages

  • How to get parent process instance id in a java control?

    Hi!
    I have a process which invoke a java control.
    In this java control I need the instance ID from the parent process.
    Does anybody know where i can get the instance id?
    Within a jpd I have the context variable (context.getInstanceId()), but I need something like this in the control
    Thanks
    Ben

    the only way you can do is aquire the instanceid in the JDP itself and pass it to the java control as a paramter.

  • How to get the Weblogic Server Id from within java code

    I would like to log which server (among a cluster) a certain job is running on. Is there a way to get the server id from within Java code (this code is in a session bean if that is relevant.)
    By server id I mean the "Name" column in the summary of servers on the weblogic console.
    Thanks,
    ken

    Use the two entries close to the bottom of the page: "list WebLogic
    MBeans:listMBeans.jsp
    display MBean attributes and operations:showMBean.jsp"
    Nils
    Anatoly wrote:
    >
    Cameron,
    That page has these items on it:
    which one do you think helps with my issue?
    Misc WebLogic examples
    LongRunningTask
    Execute tasks in parallel using WebLogic Execute Threads
    Weblogic stats (5.1)
    Reload Servlet(s) programmatically (5.1)
    Network classload from WebLogic:using reflection,or the launcher
    Weblogic 5.1 debugging properties
    Seppuku pattern readme
    Using dynamic proxies to intercept EJB invocations (6.1)
    list WebLogic MBeans:listMBeans.jsp
    display MBean attributes and operations:showMBean
    Thanks to Marcelo Caldas for filter by type option and nice UI!
    Using com.sun.jdmk.comm.HtmlAdaptorServer with WebLogic 6.1
    Cool
    EJBGen
    Dimitri
    back
    "Cameron Purdy" <[email protected]> wrote in message news:<3c7a745d$[email protected]>...
    JMX ... see http://dima.dhs.org/misc/ for some info on JMX in Weblogic.
    Peace,
    Cameron Purdy
    Tangosol, Inc.
    Clustering Weblogic? You're either using Coherence, or you should be!
    Download a Tangosol Coherence eval today at http://www.tangosol.com/
    "Anatoly" <[email protected]> wrote in message
    news:[email protected]..
    Does anyone know who to get the managing server URL's port
    from within the EJB code running on Weblogic 6.1?
    The URL port is not default (not 7001), but when creating
    initial context, I am not specifying the URL in properties.
    Due to that, trying to the the PROVIDER_URL property from
    environment does not return anything.
    Appreciate any responses.
    -Anatoly
    ============================
    [email protected]

  • How to get child process instance id from main process

    Hi All,
    I have a main process invoiking a child process 1 and child process 1 inturn calling child process 2.Is there any way to get the child process 2 instance id from main process or main process instance id from child process 2.. Using tree finder in BPEL Control i can find the direct sub process(child 1) instance id from the main process instance. Is it possible to trace Sub process 2 instance id without going for the instance detail of sub process 1.
    Thanks in advance
    ChitraDevi

    you could easily derive this from the bpel cube_instance table. using cikey and parent_id columns. you can use IInstanceMetaData javadoc, it has method called getParentId( ) to get the id. you can get the root id (instance-id of the main bpel process instance) using getRootId( ). you can checkout this blog.
    http://tech-sash.blogspot.com/2008/04/oracle-soa-suite-retrieving-process.html

  • How to get process instance id

    Hi,
    We are invoking a long lived process from a client using Java API (EJB end point).
    We are getting the JobId in return. Is there a way to get the process instance Id through API.
    Searched a lot in the documentation. Finally inclining to query the table directlyTB_PROCESS_INSTANCE  on LONG_LIVED_INVOCATION_ID.
    Appreciate a lot if any expert point us to an API way of doing the same

    We have tried to use the following approach to get process instance id right after invoking a process.
    - Define an OUT process variable to contain process id
    - A set value step right after invocation sets this out variable with process id variable value which is available by default
    - InvocationResponse.getOutputParameters() to read the output variable
    The problem is in the map returned by getOutputParameters() is not having our output variable , but just the JobId.
    Anyone tried this before? Are we missing sometiing?
    Any expert help is highly appreciated..

  • Trying to use grep from within java,using exec command!

    Hi all!
    I would like to run a grep function on some status file, and get a particular line from it, and then pipe this line to another file.
    Then perfom a grep on the new file to check how many of the lines above are present in that file, and then write this value to a new file.
    The final file with a numerical value in it, i will read from within java,as one reads normal files!
    I can run simple commands using exec, but am kinda stuck with regards to the above!
    Maybe i should just do all the above from a script file and then run the script file from exec. However, i dont want to do that, because it kinda makes the system dependent,..what if i move to a new machine, and forget to install the script, then my program wont work!
    Any advise?
    Thanks
    Regards

    With a little creativity, you can actually do all that from the command line with a single command. It'll look a little crazy, but it can be done.
    Whether the script exists on the local machine or not has zero to do with platform indpendence. You assumedly have to get the application onto the local machine, so including the script is not really an issue at all. However, you're talking about system independence, yet still wishing to run command line arguments? The two are mutually exclusive.

  • Running ssh from within java program

    Hi!
    I am trying to start ssh from within java e.g.:
    Runtime run = Runtime.getRuntime();
    Process pro = run.exec("ssh -l xx 12.12.12.12");
    But it complains:
    socket: Operation not permitted
    ssh: connect to host 12.12.12.12 port 22: Operation not permitted
    Running ssh from the command prompt works just fine. It's run on win xp.
    What is the problem, and how can I avoid it?
    Endre

    Afraid not. I think maybe it's related to security permissions, but I am really not sure. If you can help, I would appreciate it.
    - Endre

  • Re-use message mapping from within java mapping?

    Hi there,                                                                               
    I have a question regarding java mapping. What I would like to do is to re-use an existing message mapping from within java mapping.
    Technicaly, message mapping is perfomed by com.sap.aii.mappingtool.tf3.AMappingProgram.execute, right? I would like to call that mapping program for a specifc message mapping from within my java mapping.
    Pseudo java code would look like this:
    public void execute(InputStream in, OutputStream out)
      throws StreamTransformationException {
    com.sap.aii.mappingtool.tf3.AMappingProgram.execute(in,out,'SomeMessageMapping');
    SomeMessageMapping is a message mapping that is defined in the integration repository.
    Is it possible? If so, could you provide me with some details?
    Thank you and best regards,
    Wolfgang

    Hi Wolfgang,
    very interesting idea?
    I would activa a dummy message mapping. than I would have a look in the file directory of the java-stack and try to find out the name of the *.class or *.jar file.
    On the other hand you could generate a tpz-transport-file an unpack this file, to explore the name of the *.class or *.jar
    Unfortunately I do not have access to the file system. So I can't explore the name.
    Regards Mario

  • Executing vbscript from within java

    Hi,
    Does anyone knows a way to execute a vbscript from within java and capture its output.
    thanks

    Do you mean emulate an interpreter?

  • Executing a perl script from within java application

    Hi,
    Does anyone knows a way to execute a perl script from within java.
    ---kirk

    Runtime.exec("perl myscript.pl");
    Of course whether that "works" depends on what the script does and where the java program runs.

  • How to get the client's IP address from within Java Studio Creator JSP/Java

    Hi there.
    I just started using the Java Studio Creator 2 and now I need to get hold of the client IP address - this should be part of the request, but I cannot fint the right way to get hold of that information. I want to be able to access this information from within the Java-code in a JSP/JSPF-page.
    Is there a new way of doing:
    request.getRemoteAddr();
    This is the way I remember it from the JSP/Servlet-days...
    Sincerely,
    - Oystein Saebo -

    javax.servlet.http.HttpServletRequest req = (javax.servlet.http.HttpServletRequest) getExternalContext().getRequest();
    req.getRemoteAddr();

  • Getting Process Instance Information and Task Properties in a process

    Iam using WebLogic8.1 Integration BPM feature. I've designed a Worklist based application.
    In the business process, i've to call a java class method from the business process
    which takes the process instance and task related properties (viz. the task id,
    task name, the current actor etc.). How could i supply these values from within
    a business process.
    Regards
    Raja V.

    You can get the task infromation by calling the task control method TeskInfo getTaskInfo()
    "raja v" <[email protected]> wrote:
    >
    Iam using WebLogic8.1 Integration BPM feature. I've designed a Worklist
    based application.
    In the business process, i've to call a java class method from the business
    process
    which takes the process instance and task related properties (viz. the
    task id,
    task name, the current actor etc.). How could i supply these values from
    within
    a business process.
    Regards
    Raja V.

  • Getting Process instance with key '0' does not exist.

    I am doing a request based provisioning task.When I request for a resource the approvers are able to approve the request but the user is not created.
    I am getting the below exception at the backend:-
    [XELLERATE.APIS],Class/Method: tcProvisioningOperationsBean/getProcessDetailData encounter some problems: Process instance with key '0' does not exist.
    [11/2/12 0:30:13:640 EDT] 00000097 SystemOut O ERROR,02 Nov 2012 00:30:13,639,[XELLERATE.WEBAPP],Class/Method: RequestApprovalDetailAction/requestDetail encounter some problems: Process instance with key '0' does not exist.
    Thor.API.Exceptions.tcAPIException: Process instance with key '0' does not exist.
         at com.thortech.xl.ejb.beansimpl.tcProvisioningOperationsBean.getProcessDetailData(Unknown Source)
         at com.thortech.xl.ejb.beansimpl.tcProvisioningOperationsBean.getProcessDetail(Unknown Source)
         at com.thortech.xl.ejb.beans.tcProvisioningOperationsSession.getProcessDetail(Unknown Source)
         at com.thortech.xl.ejb.interfaces.EJSRemoteStatelesstcProvisioningOperations_6b2f800a.getProcessDetail(Unknown Source)
         at com.thortech.xl.ejb.interfaces._tcProvisioningOperations_Stub.getProcessDetail(Unknown Source)
         at Thor.API.Operations.tcProvisioningOperationsClient.getProcessDetail(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor309.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at Thor.API.Base.SecurityInvocationHandler$1.run(Unknown Source)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAs(Subject.java:337)
         at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:118)
         at Thor.API.Security.LoginHandler.websphereLoginSession.runAs(Unknown Source)
         at Thor.API.Base.SecurityInvocationHandler.invoke(Unknown Source)
         at $Proxy6.getProcessDetail(Unknown Source)
         at com.thortech.xl.webclient.actions.RequestApprovalDetailAction.setStandardApprovalDetail(Unknown Source)
         at com.thortech.xl.webclient.actions.RequestApprovalDetailAction.requestDetail(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor665.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
         at com.thortech.xl.webclient.actions.tcLookupDispatchAction.execute(Unknown Source)
         at com.thortech.xl.webclient.actions.tcActionBase.execute(Unknown Source)
         at com.thortech.xl.webclient.actions.tcAction.execute(Unknown Source)
         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1096)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1037)
         at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
         at com.thortech.xl.webclient.security.CSRFFilter.doFilter(Unknown Source)
         at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
         at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
         at com.thortech.xl.webclient.security.SecurityFilter.doFilter(Unknown Source)
         at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
         at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
         at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
         at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:832)
         at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:679)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:566)
         at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
         at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
         at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:748)
         at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1466)
         at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:119)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
         at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
         at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1818)
         at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
         at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
         at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
         at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
         at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)
         at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743)
         at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873)

    Process instance with key '0' does not exist
    Such issue typically appears when the Provisioning is initiated without "Auto Save" i.e. before ORC_KEY entry goes in the OIU table...
    Second possibility can be that the mandatory attributes in the process form are not populated..
    Third possibility can be that the Status is Waiting... And Resource is dependent on another Resource...
    Are you able to Direct Provision the account? I mean without raising Request Based provisioning?
    Please give us following details:
    (1) Resource Profile:-status of Auto Save
    (2) Approval Process:- status of Auto Save and Auto Pre-Pop
    (3) Prov Process:-status of Auto Save and Auto Pre-Pop.
    (4) Is the object form properly populated?
    (5) Is the Process form properly populated?
    (6) Any Exception occurred during Approval process?
    (6) In the OIM Database, fire the following query:-
    SELECT OIU.ORC_KEY
    FROM OIU, USR, OBI
    WHERE OIU.USR_KEY=USR.USR_KEY
    AND UPPER(USR.USR_LOGIN)=UPPER('ABCDEFGH_USER')
    AND OBI.OBI_KEY=OIU.OBI_KEY
    AND OBI.OBI_KEY IN (SELECT OBI.OBI_KEY FROM OBI,OBJ WHERE OBI.OBJ_KEY=OBJ.OBJ_KEY AND
    UPPER(OBJ.OBJ_NAME)=UPPER('AD USER'))
    This will show whether any proper ORC_KEY was generated for this resource instance..

  • Get selected row values from Table view control

    Hi ,
    I am using transaction ME23N, would like to access row values from item table for selected row. I have written a script as in screen shot and its giving me error at java script step two. I want to get the PR number from item table for selected row.
    With Regards
    Vishal Lokapur

    H Vishal,
    Can you please share how you were able to resolve the issue regarding the selected row
    in case of a table control .
    Regards

  • How to get an XML string from a Java Bean without wrting to a file first ?

    I know we can save a Java Bean to an XML file with XMLEncoder and then read it back with XMLDecoder.
    But how can I get an XML string of a Java Bean without writing to a file first ?
    For instance :
    My_Class A_Class = new My_Class("a",1,2,"Z", ...);
    String XML_String_Of_The_Class = an XML representation of A_Class ?
    Of course I can save it to a file with XMLEncoder, and read it in using XMLDecoder, then delete the file, I wonder if it is possible to skip all that and get the XML string directly ?
    Frank

    I think so too, but I am trying to send the object to a servlet as shown below, since I don't know how to send an object to a servlet, I can only turn it into a string and reconstruct it back to an object on the server side after receiving it :
    import java.io.*;
    import java.net.*;
    import java.util.*;
    class Servlet_Message        // Send a message to an HTTP servlet. The protocol is a GET or POST request with a URLEncoded string holding the arguments sent as name=value pairs.
      public static int GET=0;
      public static int POST=1;
      private URL servlet;
      // the URL of the servlet to send messages to
      public Servlet_Message(URL servlet) { this.servlet=servlet; }
      public String sendMessage(Properties args) throws IOException { return sendMessage(args,POST); }
      // Send the request. Return the input stream with the response if the request succeeds.
      // @param args the arguments to send to the servlet
      // @param method GET or POST
      // @exception IOException if error sending request
      // @return the response from the servlet to this message
      public String sendMessage(Properties args,int method) throws IOException
        String Input_Line;
        StringBuffer Result_Buf=new StringBuffer();
        // Set this up any way you want -- POST can be used for all calls, but request headers
        // cannot be set in JDK 1.0.2 so the query string still must be used to pass arguments.
        if (method==GET)
          URL url=new URL(servlet.toExternalForm()+"?"+toEncodedString(args));
          BufferedReader in=new BufferedReader(new InputStreamReader(url.openStream()));
          while ((Input_Line=in.readLine()) != null) Result_Buf.append(Input_Line+"\n");
        else     
          URLConnection conn=servlet.openConnection();
          conn.setDoInput(true);
          conn.setDoOutput(true);           
          conn.setUseCaches(false);
          // Work around a Netscape bug
          conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
          // POST the request data (html form encoded)
          DataOutputStream out=new DataOutputStream(conn.getOutputStream());
          if (args!=null && args.size()>0)
            out.writeBytes(toEncodedString(args));
    //        System.out.println("ServletMessage args: "+args);
    //        System.out.println("ServletMessage toEncString args: "+toEncodedString(args));     
          BufferedReader in=new BufferedReader(new InputStreamReader(conn.getInputStream()));
          while ((Input_Line=in.readLine()) != null) Result_Buf.append(Input_Line+"\n");
          out.flush();
          out.close(); // ESSENTIAL for this to work!          
        return Result_Buf.toString();               // Read the POST response data   
      // Encode the arguments in the property set as a URL-encoded string. Multiple name=value pairs are separated by ampersands.
      // @return the URLEncoded string with name=value pairs
      public String toEncodedString(Properties args)
        StringBuffer sb=new StringBuffer();
        if (args!=null)
          String sep="";
          Enumeration names=args.propertyNames();
          while (names.hasMoreElements())
            String name=(String)names.nextElement();
            try { sb.append(sep+URLEncoder.encode(name,"UTF-8")+"="+URLEncoder.encode(args.getProperty(name),"UTF-8")); }
    //        try { sb.append(sep+URLEncoder.encode(name,"UTF-16")+"="+URLEncoder.encode(args.getProperty(name),"UTF-16")); }
            catch (UnsupportedEncodingException e) { System.out.println(e); }
            sep="&";
        return sb.toString();
    }As shown above the servlet need to encode a string.
    Now my question becomes :
    <1> Is it possible to send an object to a servlet, if so how ? And at the receiving end how to get it back to an object ?
    <2> If it can't be done, how can I be sure to encode the string in the right format to send it over to the servlet ?
    Frank

Maybe you are looking for

  • How to get the text in a label which is imbeded in a JTextPane

    I have created a JTextPane that has 5 JLabels inserted in the text. I have attempted to get the text with the following code snippet. Component[] lbl = new Componennt[DisplayLetterPane.getComponentCount()]; //         JTextPane DisplayLetterPane; is

  • FAST Entry- A/P

    Hi Gurus Pls let me know whether we can post different vendor invoices and payments at a time, but document numbers should be different for every entry. eg:-  Rent payment Vendor a/c DR. [many vendors are there- need to post as if one    document but

  • Batch replacing document responsible or approver when employee quits

    We have lots of documents where we manually assign approvers or document owners (for example in a contract library). I need a solution to be able to change these associations whenever someone quits. The solution should be used by library administrato

  • Problem in search field

    hi i am working on module pool program. in the screen i have one field called name. if user enter any value in the name field(A to Z),and press the search button,it should featch the all the data in to itab.how to search this,is there any select quer

  • HT2822 Setting up date and time is taking forever and failed to do it automatically or manually.

    Hello: When I tried to configure my new Apple TV for some reason it kept trying to set the date and time automatically but wasn't able to. I tried to do it manually but couldn't do it either. When I tried to skip this part and log into my iTunes acco