Calling a BPEL process from java (STRUTS)

Hi,
I´ve a workspace where I have all the deployed bpel processes, and I´ve other workspace with a Struts project. I deployed my Struts project in the OC4J Server where the BPEL processes are deployed.
I´m trying to initialise Locator instance in a .java file. The Locator will search the bpel processes in the default domain. I get an exception when I run the project, dont know what I´m doing wrong. (can´t copy the exception from the Embedded OC4J Server)
THE CODE:
static Locator locator = null;
static String bpelDomain = "default";
static String bpelDomainPassword = "bpel";
static String orabpelPlatform = "oc4j_10g";
static String javaNamingFactoryInitial = "com.evermind.server.rmi.RMIInitialContextFactory";
static String javaNamingProviderUrl = "ormi://develc15:23791/orabpel";
static String javaNamingSecurityPrincipal = "admin";
static String javaNamingSecurityCredentials = "welcome";
static String dedicatedRmiContext = "true";
public static void invokeProcess(String processName, String operationName, String sXml)
try
Properties props = new java.util.Properties();
props.setProperty("orabpel.platform",orabpelPlatform);
props.setProperty("java.naming.factory.initial",javaNamingFactoryInitial);
props.setProperty("java.naming.provider.url",javaNamingProviderUrl);
props.setProperty("java.naming.security.principal",javaNamingSecurityPrincipal);
props.setProperty("java.naming.security.credentials",javaNamingSecurityCredentials);
props.setProperty("dedicated.rmicontext", dedicatedRmiContext);
locator = new Locator(bpelDomain, bpelDomainPassword,props);
} catch (Exception r)
r.printStackTrace();

I tried to call an async BPEL process from simple Java client. The only difference that I see in your code and mine is, that I haven't specified the "orabpelPlatform" and "dedicatedRMIContext" properties. Also, another diferenece is the ProviderURL used. I have copied the settings as found under "samples/tutorial/102.InvokeProcess/rmi/Context.Properties".
While setting the properties use -
Context.INITIAL_FACTORY
Context.PROVIDER_URL
Context.SECURITY_PRINCIPAL
Context.SECURITY_CREDENTIALS
instead of specifying java.naming.xxxxxx class names.
Please check the file to see what are the Context properties set during installation for your BPEL PM. Use the same to define Properties to be passed as parameter in the Locator constructor.
~ Amit

