Spawn a Process from a Thread

Is it possible to invoke a new process from a thread?
I have this structure:
MyProgram {
    someWhere() {
       MyThread myThread = new MyThread();
       myThread.start();
MyThread {
        private String cmd = null;
        public void run {
              Process p = Runtime.getRuntime().exec(cmd);
               // Doesnt seem to come here at all :(
}Now, the thread gets created and also it runs till the point it just gets to
Process p = Runtime.getRuntime().exec(cmd);it doesn't seem to execute that part of the code, and what I suspect it does is return back from the run function immediately on or before this statement is executed, back to where I started this thread at:
myThread.start();Any idea why this is happening? Or if already discussed, can any one point me out to a particulat discussion thread?
Thanks,
Rajiv

hi Toxig...
I do not see any issue in spawing the process from the thread. I am attaching the sample program for you.
Let us know which is the command which u are executing.
* @author Naveen Kumar
public class ThreadTester implements Runnable{
     * @param args
     public static void main(String[] args) {
          try{
          // TODO Auto-generated method stub
          ThreadTester tt = new ThreadTester();
          Thread t = new Thread(tt);
          System.out.println("Before start");
          t.start();
          //Thread.sleep(5000);
          System.out.println("After start");
          } catch (Exception excep){
               excep.printStackTrace();
     public void run(){
          try{
          //Semaphore sm = new Semaphore(1);
          Runtime r = Runtime.getRuntime();
          Process p = r.exec("explorer");
          InputStream ip = p.getInputStream();          
          catch(Exception excep){
               excep.printStackTrace();
// This executes and opens explorer properly.

Similar Messages

  • Killing an exec'ed process from another thread

    Hi all,
    I written an application that executes some external OS - processes. There is a dispatcher thread, that starts the execution threads for some jobs. Every execution thread creates a Processes by calling runtime.exec(), adds this object to a TreeMap ( member of the dispatcher ), creates two threads for reading the output of the process ( sdtout & stderr ) and calls p.waitFor(). From this moment this thread is blocked. After the process is done, the results will be processed by this thread etc. Now I want to go ahead and let the application user kill the process. For them I let the dispatcher - thread, that has also a reference to the executed process to call destroy of it if necessary during the execution thread is blocked by waitFor() and two output threads are reading stdout & stderr. The problem is however that destroy() - call from another thread doesn't kill the subprocess. The subprocess is running until it's done or terminated from out of jvm. Have you an idea or example?
    Thanks a lot & regards
    Alex

    >
    I know you have been discussing your problem is that
    you can't kill a "sleep" process. But just to be
    sure, I tested your description by one thread exec-ing
    a "not-sleep" program, and then another thread had no
    trouble killing it.
    I took your code and wrote a program around it such
    that
    Thread1 :
    - creates a Job (but not a "sleep" job); creates a
    JobMap ; puts Job in JobMap
    - starts Thread2 (passing it JobMap)
    - sleeps 15 seconds
    - calls Job.kill() (your method)
    Thread2 :
    - gets Job from JobMap
    - calls Job.execute() (your method)
    It's quick and dirty and sloppy, but it works. The
    result is when the kill takes place, the execute
    method (Thread2) wakes from its waitFor, and gets
    exitValue() = 1 for the Process.
    so,
    In order to kill the sleep process, which (according
    to BIJ) is not the Process that you have from exec
    call, maybe the only way to kill it is to get its PID
    an exec a "kill -9" on it, same as you said you had to
    do from the commandline. I don't know if you can get
    the PID, maybe you can get the exec-ed process to spit
    it onto stdout or stderr?
    (I am on win, not *nix, right now, so I am just
    throwing out a suggestion before bowing out of this
    discussion.)
    /MelHi Mel,
    yes, it should work right on windows because you created probably the shell by cmd /c or something like this. If you kill the cmd - process, everithing executed by the interpretter will be killed too. My application is running on Windows and unix. On unix I have to execute the process from a shell ( in my case it is the born shell ). The problem is however, that the born shell has another behaviour as cmd and doesn't die. Do you have an idea how to get the pid of the process started by sh without command line? To kill the processes from the command line is exactly what my customers do now. But they want to get "a better service" ...:-)
    Regards
    Alex

  • Error Occured while Invoking a BPEL Process from JAVA

    Hi.....
    When initiating a BPEL process from JAVA the code is working fine and the Process is getting initiated.But while using that code in J2EE project as a java code and while calling that method Error is occuring.....
    Here by i am attaching my JAVA Code which runs as an applicateion and package which runs in Server....
    JSP and Java Method Used:
    JSP Code:
    ===============
    <%@ page import=" bo.callbpel" %>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>FEATT - I30</title>
    </head>
    <body>
    <%
    String input=request.getParameter("dnvalue");
    callbpel p=new callbpel();
    String Output=p.Initiate(input);
    out.print("The Input Given to the BPEL Process is : "+input);
    %>
    <BR><BR><BR><BR><BR><BR>
    <%
    out.print("The Reply from BPEL Process is : "+Output);
    %>
    </body>
    </html>
    Java Code:
    package bo;
    import com.oracle.bpel.client.Locator;
    import com.oracle.bpel.client.NormalizedMessage;
    import com.oracle.bpel.client.delivery.IDeliveryService;
    import java.util.Map;
    import java.util.Properties;
    import oracle.xml.parser.v2.XMLElement;
    /*import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest ;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession; */
    //import java.util.*;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    public class callbpel {
         public String Initiate(String value){
              String replyText=null;
              String input = value;
              System.out.println(input);
              String xmlInput= "<ns1:AccessDBBPELProcessRequest xmlns:ns1=\"http://xmlns.oracle.com/AccessDBBPEL\"><ns1:input>"+input+"</ns1:input></ns1:AccessDBBPELProcessRequest>";
              String xml="<ns1:BPELProcess1ProcessRequest xmlns:ns1=\"http://xmlns.oracle.com/BPELProcess1\">";
              xml=xml+"<ns1:input>"+input+"</ns1:input>";
              xml=xml+"</ns1:BPELProcess1ProcessRequest>";
              try{
              Properties props=new Properties();
              props.setProperty("orabpel.platform","ias_10g");
              props.setProperty("java.naming.factory.initial","com.evermind.server.rmi.RMIInitialContextFactory");
              props.setProperty("java.naming.provider.url","opmn:ormi://157.227.132.226:6003:home/orabpel");
              props.setProperty("java.naming.security.principal","oc4jadmin");
              props.setProperty("java.naming.security.credentials","oc4jadmin");
              props.setProperty("dedicated.rmicontext", "true");
              Locator locator = new Locator("default", "bpel", props);
              String uniqueBpelId = com.collaxa.cube.util.GUIDGenerator.generateGUID();
              //System.out.println(uniqueBpelId);
              //java.util.Map msgProps = new HashMap();
              System.out.println("After creating the locator object......");
              IDeliveryService deliveryService =(IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME);
              System.out.println("Before creating the NormalizedMessage object......");
              NormalizedMessage nm = new NormalizedMessage();
              System.out.println("After creating the NormalizedMessage object.*.*.*...");
              //msgProps.put("conversationId",uniqueBpelId);
              //nm.setProperty("conversationId",uniqueBpelId);
              nm.addPart("payload", xml);
              System.out.println("Before creating response object......");
              NormalizedMessage res = deliveryService.request("BPELProcess1", "process", nm);
              System.out.println("After calling the BPELProcess1 .*.*.*...");
              Map payload = res.getPayload();
              System.out.println("BPEL called");
              XMLElement xmlEl=(oracle.xml.parser.v2.XMLElement)payload.get("payload");
              replyText=xmlEl.getText();
              System.out.println("Reply from BPEL Process>>>>>>>>>>>>> "+replyText);
              catch (Exception e) {
              System.out.println("Exception : "+e);
              e.printStackTrace();
              return replyText;
    While Creating and Object for the Class callbpel and Whilw Calling that Method
    callbpel p=new callbpel();
    String Output=p.Initiate(input);
    Its throwing an Error:
    Error Occured is:
    After creating the locator object......
    Before creating the NormalizedMessage object......
    After creating the NormalizedMessage object.*.*.*...
    Before creating response object......
    Apr 24, 2008 9:12:00 AM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet jsp threw exception
    java.lang.NoClassDefFoundError: javax/ejb/EJBException
         at com.oracle.bpel.client.util.ExceptionUtils.handleServerException(ExceptionUtils.java:76)
         at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean(DeliveryService.java:254)
         at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:83)
         at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:53)
         at bo.callbpel.Initiate(callbpel.java:55)
         at org.apache.jsp.output_jsp._jspService(output_jsp.java:55)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
         at java.lang.Thread.run(Unknown Source)
    For Running JSP i am Using Eclipse 3.2.0 and apache-tomcat-5.5.25
    Please Provide me a Solution......
    Thanks in Advance.....
    Regards,
    Suresh K

    Have got the same problem. Scenario at my end is little different though.
    I am trying to invoke a BPEL process from an ESB Service.
    I am trying to look into it..
    However, would be grateful, if someone can give some insight into this since many are running into this issue without being able to fix.
    Ashish.

  • How can I pass an exception from one thread to another thread

    If I create a new class, that will extends the class Thread, the methode run() can not be use with the statement Throws Exeption .
    The question now: Is there any possibility to pass an exception from one thread to another thread?
    Thx.

    It really depends on what you want to do with your exception. Is there some sort of global handler that will process the exceptions in some meaningful way? Unless you have that, there's not much point in throwing an exception in a thread, unless you simply want the stack trace generated.
    Presuming that you have a global handler that can catch exceptions, nest your Exception subclass inside a RuntimeException:
    public class NestedRuntimeException extends RuntimeException
        private final m_nestedException;
        public NestedRuntimeException(final Exception originalException)
            super("An exception occurred with message: " + originalException.getMessage());
            m_nestedException;
        public Exception getNestedException()
            return m_nestedException;
    }Your global handler can catch the NestedRuntimeException or be supplied it to process by the thread group.

  • Error while calling bpel process from jsp page

    Hi,
    I am trying to access bpel process from a jsp page..i could successfully deploy bpel and run it from bpel console.however accessing the bpel from a jsp gives an error. I have attached the code and error. I am using jdev10.3.1 with SOA suite.Any help is greatly appreciated.
    Thanks,
    p
    Hashtable env = null;
    env = new Hashtable();
    env.put("java.naming.factory.initial", "oracle.j2ee.naming.ApplicationClientInitialContextFactory");
    env.put("java.naming.provider.url", "opmn:ormi://fs-sys-414:6005:home/orabpel");
    env.put("java.naming.security.principal", "oc4jadmin");
    env.put("java.naming.security.credentials", "xxxxx");
    try{
    String xml = "<input xmlns=\"http://xmlns.oracle.com/Pr_Bpel_Process\">" + "HELLO" + "</input>";
    Locator locator = new Locator("default","bpel",env);
    System.out.println("locator object" +locator);
    IDeliveryService deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME );
    // construct the normalized message and send to Oracle BPEL Process Manager
    System.out.println("delivery service name="+IDeliveryService.SERVICE_NAME);
    NormalizedMessage nm = new NormalizedMessage( );
    nm.addPart("payload",xml);
    System.out.println("adding payload to nm");
    deliveryService.post("Pr_Bpel_Process", "initiate", nm);
    oracle.classloader.util.AnnotatedNoClassDefFoundError:
         Missing class: com.collaxa.common.util.NonSyncStringWriter
         Dependent class: com.oracle.bpel.client.ClientResources
         Loader: current-workspace-app.web.pra_appln-pra_proj-webapp:0.0.0
         Code-Source: /C:/product/10.1.3.1/OracleAS_1/bpel/lib/orabpel.jar
         Configuration: <classpath> in C:\jdev10131SOA\jdev\mywork\pra_appln\pra_proj\public_html
    The missing class is not available from any code-source or loader in the system.
    06/11/23 14:33:29      at oracle.classloader.PolicyClassLoader.handleClassNotFound (PolicyClassLoader.java:2068) [C:/jdev10131SOA/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@14916158]
         at oracle.classloader.PolicyClassLoader.internalLoadClass (PolicyClassLoader.java:1679) [C:/jdev10131SOA/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@14916158]
         at oracle.classloader.PolicyClassLoader.loadClass (PolicyClassLoader.java:1635) [C:/jdev10131SOA/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@14916158]
         at oracle.classloader.PolicyClassLoader.loadClass (PolicyClassLoader.java:1620) [C:/jdev10131SOA/j2ee/home/lib/pcl.jar (from system property java.class.path), by sun.misc.Launcher$AppClassLoader@14916158]
         at java.lang.ClassLoader.loadClassInternal (ClassLoader.java:319) [jre bootstrap, by jre.bootstrap:1.5.0_06]
         at com.oracle.bpel.client.ClientResources.sanitizeArgs (ClientResources.java:123) [C:/product/10.1.3.1/OracleAS_1/bpel/lib/orabpel.jar (from <classpath> in C:\jdev10131SOA\jdev\mywork\prashant_appln\pra_proj\public_html), by current-workspace-app.web.prashant_appln-pra_proj-webapp:0.0.0]
         at com.oracle.bpel.client.ClientResources.getString (ClientResources.java:93) [C:/product/10.1.3.1/OracleAS_1/bpel/lib/orabpel.jar (from <classpath> in C:\jdev10131SOA\jdev\mywork\prashant_appln\pra_proj\public_html), by current-workspace-app.web.prashant_appln-pra_proj-webapp:0.0.0]
         at com.oracle.bpel.client.util.BeanRegistry.lookupDeliveryBean (BeanRegistry.java:293) [C:/product/10.1.3.1/OracleAS_1/bpel/lib/orabpel.jar (from <classpath> in C:\jdev10131SOA\jdev\mywork\prashant_appln\pra_proj\public_html), by current-workspace-app.web.prashant_appln-pra_proj-webapp:0.0.0]
         at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean (DeliveryService.java:250) [C:/product/10.1.3.1/OracleAS_1/bpel/lib/orabpel.jar (from <classpath> in C:\jdev10131SOA\jdev\mywork\prashant_appln\pra_proj\public_html), by current-workspace-app.web.prashant_appln-pra_proj-webapp:0.0.0]
         at com.oracle.bpel.client.delivery.DeliveryService.post (DeliveryService.java:174) [C:/product/10.1.3.1/OracleAS_1/bpel/lib/orabpel.jar (from <classpath> in C:\jdev10131SOA\jdev\mywork\prashant_appln\pra_proj\public_html), by current-workspace-app.web.prashant_appln-pra_proj-webapp:0.0.0]
         at com.oracle.bpel.client.delivery.DeliveryService.post (DeliveryService.java:149) [C:/product/10.1.3.1/OracleAS_1/bpel/lib/orabpel.jar (from <classpath> in C:\jdev10131SOA\jdev\mywork\prashant_appln\pra_proj\public_html), by current-workspace-app.web.prashant_appln-pra_proj-webapp:0.0.0]
         at testbpel.jspService (_testbpel.java:79) [C:/jdev10131SOA/jdev/mywork/prashant_appln/pra_proj/classes/.jsps/ (from *.jsp in C:\jdev10131SOA\jdev\mywork\prashant_appln\pra_proj\classes\.jsps), by current-workspace-app.web.prashant_appln-pra_proj-webapp.jsp27809090:0.0.0]
         at com.orionserver.http.OrionHttpJspPage.service (OrionHttpJspPage.java:59) [C:/jdev10131SOA/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdev10131SOA\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at oracle.jsp.runtimev2.JspPageTable.service (JspPageTable.java:453) [C:/jdev10131SOA/j2ee/home/lib/ojsp.jar (from <code-source> in META-INF/boot.xml in C:\jdev10131SOA\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at oracle.jsp.runtimev2.JspServlet.internalService (JspServlet.java:591) [C:/jdev10131SOA/j2ee/home/lib/ojsp.jar (from <code-source> in META-INF/boot.xml in C:\jdev10131SOA\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at oracle.jsp.runtimev2.JspServlet.service (JspServlet.java:515) [C:/jdev10131SOA/j2ee/home/lib/ojsp.jar (from <code-source> in META-INF/boot.xml in C:\jdev10131SOA\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at javax.servlet.http.HttpServlet.service (HttpServlet.java:856) [C:/jdev10131SOA/j2ee/home/lib/servlet.jar (from <code-source> (ignore manifest Class-Path) in META-INF/boot.xml in C:\jdev10131SOA\j2ee\home\oc4j.jar), by api:1.4.0]
         at com.evermind.server.http.ServletRequestDispatcher.invoke (ServletRequestDispatcher.java:711) [C:/jdev10131SOA/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdev10131SOA\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal (ServletRequestDispatcher.java:368) [C:/jdev10131SOA/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdev10131SOA\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest (HttpRequestHandler.java:866) [C:/jdev10131SOA/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdev10131SOA\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind.server.http.HttpRequestHandler.processRequest (HttpRequestHandler.java:448) [C:/jdev10131SOA/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdev10131SOA\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest (HttpRequestHandler.java:216) [C:/jdev10131SOA/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdev10131SOA\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind.server.http.HttpRequestHandler.run (HttpRequestHandler.java:117) [C:/jdev10131SOA/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdev10131SOA\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind.server.http.HttpRequestHandler.run (HttpRequestHandler.java:110) [C:/jdev10131SOA/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdev10131SOA\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run (ServerSocketReadHandler.java:260) [C:/jdev10131SOA/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdev10131SOA\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket (ServerSocketAcceptHandler.java:239) [C:/jdev10131SOA/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdev10131SOA\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$700 (ServerSocketAcceptHandler.java:34) [C:/jdev10131SOA/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdev10131SOA\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run (ServerSocketAcceptHandler.java:880) [C:/jdev10131SOA/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdev10131SOA\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run (ReleasableResourcePooledExecutor.java:298) [C:/jdev10131SOA/j2ee/home/lib/oc4j-internal.jar (from <code-source> in META-INF/boot.xml in C:\jdev10131SOA\j2ee\home\oc4j.jar), by oc4j:10.1.3]
         at java.lang.Thread.run (Thread.java:595) [jre bootstrap, by jre.bootstrap:1.5.0_06]

    Hi,
    Now i am getting different kind of exception::
    06/11/24 08:11:06 java.lang.Exception: Failed to create "ejb/collaxa/system/DeliveryBean" bean; exception reported is: "javax.naming.NamingException: META-INF/application-client.xml not found (see J2EE spec, application-client chapter for requirements and format of the file)
         at oracle.j2ee.naming.ApplicationClientInitialContextFactory.getRequiredClasspathResource(ApplicationClientInitialContextFactory.java:239)
         at oracle.j2ee.naming.ApplicationClientInitialContextFactory.getArchive(ApplicationClientInitialContextFactory.java:161)
         at oracle.j2ee.naming.ApplicationClientInitialContextFactory.getInitialContext(ApplicationClientInitialContextFactory.java:111)
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
         at javax.naming.InitialContext.init(InitialContext.java:223)
         at javax.naming.InitialContext.<init>(InitialContext.java:197)
         at com.oracle.bpel.client.util.BeanRegistry.lookupDeliveryBean(BeanRegistry.java:277)
         at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean(DeliveryService.java:250)
         at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:174)
         at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:149)
         at _testbpel._jspService(_testbpel.java:79)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:453)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:591)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:515)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:711)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298)
         at java.lang.Thread.run(Thread.java:595)
    06/11/24 08:11:06      at com.oracle.bpel.client.util.BeanRegistry.lookupDeliveryBean(BeanRegistry.java:293)
    06/11/24 08:11:06      at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean(DeliveryService.java:250)
    06/11/24 08:11:06      at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:174)
    06/11/24 08:11:06      at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:149)
    06/11/24 08:11:06      at testbpel.jspService(_testbpel.java:79)
    06/11/24 08:11:06      at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
    06/11/24 08:11:06      at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:453)
    06/11/24 08:11:06      at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:591)
    06/11/24 08:11:06      at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:515)
    06/11/24 08:11:06      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    06/11/24 08:11:06      at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:711)
    06/11/24 08:11:06      at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
    06/11/24 08:11:06      at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
    06/11/24 08:11:06      at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
    06/11/24 08:11:06      at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
    06/11/24 08:11:06      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
    06/11/24 08:11:06      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
    06/11/24 08:11:06      at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    06/11/24 08:11:06      at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
    06/11/24 08:11:06      at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
    06/11/24 08:11:06      at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
    06/11/24 08:11:06      at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298)
    06/11/24 08:11:06      at java.lang.Thread.run(Thread.java:595)

  • Invoking a BPEL process from a WS

    Errors occurred when I tried to invoke a BPEL process from a WS. The BPEL process was deployed in Local PM server and the WS was deployed in local OC4J server of JDeveloper 10g.
    &#22312;Java class &#21457;&#24067;&#25104;WS,&#37096;&#32626;&#22312;JDeveloper 10g&#20013;&#30340;oc4j&#26381;&#21153;&#22120;&#37324;&#65292;&#35843;&#29992;&#26412;&#26426;&#30340;BPEL&#27969;&#31243;&#20986;&#38169;&#65292;
    WS coding as below:
    WS&#20195;&#30721;&#22914;&#19979;:
    package zbht.com;
    import com.oracle.bpel.client.Locator;
    import com.oracle.bpel.client.NormalizedMessage ;
    import com.oracle.bpel.client.dispatch.IDeliveryService ;
    import java.util.Date;
    import com.oracle.services.bpel.task.IWorklistService;
    import com.oracle.services.bpel.task.ITask;
    public class test
    public test()
    * @webmethod
    public void getBPEL(String str1,String str2)
    try{
    String xml = "<BPELProcess xmlns=\"http://xmlns.oracle.com/BPELProcess\">"
    + "<input>"+str1+"</input>"
    + "<input1>"+str2+"</input1>"
    + "</BPELProcess>";
    System.out.println(xml);
    // String xml="<OrgName xmlns=\"http://sse.org.cn/poc\">"+OrgName+"</OrgName>";
    Locator locator = new Locator("default","bpel");
    System.out.println("123");
    IDeliveryService deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME);
    System.out.println("1234");
    // construct the normalized message and send to Oracle BPEL Process Manager
    NormalizedMessage nm = new NormalizedMessage( );
    System.out.println("12345");
    nm.addPart("payload" , xml );
    deliveryService.post("BPELProcess", "initiate", nm);
    }catch(Exception e)
    e.printStackTrace();
    Process source coding as below:
    &#27969;&#31243;&#20195;&#30721;:
    <process name="BPELProcess" targetNamespace="http://xmlns.oracle.com/BPELProcess" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20" xmlns:ns1="http://zbht/com/test.wsdl" xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:client="http://xmlns.oracle.com/BPELProcess" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
    <partnerLinks>
    <partnerLink name="client" partnerLinkType="client:BPELProcess" myRole="BPELProcessProvider"/>
    <partnerLink myRole="testPortType_Role" name="PartnerLink_1" partnerRole="testPortType_Role" partnerLinkType="ns1:testPortType_PL"/>
    </partnerLinks>
    <variables>
    <variable name="inputVariable" messageType="client:BPELProcessRequestMessage"/>
    <variable name="outputVariable" messageType="client:BPELProcessResponseMessage"/>
    <variable name="Invoke_1_test_InputVariable" messageType="ns1:test0Request"/>
    <variable name="Invoke_1_test_OutputVariable" messageType="ns1:test0Response"/>
    </variables>
    <sequence name="main">
    <receive name="receiveInput" partnerLink="client" portType="client:BPELProcess" operation="process" variable="inputVariable" createInstance="yes"/>
    <assign name="Assign_1">
    <copy>
    <from variable="inputVariable" part="payload" query="/client:BPELProcessProcessRequest/client:input"/>
    <to variable="Invoke_1_test_InputVariable" part="str1"/>
    </copy>
    <copy>
    <from variable="inputVariable" part="payload" query="/client:BPELProcessProcessRequest/client:input1"/>
    <to variable="Invoke_1_test_InputVariable" part="str2"/>
    </copy>
    </assign>
    <invoke name="Invoke_1" partnerLink="PartnerLink_1" portType="ns1:testPortType" operation="test" inputVariable="Invoke_1_test_InputVariable" outputVariable="Invoke_1_test_OutputVariable"/>
    <assign name="Assign_2">
    <copy>
    <from variable="Invoke_1_test_OutputVariable" part="return"/>
    <to variable="outputVariable" part="payload" query="/client:BPELProcessProcessResponse/client:result"/>
    </copy>
    </assign>
    <reply name="replyOutput" partnerLink="client" portType="client:BPELProcess" operation="process" variable="outputVariable"/>
    </sequence>
    </process>
    Error messages:
    &#38169;&#35823;&#20449;&#24687;:
    05/10/08 17:06:06 java.lang.Exception: Failed to create "ejb/collaxa/system/DomainManagerBean" bean; exception reported is: "javax.naming.NameNotFoundException: ejb/collaxa/system/DomainManagerBean not found at com.evermind.server.rmi.RMIContext.lookup(RMIContext.java:164) at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:333) at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:120) at javax.naming.InitialContext.lookup(InitialContext.java:347) at com.oracle.bpel.client.util.BeanRegistry.lookupDomainManagerBean(BeanRegistry.java:218) at com.oracle.bpel.client.auth.DomainAuthFactory.authenticate(DomainAuthFactory.java:83) at com.oracle.bpel.client.auth.DomainAuthFactory.authenticate(DomainAuthFactory.java:47) at com.oracle.bpel.client.Locator.<init>(Locator.java:65) at zbht.com.test.getBPEL(test.java:29) at zbht.com.__testStatelessWrapper.invokeMethod(__testStatelessWrapper.java:101) at oracle.j2ee.ws.InvocationWrapper.invoke(InvocationWrapper.java:380) at oracle.j2ee.ws.RpcWebService.doGetRequest(RpcWebService.java:642) at oracle.j2ee.ws.BaseWebService.doGet(BaseWebService.java:1173) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65) at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:649) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192) at java.lang.Thread.run(Thread.java:534)".05/10/08 17:06:06 at com.oracle.bpel.client.util.BeanRegistry.lookupDomainManagerBean(BeanRegistry.java:232)05/10/08 17:06:06 at com.oracle.bpel.client.auth.DomainAuthFactory.authenticate(DomainAuthFactory.java:83)05/10/08 17:06:06 at com.oracle.bpel.client.auth.DomainAuthFactory.authenticate(DomainAuthFactory.java:47)05/10/08 17:06:06 at com.oracle.bpel.client.Locator.<init>(Locator.java:65)05/10/08 17:06:06 at zbht.com.test.getBPEL(test.java:29)05/10/08 17:06:06 at zbht.com.__testStatelessWrapper.invokeMethod(__testStatelessWrapper.java:101)05/10/08 17:06:06 at oracle.j2ee.ws.InvocationWrapper.invoke(InvocationWrapper.java:380)05/10/08 17:06:06 at oracle.j2ee.ws.RpcWebService.doGetRequest(RpcWebService.java:642)05/10/08 17:06:06 at oracle.j2ee.ws.BaseWebService.doGet(BaseWebService.java:1173)05/10/08 17:06:06 at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)05/10/08 17:06:06 at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)05/10/08 17:06:06 at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)05/10/08 17:06:06 at oracle.security.jazn.oc4j.JAZNFilter.doFilter(Unknown Source)05/10/08 17:06:06 at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:649)05/10/08 17:06:06 at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322)05/10/08 17:06:06 at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)05/10/08 17:06:06 at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)05/10/08 17:06:06 at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)05/10/08 17:06:06 at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)05/10/08 17:06:06 at java.lang.Thread.run(Thread.java:534)
    Thanks

    Hey,
    no big deal, this is because the Locator you use, runs in, say local mode,
    use the other API constructor in locator, which gets a hashtable.
    Tutorial is available in samples\tutorials\102.InvokingProcesses\rmi
    Locator locator = new Locator("default","bpel",props);
    The reason why you get that "notFoundEx" is because you are not in the same rmi.context bel runs in.

  • Invoking a BPEL process from java

    Hello,
    I tried invoking a BPEL process from java. I got the following error:
    Error deserializing
    return value: java.io.InvalidClassException:
    javax.xml.namespace.QName, local class incompatible:
    classdesc stream serialVersionUID = ..., local class serialVersionUID = ...
    Thank you for helping me.

    Hello,
    Here is the code I use:
    Properties props = new Properties();
    Locator locator = null;
    props.put("orabpel.platform", "ias_10g" );
    props.put("java.naming.factory.initial","com.evermind.server.rmi.RMIInitialContextFactory" );
    props.put("java.naming.provider.url","opmn:ormi://host:port/orabpel" );
    props.put("java.naming.security.principal", "adminuser" );
    props.put("java.naming.security.credentials", "mdp" );
    String securityCredentials = "adminuser";
    String selectedDomain = "default";
    locator = new Locator(selectedDomain,securityCredentials,props);
    IBPELProcessHandle procs[] = locator.listProcesses();
    The error is:
    Exception in thread "main" java.rmi.UnmarshalException: Error deserializing return-value: java.io.InvalidClassException: com.oracle.bpel.client.BPELProcessHandle; local class incompatible: stream classdesc serialVersionUID = 5429682712928177644, local class serialVersionUID = 8176841433835717563
    at com.oracle.bpel.client.util.ExceptionUtils.handleServerException(ExceptionUtils.java:82)
    at com.oracle.bpel.client.Locator.listProcesses(Locator.java:309)
    Thanks for help.
    Edited by: 857737 on 14 sept. 2012 10:00

  • Error Invoking a BPEL process from JAVA

    Dear colleagues,
    I'm facing a error at execution time when I'm invoking a BPEL process from java. My BPEL process is in a different server than my application. BPEL is running in SOA SUITE 10.1.3.1 and my JAVA application so far is in the embebed OC4J of my Jdveloper 10.1.3.3. I've seen different post with a similiar problem, but there wasn't never a solution!. Here you have the code following by the error:
    ***************** SOURCE **************************************
    Locator locator = new Locator("default", "bpel");
    IDeliveryService deliveryService =
    (IDeliveryService)locator.lookupService
    (IDeliveryService.SERVICE_NAME );
    System.out.println(deliveryService.SERVICE_NAME);
    System.out.println(deliveryService.LOCAL_SERVICE_NAME);
    NormalizedMessage nm = new NormalizedMessage();
    nm.addPart("payload", xml );
    NormalizedMessage res =
    deliveryService.request("LOAD_DB_5", "process", nm);
    ********************* ERROR ************************************
    08/07/23 17:07:21 java.lang.Exception: Fallo al crear el bean "ejb/collaxa/system/DeliveryBean"; la excepción mostrada es: "javax.naming.NameNotFoundException: ejb/collaxa/system/DeliveryBean not found
         at com.evermind.server.rmi.RMIServerContext.lookup(RMIServerContext.java:207)
         at com.evermind.server.ApplicationContext.unprivileged_lookup(ApplicationContext.java:257)
         at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:197)
         at javax.naming.InitialContext.lookup(InitialContext.java:351)
         at com.oracle.bpel.client.util.BeanRegistry.lookupDeliveryBean(BeanRegistry.java:279)
         at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean(DeliveryService.java:250)
         at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:83)
         at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:53)
         at amaos.xml.loadData.LoadXml.loadData(LoadXml.java:31)
         at amaos.view.beans.FileProcessor.fileUploaded(FileProcessor.java:159)
         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.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)
         at oracle.adf.view.faces.component.UIXComponentBase.__broadcast(UIXComponentBase.java:1087)
         at oracle.adf.view.faces.component.UIXEditableValue.broadcast(UIXEditableValue.java:247)
         at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:269)
         at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:363)
         at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:98)
         at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
         at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at amaos.view.UploadQuestionary.doFilter(UploadQuestionary.java:24)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
         at amaos.view.UploadQuestionary.doFilter(UploadQuestionary.java:24)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)
         at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197)
         at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:171)
         at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    08/07/23 17:07:21      at com.oracle.bpel.client.util.BeanRegistry.lookupDeliveryBean(BeanRegistry.java:293)
    08/07/23 17:07:21      at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean(DeliveryService.java:250)
    08/07/23 17:07:21      at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:83)
    08/07/23 17:07:21      at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:53)
    08/07/23 17:07:21      at amaos.xml.loadData.LoadXml.loadData(LoadXml.java:31)
    08/07/23 17:07:21      at amaos.view.beans.FileProcessor.fileUploaded(FileProcessor.java:159)
    08/07/23 17:07:21      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    08/07/23 17:07:21      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    08/07/23 17:07:21      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    08/07/23 17:07:21      at java.lang.reflect.Method.invoke(Method.java:585)
    08/07/23 17:07:21      at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:146)
    08/07/23 17:07:21      at oracle.adf.view.faces.component.UIXComponentBase.__broadcast(UIXComponentBase.java:1087)
    08/07/23 17:07:21      at oracle.adf.view.faces.component.UIXEditableValue.broadcast(UIXEditableValue.java:247)
    08/07/23 17:07:21      at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:269)
    08/07/23 17:07:21      at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:363)
    08/07/23 17:07:21      at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:98)
    08/07/23 17:07:21      at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
    08/07/23 17:07:21      at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:110)
    08/07/23 17:07:21      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:213)
    08/07/23 17:07:21      at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    08/07/23 17:07:21      at amaos.view.UploadQuestionary.doFilter(UploadQuestionary.java:24)
    08/07/23 17:07:21      at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
    08/07/23 17:07:21      at amaos.view.UploadQuestionary.doFilter(UploadQuestionary.java:24)
    08/07/23 17:07:21      at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
    08/07/23 17:07:21      at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:162)
    08/07/23 17:07:21      at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:17)
    08/07/23 17:07:21      at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:228)
    08/07/23 17:07:21      at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:197)
    08/07/23 17:07:21      at oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:171)
    08/07/23 17:07:21      at oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)
    08/07/23 17:07:21      at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
    08/07/23 17:07:21      at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
    08/07/23 17:07:21      at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
    08/07/23 17:07:21      at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
    08/07/23 17:07:21      at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
    08/07/23 17:07:21      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
    08/07/23 17:07:21      at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
    08/07/23 17:07:21      at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    08/07/23 17:07:21      at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
    08/07/23 17:07:21      at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
    08/07/23 17:07:21      at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
    08/07/23 17:07:21      at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    08/07/23 17:07:21      at java.lang.Thread.run(Thread.java:595)
    Any help is welcome!
    Thanks

    Hi
    You are trying to create a locator object with default values which does not work at all times.Use Locator("default",prop) where prop is a properties object and set the values according to your environment.
    The following properties values must be set
    Properties props=new Properties();
    props.setProperty("orabpel.platform","ias_10g");
    props.setProperty("java.naming.factory.initial","com.evermind.server.rmi.RMIInitialContextFactory");
    props.setProperty("java.naming.provider.url", "url value");
    props.setProperty("java.naming.security.principal","domain user name");
    props.setProperty("java.naming.security.credentials","password");
    props.setProperty("dedicated.rmicontext", "true");

  • Invoking asynchronous BPEL process from java ui

    Hi,
    I am invoking an asynchronous BPEL process from java ui.
    I read somewhere that i can obtain an instance handler uing the lookupInstance() method of class Locator using the conversation id provided by the class NormalizedMessage.
    My code looks like this
    // Connect to Oracle BPEL server
    Locator locator = new Locator("default","bpel");
    IDeliveryService deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME );
    // Construct a normalized message and send to Oracle BPEL Process Manager
    NormalizedMessage nm = new NormalizedMessage();
    nm.addPart("payload", xml);
    // Initiate the BPEL process
    deliveryService.post("MyLoanFlow", "initiate", nm);
    //Obtain the instance handler
    IInstanceHandle handle = locator.lookupInstance(NormalizedMessage.CONVERSATION_ID);
    But this is giving the error - can not find any instance with conversation id 'conversationId'.
    Also, if i try to obtain a list of instance handles associated with a process , it does not contain the most recently created instance
    IBPELProcessHandle ph = locator.lookupProcess("MyLoanFlow");
    IInstanceHandle[] iHandler = ph.listInstances();
    out.println(iHandler.length + "<br>");
    if i invoke the process for the first time the output is 0.
    can you please help me. it is urgent.

    Hi Sudipto,
    Regarding your second question,
    deliveryService.post("MyLoanFlow", "initiate", nm);
    IBPELProcessHandle ph = locator.lookupProcess("MyLoanFlow");
    IInstanceHandle[] iHandler = ph.listInstances();
    out.println(iHandler.length + "<br>");
    ---- returns 0 ---
    This is because MyLoanFlow is an asynchronous process in your case. So the control is returned to your java block immediately after the request for a new instance is posted. And your second line of code(querying for the list of instances) is executed even before the instance is created on the server side. You can verify this in two ways:
    1. try creating an instance of a synchronous process using IDeliveryService.request - this will always result in the increment since the current thread is blocked till the new instance is created.
    2. for your case, you can try
    Thread.currentThread().sleep(500); - just allow the server some time for completing the instance before you query it for the list of instances..
    and wrt question 1,
    //Obtain the instance handler
    IInstanceHandle handle = locator.lookupInstance(NormalizedMessage.CONVERSATION_ID);
    But this is giving the error - can not find any instance with conversation id 'conversationId'.
    For setting the conversationId, you could do so by including the following inside your .bpel file
    <bpelx:exec name="test-setConversationId" language="java" version="1.4">
    <![CDATA[
    setConversationId("conversationId");
    ]]>
    </bpelx:exec>
    The code:
    IInstanceHandle ins = locator.lookupInstanceByConversationId(NormalizedMessage.CONVERSATION_ID);
    should fetch you the required instance in this case.
    HTH,
    Anuj

  • Invoking a SyncAsync Process from a Web Client

    I implemented a SyncAsync pattern as documented on the BEA website which allowed me to invoke an async process from a stateless process.
    This works as a syncasync wsdl gets generated and is used by the stateless invoker process to form a web service control to invoke the async process.
    What i would like to do now is call the async process via its syncasync wsdl from a web client. Does anyone know how to create a web service client from the syncasync wsdl which I can use from a web client ?

    Hello,
    Here is the code I use:
    Properties props = new Properties();
    Locator locator = null;
    props.put("orabpel.platform", "ias_10g" );
    props.put("java.naming.factory.initial","com.evermind.server.rmi.RMIInitialContextFactory" );
    props.put("java.naming.provider.url","opmn:ormi://host:port/orabpel" );
    props.put("java.naming.security.principal", "adminuser" );
    props.put("java.naming.security.credentials", "mdp" );
    String securityCredentials = "adminuser";
    String selectedDomain = "default";
    locator = new Locator(selectedDomain,securityCredentials,props);
    IBPELProcessHandle procs[] = locator.listProcesses();
    The error is:
    Exception in thread "main" java.rmi.UnmarshalException: Error deserializing return-value: java.io.InvalidClassException: com.oracle.bpel.client.BPELProcessHandle; local class incompatible: stream classdesc serialVersionUID = 5429682712928177644, local class serialVersionUID = 8176841433835717563
    at com.oracle.bpel.client.util.ExceptionUtils.handleServerException(ExceptionUtils.java:82)
    at com.oracle.bpel.client.Locator.listProcesses(Locator.java:309)
    Thanks for help.
    Edited by: 857737 on 14 sept. 2012 10:00

  • Invoking BPEL process from a jsp

    Hi,
    I am invoking a synchronous BPEL process from a jsp.
    The jsp I am using is pasted below for your reference.
    createWorkOrderFFA.jsp invokes another jsp invokeWorkOrderFFA.jsp which inturn calls the BPEL process.
    The code is given below.
    -----------------createWorkOrderFFA.jsp starts-----------
    <%@page import="com.oracle.bpel.client.Locator" %>
    <%@page import="com.oracle.bpel.client.NormalizedMessage" %>
    <%@page import="com.oracle.bpel.client.dispatch.IDeliveryService" %>
    <html>
    <head>
    <title>Work Order Creation </title>
    <meta http-equiv="PRAGMA" content="NO-CACHE" />
    <meta http-equiv="EXPIRES" content="-1" />
    <SCRIPT LANGUAGE="JavaScript">
    function setfocus(){
    document.generatePO.technicianName.focus();
    function mypopup()
    mywindow = window.open ("totalWODetails.jsp","mywindow","scrollbars=1,width=600,height=500");
    mywindow.moveTo(50,50);
    function DoTheCheck()
              if((document.generatePO.repair.checked != true) && (document.generatePO.replacement.checked != true) &&(document.generatePO.emergency.checked != true))
                             alert('Please select atleast one task type for Work Order');
                             return false;
                             document.generatePO.submit();
              return true;
    function chkvalues(){
    if( document.generatePO.additionalInfo.value == "")
    alert(" Please provide additional information for tasks assigned");
    document.generatePO.additionalInfo.focus();
    return false;
    return true;
    </SCRIPT>
    </head>
    <body bgcolor = "#E9C2A6">
    <br>
    <tr cellspacing="0" cellpadding="0">
    <td width="30%" align=left ><b><h2><font color="#3333CC">  </font></b></h2> </td>
    </tr>
    <!-- <h1 align='center'> Work Order Creation </h1> -->
    <table border="1" cellspacing="0" cellpadding="0" width="80%" align=center>
    <tr bgcolor=#A68064 valign=center > </tr>
    <tr bgcolor=#A68064 valign==center><td valign=center > <h2 align='center'> <font COLOR="#CDCDCD" SIZE=5 FACE="sans-serif"> Field Force Automation - Work Order Creation </font></h2></td></tr>
    <tr><td align=center>
    <table border="0" cellspacing="0" cellpadding="0" width="100%" >
    <form name="generatePO" action="./invokeWorkOrderFFA.jsp" onSubmit="return DoTheCheck()">
    </tr>
    <tr >
    <br>
    <td width="40%" align="right" > <b> <font color="black" SIZE=2 FACE="sans-serif" align="right"> Interface Type: </font> </b>           </td>
    <!-- <td width="2%">:</td><td><input type="text" name="SSN" maxlength=10 size=10></td> -->
    <td width="60%" colspan = "2">
    <SELECT NAME="interfaceType">
    <OPTION VALUE="Batch"> Batch </OPTION>
    <OPTION VALUE="Near Real Time"> Near Real Time </OPTION>
    <OPTION VALUE="Automatic"> Automatic </OPTION>
    </SELECT >   
    </td>
    </tr>
    <tr>
    <td width="40%" align=left> 
    </td>
    <td width="20%" align=left> 
    </td>
    <td width="20%" align=left> 
    </td>
    <td width="20%" align=left> 
    </td>
    </tr>
    <tr>
    <td width="40%" align=middle><b><font color="black" SIZE=2 FACE="sans-serif" align="right">                Work Order Tasks *  : </font> </b></td>
    <td width="20%"><b>Maintenance</b><br>
         <INPUT TYPE=CHECKBOX NAME="repair" value="repair" >repair<P>
         <INPUT TYPE=CHECKBOX NAME="replacement" value="replacement">replacement<P>
    </td>
    <td width="20%" align=left></td></td>
    </tr>
    </tr>
    <tr> <td width="20%">
    <td width="40%" align=left> <b>Emergency</b><br><INPUT TYPE=CHECKBOX NAME="gasEmergency" value="gasEmergency">Gas Emergency<P>
    </td>
    <td width="20%" align=left> 
    </td>
    <td width="20%" align=left> 
    </td>
    <td width="20%" align=left> 
    </td>
    </tr>
    <tr>
    <td width="40%" align=middle><b><font color="black" SIZE=2 FACE="sans-serif" align="right">              Additional Information: </font> </b></td>
    <td width="20%"><TEXTAREA NAME="additionalInfo" COLS=40 ROWS=6></TEXTAREA>
    </td>
         <td width="20%" align=left> 
    </td>
    <td width="20%" align=left> 
    </td>
    </tr>
    </tr>
    <tr bgcolor=#A68064>
    <td width="40%" align=left bgcolor=#A68064> 
    </td>
    <td width="20%" align=left bgcolor=#A68064> 
    </td>
    <td width="20%" align=left bgcolor=#A68064> 
    </td>
    <td width="20%" align=left bgcolor=#A68064> 
    </td>
    </tr>
    <tr bgcolor=#A68064 ><td width="100%" colspan=4 align=center bgcolor=#A68064>  
    <input type="submit" name="submit" value="Submit Order" style="background-color: #E9C2A6;">    
    <input type="reset" name="reset" value="Reset Values" style="background-color: #E9C2A6;" >     
    <input type="button" name="btn" value=" WO Error Report" onClick="javascript: mypopup()" style="background-color:#E9C2A6;" >     
    </td>
    </tr>
    <tr bgcolor=#A68064>
    <td width="40%" align=left bgcolor=#A68064> 
    </td>
    <td width="20%" align=left bgcolor=#A68064> 
    </td>
    <td width="20%" align=left bgcolor=#A68064> 
    </td>
    <td width="20%" align=left bgcolor=#A68064> 
    </td>
    </tr>
    <tr bgcolor=#A68064>
    <td width="50%" colspan = "4" align=left bgcolor="#A68064">    <font color="#CDCDCD"> * Indicates Mandatory fields </font>
    </td>
    </tr>
    <tr bgcolor=#A68064> </tr>
    </form>
    </table>
    </td></tr></table>
    </table>
    <br>
    <!-- <marquee> <b>Wipro Technologies</b>, <br> Disclaimer : This is only a prototype model and used only for testing. </marquee> -->
    <script language="JavaScript">
    </Script>
    </body>
    </html>
    -----------------createWorkOrderFFA.jsp ends-------------
    -----------------invokeWorkOrderFFA.jsp starts-----------
    <%@page import="com.oracle.bpel.client.Locator" %>
    <%@page import="com.oracle.bpel.client.NormalizedMessage" %>
    <%@page import="com.oracle.bpel.client.delivery.IDeliveryService" %>
    <html>
    <head>
    <title>Invoke WorkOrderService </title>
    </head>
    <body>
    <%
    String interfaceType = request.getParameter("interfaceType");
         String repair = request.getParameter("repair");
              System.out.println("repair repair---------------------->");
         String replacement = request.getParameter("replacement");
    String gasEmergency = request.getParameter("gasEmergency");
    String additionalInfo = request.getParameter("additionalInfo");
         String woType1="Maintenance";
         String woType2="Emergency";
         System.out.println("before xml---------------------->");
    String xml = "<hostWOApplication xmlns=\"http://services.otn.com\">"
              +"<interfaceType>" + interfaceType + "</interfaceType>"
                   +"<Maintenance>"
                   +"<repair>" + repair + "</repair>"
                   +"<replacement>" + replacement + "</replacement>"
                                  +"</Maintenance>"
                   +"<Emergency>"
              + "<gasEmergency>" + gasEmergency + "</gasEmergency>"
                   +"</Emergency>"
                   + "<additionalInfo>" + additionalInfo + "</additionalInfo>"
              + "</hostWOApplication>";
    System.out.println("Payload data ----------------------------------------->"+xml);
    Locator locator = new Locator("default","bpel");
    System.out.println("Before Idelivery service--------------->");
    IDeliveryService deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME );
    System.out.println("After IDeliveryService data----------------------->");
    // construct the normalized message and send to Oracle BPEL Process Manager
    NormalizedMessage nm = new NormalizedMessage( );
    nm.addPart("payload", xml );
    System.out.println("Before process service--------------->");
    deliveryService.request("A2", "process", nm);
    System.out.println("After process service--------------->");
    out.println( "<b><Font Face=Arial color=red>Work Order has been initiated!</font></b>" );
    %>
         <table bgColor="#E9C2A6" border="1" cellpadding="0">
         <tr ><td width="100%" colspan=4 align=center >
    <b>The Work Order Details could be found at this link:
    <Font Face=Arial color=red><italic>Work Order Creation Details<italic></Font><b>
         </tr>
    </table>
    </body>
    </html>
    -----------------invokeWorkOrderFFA.jsp ends-----------
    I am getting the following error:
    ----------------error desc starts----------------------
    Oracle BPEL Process Manager Full Cycle
    An unexpected error has occurred while executing your request. This is most likely related to a defect in the Oracle BPEL Process Manager product. We apologize for the inconvenience. Please open a TAR in http://metalink.oracle.com if you are our customers. Otherwise, you can post the error to the OTN forum and we will get back to you as soon as possible.
    Attachments:
    Build Information:
    Oracle BPEL Server version 2.2
    Build: 1361
    Build time: Thu Mar 17 15:51:23 PST 2005
    Build type: release
    Source tag: BPELPM_10_1_2_beta3_branch
    Exception Message:
    [java.lang.Exception]
    Invalid Login. Domain not specified.
    Exception Trace:
    java.lang.Exception: Invalid Login. Domain not specified.
         at com.collaxa.cube.fe.util.ServletUtils.getLocator(ServletUtils.java:80)
         at displayInstance.jspService(_displayInstance.java:71)
         at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:347)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:509)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:413)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
         at com.collaxa.cube.fe.DomainFilter.doFilter(DomainFilter.java:89)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:649)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
         at java.lang.Thread.run(Thread.java:534)
    ----------------error desc ends----------------------

    hey mgrovr..
    how to ensure that my jsps are under orabpel. i m getting a javax.naming.NameNotFoundException: ejb/collaxa/system/DomainManagerBean not found exception wile invoking bpel process from jsp. I have created the jsps in Jdeveloper and i'm running it from there only.
    Can u tell me a way to keep me application under orabpel

  • Invoke a bpel process from Java API

    All,
    I got an error when I tried to invoke a bpel process from java api. Can anyone help?
    I got the following errors:
    <2007-08-14 10:10:11,986> <ERROR> <default.collaxa.cube.xml> com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
    messageType: {null}
    parts: {{summary=oracle.xml.parser.v2.XMLElement@da5c23}}
    <2007-08-14 10:10:12,158> <ERROR> <default.collaxa.cube.xml> <XMLElement__CXPM::save> ORABPEL-09219
    Cannot save element.
    An attempt to save the element "EssayScoringDetailsCollection" has failed. Because this element is not a root element and for some reason the scope has reference to this element, scope should have references ONLY to root elements.
         at com.collaxa.cube.xml.dom.XMLElement__CXPM.save(XMLElement__CXPM.java:82)
         at com.collaxa.cube.engine.core.PersistenceService.save(PersistenceService.java:259)
         at com.collaxa.cube.engine.types.bpel.CXMessageVariable__CXPM.save(CXMessageVariable__CXPM.java:182)
         at com.collaxa.cube.engine.core.PersistenceService.save(PersistenceService.java:259)
         at com.collaxa.cube.engine.persist.BaseScope__CXPM.save(BaseScope__CXPM.java:170)
         at com.collaxa.cube.engine.persist.Scope__CXPM.save(Scope__CXPM.java:97)
         at com.collaxa.cube.engine.core.PersistenceService.save(PersistenceService.java:259)
         at com.collaxa.cube.engine.enc.ScopeContextSerializer.serializeContext(ScopeContextSerializer.java:587)
         at com.collaxa.cube.engine.enc.ScopeContextSerializer.toBin(ScopeContextSerializer.java:99)
         at com.collaxa.cube.engine.adaptors.common.BaseCubeInstancePersistenceAdaptor.store(BaseCubeInstancePersistenceAdaptor.java:543)
         at com.collaxa.cube.engine.adaptors.olite.CubeInstancePersistenceAdaptor.store(CubeInstancePersistenceAdaptor.java:387)
         at com.collaxa.cube.engine.data.CubeInstancePersistenceMgr.store(CubeInstancePersistenceMgr.java:367)
         at com.collaxa.cube.engine.CubeEngine.store(CubeEngine.java:5008)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5266)
         at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1083)
         at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.createAndInvoke(CubeEngineBean.java:132)
         at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.syncCreateAndInvoke(CubeEngineBean.java:161)
         at sun.reflect.GeneratedMethodAccessor158.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 java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAs(Subject.java:396)
         at com.evermind.server.ThreadState.runAs(ThreadState.java:622)
         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.TxRequiresNewInterceptor.invoke(TxRequiresNewInterceptor.java:52)
         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 CubeEngineBean_LocalProxy_4bin6i8.syncCreateAndInvoke(Unknown Source)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequestAnyType(DeliveryHandler.java:499)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequest(DeliveryHandler.java:451)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.request(DeliveryHandler.java:125)
         at com.collaxa.cube.ejb.impl.DeliveryBean.request(DeliveryBean.java:95)
         at sun.reflect.GeneratedMethodAccessor157.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 java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAs(Subject.java:396)
         at com.evermind.server.ThreadState.runAs(ThreadState.java:622)
         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.request(Unknown Source)
         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.rmi.RmiMethodCall.run(RmiMethodCall.java:53)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    <2007-08-14 10:10:12,158> <ERROR> <default.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "cube engine": Cannot serialize DOM element.
    Failed to serialize the DOM element "EssayScoringDetailsCollection" to binary format. The exception reported is Cannot save element.
    An attempt to save the element "EssayScoringDetailsCollection" has failed. Because this element is not a root element and for some reason the scope has reference to this element, scope should have references ONLY to root elements.
    ORABPEL-09221
    Cannot serialize DOM element.
    I did the following in my java application:
    //create the BPEL locator object to find the BPEL process
    Locator locator = new Locator("default", "welcome1", jndi);
    //just for fun, display all the available BPEL processes
    /*for(IBPELProcessHandle ibph : locator.listProcesses()) {
    System.out.println(ibph.getProcessModel());
    IDeliveryService deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME);
    //construct the normalized message
    NormalizedMessage nm = new NormalizedMessage();
    String xml = "<ns1:PromptsCollection xmlns:ns1='http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelectPrompt'>" +
    "<ns1:Prompts>" +
    "<ns1:promptId>" pr.getPromptId()"</ns1:promptId>" +
    "<ns1:calibrated>"+pr.getCalibrated().toString()+"</ns1:calibrated>" +
    "<ns1:ibn>"+pr.getIbn()+"</ns1:ibn>" +
    "<ns1:promptType>"+pr.getPromptType()+"</ns1:promptType>" +
    "<ns1:promptsetId>"+pr.getPromptset().getPromptsetId()+"</ns1:promptsetId>" +
    "<ns1:vantagePromptId>"+pr.getVantagePromptId()+"</ns1:vantagePromptId>" +
    "<ns1:promptKey>"+pr.getPromptKey()+"</ns1:promptKey>" +
    "<ns1:holdStatusCode>"+pr.getHoldStatus()+"</ns1:holdStatusCode>" +
    "<ns1:holdEssayTotalCount>"+pr.getHoldEssayTotalCount()+"</ns1:holdEssayTotalCount>" +
    "<ns1:holdEssayCurrentCount>"+pr.getHoldEssayCurrentCount()+"</ns1:holdEssayCurrentCount>" +
    "<ns1:approvedStatus>"+pr.getApprovedStatus()+"</ns1:approvedStatus>" +
    "<ns1:rowChangeDate>"+pr.getRowChangeDate()+"</ns1:rowChangeDate>" + "<ns1:programId>1001</ns1:programId>" +
    "<ns1:programId></ns1:programId>" +
    "<ns1:characterCountMin>"+pr.getCharacterCountMin()+"</ns1:characterCountMin>" +
    "<ns1:durationMin>"+pr.getDurationMin()+"</ns1:durationMin>" +
    "<ns1:rangeFindingFlag>"+pr.getRangeFindingFlag()+"</ns1:rangeFindingFlag>" +
    "<ns1:durationFlag></ns1:durationFlag>" +
    "<ns1:characterCountMax>"+pr.getCharacterCountMax().intValue()+"</ns1:characterCountMax>" +
    "<ns1:durationMax>"+pr.getDurationMax().intValue()+"</ns1:durationMax>" +
    "<ns1:rangeCount>"+ rangeCount+"</ns1:rangeCount>" +
    "</ns1:Prompts>" +
    "</ns1:PromptsCollection>" ;
    /*String xml = "<ns1:PromptsCollection xmlns:ns1='http://xmlns.oracle.com/pcbpel/adapter/db/top/DBSelectPrompt'>" +
    "<ns1:Prompts>" +
    "<ns1:promptId>" pr.getPromptId().toString()"</ns1:promptId>" +
    "<ns1:calibrated>"+pr.getCalibrated().toString()+"</ns1:calibrated>" +
    "<ns1:ibn>"+pr.getIbn()+"</ns1:ibn>" +
    "<ns1:promptType>"+pr.getPromptType()+"</ns1:promptType>" +
    "<ns1:promptsetId>"+pr.getPromptset().getPromptsetId().toString()+"</ns1:promptsetId>" +
    "<ns1:vantagePromptId>"+pr.getVantagePromptId()+"</ns1:vantagePromptId>" +
    "<ns1:promptKey>"+pr.getPromptKey()+"</ns1:promptKey>" +
    "<ns1:holdStatusCode>"+pr.getHoldStatus()+"</ns1:holdStatusCode>" +
    "<ns1:holdEssayTotalCount>"+pr.getHoldEssayTotalCount()+"</ns1:holdEssayTotalCount>" +
    "<ns1:holdEssayCurrentCount>"+pr.getHoldEssayCurrentCount()+"</ns1:holdEssayCurrentCount>" +
    "<ns1:approvedStatus>"+pr.getApprovedStatus()+"</ns1:approvedStatus>" +
    "<ns1:rowChangeDate>"+pr.getRowChangeDate()+"</ns1:rowChangeDate>" +
    "<ns1:programId></ns1:programId>" +
    "<ns1:characterCountMin>"+pr.getCharacterCountMin()+"</ns1:characterCountMin>" +
    "<ns1:durationMin>"+pr.getDurationMin()+"</ns1:durationMin>" +
    "<ns1:rangeFindingFlag>"+pr.getRangeFindingFlag()+"</ns1:rangeFindingFlag>" +
    "<ns1:durationFlag></ns1:durationFlag>" +
    "<ns1:characterCountMax>"+pr.getCharacterCountMax()+"</ns1:characterCountMax>" +
    "<ns1:durationMax>"+pr.getDurationMax()+"</ns1:durationMax>" +
    "<ns1:rangeCount>"+pr.getRangeCount()+"</ns1:rangeCount>" +
    "</ns1:Prompts>" +
    "</ns1:PromptsCollection>" ; */
    //add the payload part to the message with the xml variable
    nm.addPart("payload", xml.trim());
    //make the call to the BPEL process
    NormalizedMessage response = deliveryService.request("UpdatePromptStatus", "process",nm);
    Map payload = response.getPayload();

    I'm getting all of the same errors, but in a slightly different situation.
    <2007-08-23 09:11:46,086> <ERROR> <default.collaxa.cube.xml> com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
    messageType: {null}
    parts: {{summary=oracle.xml.parser.v2.XMLElement@d454cf}}
    <2007-08-23 09:11:46,633> <ERROR> <default.collaxa.cube.xml> <XMLElement__CXPM::save> ORABPEL-09219
    Cannot save element.
    An attempt to save the element "SfCaseCollection" has failed. Because this element is not a root element and for some reason the scope has reference to this element, scope should have references ONLY to root elements.
         at com.collaxa.cube.xml.dom.XMLElement__CXPM.save(XMLElement__CXPM.java:82)
         at com.collaxa.cube.engine.core.PersistenceService.save(PersistenceService.java:259)
         at com.collaxa.cube.engine.types.bpel.CXMessageVariable__CXPM.save(CXMessageVariable__CXPM.java:182)
         at com.collaxa.cube.engine.core.PersistenceService.save(PersistenceService.java:259)
         at com.collaxa.cube.engine.persist.BaseScope__CXPM.save(BaseScope__CXPM.java:170)
         at com.collaxa.cube.engine.persist.Scope__CXPM.save(Scope__CXPM.java:97)
         at com.collaxa.cube.engine.core.PersistenceService.save(PersistenceService.java:259)
         at com.collaxa.cube.engine.enc.ScopeContextSerializer.serializeContext(ScopeContextSerializer.java:587)
         at com.collaxa.cube.engine.enc.ScopeContextSerializer.toBin(ScopeContextSerializer.java:99)
         at com.collaxa.cube.engine.adaptors.common.BaseCubeInstancePersistenceAdaptor.store(BaseCubeInstancePersistenceAdaptor.java:543)
         at com.collaxa.cube.engine.adaptors.oracle.CubeInstancePersistenceAdaptor.store(CubeInstancePersistenceAdaptor.java:83)
         at com.collaxa.cube.engine.data.CubeInstancePersistenceMgr.store(CubeInstancePersistenceMgr.java:367)
         at com.collaxa.cube.engine.CubeEngine.store(CubeEngine.java:5008)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5266)
         at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1771)
         at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.handleWorkItem(CubeEngineBean.java:306)
         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 java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAs(Subject.java:396)
         at com.evermind.server.ThreadState.runAs(ThreadState.java:622)
         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 CubeEngineBean_LocalProxy_4bin6i8.handleWorkItem(Unknown Source)
         at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handle(PerformMessageHandler.java:45)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         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.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
         at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
         at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
         at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
         at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
         at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
         at java.lang.Thread.run(Thread.java:595)
    Did you ever find a solution to your problem?
    My situation is that I'm running a process that grabs data from a salesforce.com web service and dumps some of the data back into my local database. The process croaks after processing 850 or so records. I have also increased my PermSize memory to 512M.
    Any ideas why all of a sudden after processing that many records it would stop working?
    Thanks,
    Adam

  • Unable to call a BPEL Process from ESB

    Has anyone worked on Oracle ESB ?
    I've implemented an ESB Scenario where, based on some value, either it should call one BPEL process otherwise it should call another BPEL Process. But, Routing Service is unable to call either of the service.
    Can anyone help me out?
    Thanks in Advance.
    Regards

    I am able to call the bpel processes from the bpel console. I tried to use the TCP Packet Monitor but it shows waiting for connection and doesn't turn up. I checked the port number. The local server port is correct but I dont know how to check the listener port for it i.e. by default showing 1234.
    I tried to test my esb through em as a webservice but it shows the following exception after input:
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header/><env:Body><env:Fault xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><faultcode>env:Server</faultcode><faultstring>oracle.tip.esb.server.common.exceptions.BusinessEventRetriableException: An unhandled exception has been thrown in the ESB system. The exception reported is: "oracle.tip.esb.server.common.exceptions.BusinessEventFatalException: An unhandled exception has been thrown in the ESB system. The exception reported is: "java.lang.Exception: Failed to create "ejb/collaxa/system/DeliveryBean" bean; exception reported is: "javax.naming.NamingException: Lookup error: javax.naming.AuthenticationException: Not authorized; nested exception is:
         javax.naming.AuthenticationException: Not authorized [Root exception is javax.naming.AuthenticationException: Not authorized]
         at com.evermind.server.rmi.RMIClientContext.lookup(RMIClientContext.java:64)
         at javax.naming.InitialContext.lookup(InitialContext.java:351)
         at com.oracle.bpel.client.util.BeanRegistry.lookupDeliveryBean(BeanRegistry.java:279)
         at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean(DeliveryService.java:250)
         at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:83)
         at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:67)
         at oracle.tip.esb.server.service.impl.bpel.BPELService.processBusinessEvent(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(Unknown Source)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(Unknown Source)
         at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(Unknown Source)
         at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(Unknown Source)
         at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(Unknown Source)
         at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(Unknown Source)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(Unknown Source)
         at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.raiseEvent(Unknown Source)
         at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.processMessage(Unknown Source)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:869)
         at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:349)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:460)
         at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:114)
         at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:96)
         at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:177)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:711)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    I've setup the trackable fields also but trackable data showed me no data. When I checked the validate check box, it has shown me error in first stage i.e. in file adapter itself.
    I don't know what's the problem?
    Please help as I am struggling with this.
    Thanks & Regards

  • How to read from and write into the same file from multiple threads?

    I need to read from and write into a same file multiple threads.
    How can we do that without any data contamination.
    Can u please provide coding for this type of task.
    Thanks in advance.

    Assuming you are using RandomAccessFile, you can use the locking functionality in the Java NIO library to lock sections of a file that you are reading/writing from each thread (or process).
    If you can't use NIO, and all your threads are in the same application, you can create your own in-process locking mechanism that each thread uses prior to accessing the file. That would take some development, and the OS already has the capability, so using NIO is the best way to go if you can use JDK 1.4 or higher.
    - K
    I need to read from and write into a same file
    multiple threads.
    How can we do that without any data contamination.
    Can u please provide coding for this type of task.
    Thanks in advance.

  • Copy variable from one thread to another

    My program requires user to input a java file which contains the run() method.
    In the input file, user can declare variables and use those variables inside the run method. User also need to enter the number of threads to be spawned.
    The problem is how can I construct some method like "copy" which can copy the variable from one thread to another in my program? I can't do that since I don't know the name of the variables that the user inputted.
    I've tried this:
    class helloworld extends thread{
    void run(){
    String a="hello";
    String b="world";
    copy(0,1,a,b)
    class myProgram {
    Class c = Class.forName(fileName);         // file name of user's file     
    Thread t[] = new Thread[p];             // p is number of threads
         for (int i=0; i<p; i++){             // create threads      
                   t[i] = (Thread) c.newInstance();  
                   t.start();
    public void copy(int sourThread, int destThread, String s1, String s2){
    t[sourThread].s1=t[destThread].s2
    But it doesn't work. It said "cannot resolve symbol s1 and s2".
    please help. urgent. Thanks a lot in advance.

    You need to seriously reconsider what you're allowing the user to do. The short answer to your problem is to use a shared, synchronized associative array.
    However, since the user can specify any number of threads, you will have to resolve deadlocks, and the fact that you're asking this question suggests you will have problems doing so until you have read up on threads and shared variables in more detail. (I don't mean to be dismissive. Deadlocks and shared variables have to be customized to the application, i.e., you have to figure out just when each thread will need access to the variable, what kind of access, and when.)
    In the meantime, take a step back and take a look at the big picture.
    From what you've said, I would guess a common example of your application is that I want to be able to read file "foo.dat", uppercase each letter in the file, and write it out to "fooXXX.dat" where XXX reflects the thread number. And specify any number of threads I want.
    Threads would not be the best way to accomplish this. Do this serially.
    Alternatively, I could interpret your problem as in you need to create a main() function that's capable of reading someone else's dot-class file, clone the object and start it. In which case, why do you want to share variables? If the user did his job correctly, then his file will already contain shared variables (or copy them as appropriate). All you have to do is clone the object via the new keyword, then call start() in it.
    You cannot share something when you don't know what you're sharing.
    The third option is that you're doing this as an academic exercise (i.e., homework). Granted, yes, your professor may ask you to do things illogically just to prove they can be done. Unfortunately, we're not supposed to help you in that case. People who read this forum generally try to find logical and efficient ways of doing things.

Maybe you are looking for