Similar Messages

  • How to call a BPEL process from Java ?

    How can I call a BPEL process from Java?
    The Java client should be outside of the PEL engine.
    Does someone have a piece of sample code for
    a "Hello world" java-to-bpel call (+ java client src)?

    http://www.oracle.com/technology/products/ias/bpel/pdf/orabpel-Tutorial7-InvokingBPELProcesses.pdf

  • Calling a BPEL process from java

    Hi all,
    I have created a java code with RMI call to a BPEL process. I have published this java class as WebService.
    I have deployed the WS on server. When I am calling WS its not invoking the BPEL Process.But when I am running the java code directly I am able to get the required output . What could be the problem?
    I am using SOA server 10.1.3.4
    I have imported following jars:
    J2EE.jar, JAX-RPC Client.jar, xmlparserv2.jar, orawsdl.jar, oracle_http_client.jar, orabpel-thirdparty.jar, orabpel-common.jar, orabpel.jar, orabpel-boot.jar, oc4j-internal.jar, oc4jclient.jar, oc4j.jar

    Hi,
    Are you running the webservice on the same app-server as BPEL PM?
    If so, what app-server do you use? According to the jar files you mention I assume Oracle AS 10g. Do you have your WS in the Home or the OC4J_SOA container?
    Make sure that the jars you mention are available to the container you run your WS in.
    Most of the libraries you mention are AS libraries. What I usually do is split my Webservices in two projects. One is a plain java project that does the job (in your case calling BPEL with the proper variables) en one J2EE project that implements the webservice part and calls the plain java project. The plain-java-project only gets the libraries it really needs. So no J2EE libs for example. In your case, probably only orabpel.jar and maybe orabpel-common and orabpel-boot.jar is needed. And if you're doing xml, then the xmlparserv2.jar. The jars you need for the plain-java-project are the only jars you need to deliver with the webservice. You can create shared libraries for it or add them to the lib folder of the AS. The libraries the J2EE project needs are appserver libraries that you don't need to deliver.
    I find it best practice to minimize the libraries you deliver to only those really needed, without the J2EE libs. Every other library you deliver out of "Easyness" is mistify your view on problems.
    You can try to add these libraries as a shared library. Or add them in one of the deployment steps. Or if these two don't work, try to ship them in your war-file.
    Hope this helps.
    If you need more help, may be you should dig up some errors. Look in to the servers logs, for example the logs in <Soa_home>/opmn/logs. Especially the one of the container your webservice is running in.
    Regards,
    Martien

  • Calling OWSM Secured BPEL Process from JAVA

    HI,
    I have created OWSM gateway and registered BPEL process under that.
    Now i want to call that BPEL process from java class. Can anybody please tell me how can i pass the security SOAP header.
    Here is the class i am using ...
    package com.javarpc;
    import java.rmi.RemoteException;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.JAXRPCException;
    import javax.xml.rpc.Service;
    import javax.xml.rpc.ServiceException;
    import javax.xml.rpc.ServiceFactory;
    import javax.xml.rpc.ParameterMode;
    import javax.xml.rpc.encoding.XMLType;
    import javax.xml.rpc.soap.SOAPFaultException;
    import org.apache.axis.client.Call;
    import org.apache.axis.message.SOAPBodyElement;
    import java.io.InputStream;
    import java.io.ByteArrayInputStream;
    public class CallHelloWorld
    private static QName SERVICE_NAME;
    private static QName PORT_TYPE;
    private static QName OPERATION_NAME_IN;
    private static String SOAP_ACTION;
    private static String STYLE;
    private static String THIS_NAMESPACE = "http://xmlns.oracle.com/HelloWorld";
    private static String PARAMETER_NAMESPACE = "http://xmlns.oracle.com/HelloWorld";
    private String location;
    static
    SERVICE_NAME = new QName(THIS_NAMESPACE,"HelloWorld");
    PORT_TYPE = new QName(THIS_NAMESPACE,"HelloWorld") ;
    SOAP_ACTION = "process";
    /*Setting for Wraped style of calling*/
    //STYLE = "wraped";
    //OPERATION_NAME_IN = new QName(THIS_NAMESPACE,"HelloWorldProcessRequest");
    /*Setting for Message style of calling*/
    STYLE = "message";
    OPERATION_NAME_IN = new QName(THIS_NAMESPACE,"process");
    public void setLocation(String location)
    this.location = location;
    public void initiate(String symbol)
    try
    /* Create Service and Call object */
    ServiceFactory serviceFactory = ServiceFactory.newInstance();
    Service service = serviceFactory.createService( SERVICE_NAME );
    Call call = (Call)service.createCall( PORT_TYPE );
    /* Set all of the stuff that would normally come from WSDL */
    call.setTargetEndpointAddress( location );
    call.setProperty(Call.SOAPACTION_USE_PROPERTY, Boolean.TRUE);
    call.setProperty(Call.SOAPACTION_URI_PROPERTY, SOAP_ACTION);
    call.setProperty( Call.OPERATION_STYLE_PROPERTY , STYLE );
    call.setOperationName(OPERATION_NAME_IN);
    /*Setting Input for message type and invoke web service through message style*/
    String strXMLInput="<HelloWorldProcessRequest xmlns=\"http://xmlns.oracle.com/HelloWorld\">";
    strXMLInput+="<enovia>test</enovia>";
    strXMLInput+="</HelloWorldProcessRequest>";
    SOAPBodyElement[] requestSBElts = new SOAPBodyElement[1];
    InputStream resultInputStream = new ByteArrayInputStream(strXMLInput.getBytes());
    requestSBElts[0] = new SOAPBodyElement(resultInputStream);
    System.out.println(requestSBElts[0]);
    java.util.Vector output = (java.util.Vector) call.invoke(requestSBElts);
    System.out.println( "HelloWorld BPEL process initiated by message " +output);
    /*Setting Input for message type and invoke web service through wraped style
    call.addParameter(new QName(PARAMETER_NAMESPACE,"input"), XMLType.XSD_STRING, ParameterMode.IN);
    //call.setReturnType(new QName("XMLType.XSD_STRING"));
    // call.setReturnType(new QName("String"));
    Object[] params = new Object[1];
    String outPut = new String();
    params[0] = symbol;
    call.invokeOneWay(params);
    //Object ret;
    //ret = (String) call.invoke( params );
    System.out.println( "HelloWorld BPEL process initiated" );*/
    catch (SOAPFaultException e)
    System.err.println("Generated fault: ");
    System.out.println (" Fault Code = " + e.getFaultCode());
    System.out.println (" Fault String = " + e.getFaultString());
    catch (JAXRPCException e)
    System.err.println("JAXRPC Exception: " + e.getMessage());
    catch (ServiceException e)
    System.err.println("Service Exception: " + e.getMessage());
    catch (RemoteException e)
    System.err.println("RemoteException: " + e.getMessage());
    public static void main(String[] args)
    String symbol = "Kevin";
    // String location = "http://valizprd208.val.cummins.com:7777/orabpel/tst/HelloWorld/1.0";
    String location = "http://integrationvaldlv.cummins.com:7777/gateway/services/SID0003002?wsdl";
    CallHelloWorld client = new CallHelloWorld();
    client.setLocation( location );
    client.initiate( symbol );
    }

    You can get sample input by intercepting the request to check what exactly you need to put in SOAP header and what in body.
    To manipulate soap header you can look at : http://www.oracle.com/technology/sample_code/tech/java/codesnippet/webservices/soapheader/index.html
    HTH
    Chintan

  • Exception while calling BPEL process from JAVA

    Hi All
    I am getting this error while calling BPEL process from JAVA
    first I've got javabeans exception then I changed the port to default 23791 .. now I am getting the following
    Exception in thread "main" oracle.adf.mds.exception.MDSRuntimeException: Cache not initialized
         at oracle.apps.fnd.framework.mds.cache.ATGCacheMgrDelegateImpl.<init>(ATGCacheMgrDelegateImpl.java:325)
         at oracle.apps.fnd.framework.mds.cache.ATGCacheFactoryImpl.<init>(ATGCacheFactoryImpl.java:44)
         at oracle.apps.fnd.cp.request.CpContext.getMDSContext(CpContext.java:1084)
         at oracle.apps.fnd.cp.request.Run.main(Run.java:130)
    can anyone help

    Sorry guys for disturbing.
    I deleted the file CacheDefaultConfig.properties by mistake from $JAVA_TOP
    I replaced it and it worked fine
    Thanks,
    Baraa

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

  • 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 invoke Bpel process  from java using 'bpel process WSDL'

    I want to call bpel process from java using bpel wsdl.
    could any one point me to any url/sample.
    Thanks
    Nagajyothy

    Hi Seshagiri,
    Thanks for providing links and initial steps to create web service proxy(using Jdeveloper 11g).
    I created a web service proxy.
    provided the needed inputs.
    when I ran the client app, bpel process(has a human task) got invoked but faulted with exception as below
    Operation 'initiateTask' failed with exception 'EJB Exception: : java.lang.ExceptionInInitializerError[[
         at oracle.tip.pc.services.common.ServiceFactory.getAuthorizationServiceInstance(ServiceFactory.java:147)
         at oracle.bpel.services.workflow.task.impl.TaskService.initiateTask(TaskService.java:1159)
         at oracle.bpel.services.workflow.task.impl.TaskService.initiateTask(TaskService.java:502)
         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:597)
    please help me in solving the above problem.
    Thanks
    Nagajyothy

  • Question: How to call a BPEL process from a PL/SQL procedure

    Hi All,
    Greetings to all BPEL people. I have a question on how can we call a BPEL process from a PLSQL procedure. It might be a stupid question but i wanted to know whether this fetaure is available in BPEL as our scenario requires us to explore if this functionality is available in BPEL.
    Please let me know and also if possible please send me the links for the tutorials if it is available.
    Thanks In Advance,
    Dibya

    Yes u can do it. there are two ways.
    1) First one is using utl_http package of PL/SQL
    In this case u can create SOAP request message & send it as Http request to your deployed BPEL process.
    This package provides some methods like
    set_header,write_text,get_response,read_text etc..
    Following is part of code which may be helpful to you.
    create or replace package body test_book_order_sub_pkg
    is
    FUNCTION test_book_order_sub(p_subscription_guid IN RAW,
    p_event IN OUT WF_EVENT_T
                                            Return VARCHAR2 IS
    soap_request varchar2(30000);
    soap_respond varchar2(30000);
    http_req utl_http.req;
    http_resp utl_http.resp;
    launch_url varchar2(240) ;
         begin
         DBMS_OUTPUT.Put_Line('Subscription : Order has been booked');
         soap_request:='<?xml version="1.0" encoding="UTF-8"?>
         <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header/>
    <soap:Body xmlns:ns1="http://xmlns.oracle.com/BES_BookOrder">
    <ns1:BES_BookOrderProcessRequest>
    <ns1:input>725</ns1:input>
    </ns1:BES_BookOrderProcessRequest>
    </soap:Body>
    </soap:Envelope>';
    http_req:= utl_http.begin_request
    ('http://172.28.5.191:8888/orabpel/default/BES_BookOrder/1.0',
    'POST',
    'HTTP/1.1'
    utl_http.set_header(http_req, 'Content-Type', 'text/xml') ;
    utl_http.set_header(http_req, 'Content-Length', length(soap_request)) ;
    utl_http.set_header(http_req, 'SOAPAction', 'initiate');
         utl_http.write_text(http_req, soap_request) ;
    http_resp:= utl_http.get_response(http_req) ;
    utl_http.read_text(http_resp, soap_respond) ;
    utl_http.end_response(http_resp) ;
    DBMS_OUTPUT.Put_Line(soap_respond);
    return('SUCCESS');
    end test_book_order_sub;
    end test_book_order_sub_pkg;
    2) Second way is make your BPEL process listening to some database Queue(use AQ Adapter). & then put some message in tht queue from ur Pl/SQL code . This will also initiate BPEL instance. Check out AQAdapter tutorials.
    /mishit

  • Calling a bpel process from other Bpel process

    hi,
    my req is
    i have created BPEL process where getting the list of customers by giving the partial name using DBAdapter...... getting the output from the Invoker and the output is assinged to a assing activity(thru copy operations) from assign to replyoutput.
    for example from partial output (eg: input---name=Wor%)
    output:
    World of Business
    World of Concrete
    Worldwide Communications
    Worldwide Communications-Vision Corporation-2090
    here if i click the 'Worldwide Communications-Vision Corporation-2090' it should show the sub-details of the name sucha as name,address..............
    how to call subdetail process to show the subdetails by cliicking on the name
    the above process done on the front-end

    Hi
    API's are available to call a BPEL process from the front-end.
    you can invoke a BPEL with the required SOAP msg.
    Thanks

  • 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

  • How to invoke BPEL process from JAVA API

    Hi Guys
    Any idea if you can tell me how to invoke BPEL process from JAVA API ?
    What to do in BPEL process manager to achieve that?
    Regards
    Deepak

    See http://download-west.oracle.com/docs/cd/B31017_01/integrate.1013/b28981/invoke.htm#sthref1373 and the JavaDocs http://download-west.oracle.com/docs/cd/B31017_01/integrate.1013/b28986/toc.htm.

Maybe you are looking for