PHP code initiating a BPEL Process

Thanks to Ross Ackland, we have an example of PHP calling BPEL. We are working on integrating it into the build as a sample. Between now and then here is the PHP code snippet!
<?php
** Using PHP Soap - Requires PHP Version 5
** See: http://au.php.net/soap
** SoapClient constructor allows creating SoapClient objects in WSDL or non-WSDL mode.
** This sample uses the WSDL mode and requires the URI of WSDL file as the first parameter
** and an optional options array.
** Simple HelloWorld client for the "BPEL Designer Tutorial 1: Developing a Hello World BPEL Process"
** http://www.oracle.com/technology/products/ias/bpel/pdf/orabpel-Tutorial1-HelloWorldTutorial.pdf
** Edit this sting
$wsdl_url = 'http://localhost:9700/orabpel/default/SyncHelloWorld/SyncHelloWorld?wsdl';
$client = new SoapClient($wsdl_url,array('trace' => 1,'exceptions' => 0));
print "WSDL Mode";
print '<pre>';
print 'Functions:'; print_r($client->__getFunctions());
print 'Types:'; print_r($client->__getTypes());
print '</pre>';
** Even though HelloWorld takes a simple string as the input parameter, PHP SOAP method
** calls require parameters to be typed exactly as specified in the WSDL. The __getTypes()
** call will show you the parameter types required for each method.
class SyncHelloWorldRequest {
var $input = "";
function SyncHelloWorldRequest($in) {
$this->input = $in;
$parm = new SyncHelloWorldRequest("someInputFromPHP");
$ret = $client->process($parm);
print "process() returned: ".$ret->result;
print '<pre>';
print "Request:".htmlspecialchars($client->__getLastRequest());
print "Response:".htmlspecialchars($client->__getLastResponse());
print '</pre>';
?>

This is nice if you have PHP5, this wont work on earlier versions. Do you have an example with PHP < 5 ?

Similar Messages

  • Error while initiating a bpel process through ESB....

    Hi,
    I initiated a BPEL process from ESB(which is a sync process)...which in turn calls a async process which contains the JMS queues....While running the process...i am getting the below mentioned error.....
    <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:ESBMessageProcessingFailed</faultcode><detail><EventName>DefaultSystem.RoutingService.outOfService</EventName><Cause>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: "com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is 83076650D00F11DDBFFD0151085C6DFB. Please check the process instance for detail.
         at com.evermind.server.rmi.RMICall.EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER(RMICall.java:109)
         at com.evermind.server.rmi.RMICall.throwRecordedException(RMICall.java:125)
         at com.evermind.server.rmi.RMIClientConnection.obtainRemoteMethodResponse(RMIClientConnection.java:517)
         at com.evermind.server.rmi.RMIClientConnection.invokeMethod(RMIClientConnection.java:461)
         at com.evermind.server.rmi.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:63)
         at com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(RecoverableRemoteInvocationHandler.java:28)
         at com.evermind.server.ejb.StatelessSessionRemoteInvocationHandler.invoke(StatelessSessionRemoteInvocationHandler.java:43)
         at __Proxy7.request(Unknown Source)
         at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:104)
         at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:67)
         at oracle.tip.esb.server.service.impl.bpel.BPELService.processBusinessEvent(BPELService.java:380)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(InitialEventDispatcher.java:106)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:85)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1416)
         at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:105)
         at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:273)
         at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:212)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:197)
         at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:82)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1416)
         at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.raiseEvent(EventOracleSoapProvider.java:314)
         at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.processMessage(EventOracleSoapProvider.java:187)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:956)
         at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:349)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:466)
         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:713)
         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)
    Caused by: com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is 83076650D00F11DDBFFD0151085C6DFB. Please check the process instance for detail.
         at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequestAnyType(DeliveryHandler.java:534)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequest(DeliveryHandler.java:457)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.request(DeliveryHandler.java:131)
         at com.collaxa.cube.ejb.impl.DeliveryBean.request(DeliveryBean.java:95)
         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:648)
         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)
         ... 2 more
         at oracle.tip.esb.server.service.impl.bpel.BPELService.processBusinessEvent(BPELService.java:473)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(InitialEventDispatcher.java:106)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:85)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1416)
         at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:105)
         at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:273)
         at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:212)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:197)
         at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:82)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1416)
         at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.raiseEvent(EventOracleSoapProvider.java:314)
         at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.processMessage(EventOracleSoapProvider.java:187)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:956)
         at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:349)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:466)
         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:713)
         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)
    Caused by: com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is 83076650D00F11DDBFFD0151085C6DFB. Please check the process instance for detail.
         at com.evermind.server.rmi.RMICall.EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER(RMICall.java:109)
         at com.evermind.server.rmi.RMICall.throwRecordedException(RMICall.java:125)
         at com.evermind.server.rmi.RMIClientConnection.obtainRemoteMethodResponse(RMIClientConnection.java:517)
         at com.evermind.server.rmi.RMIClientConnection.invokeMethod(RMIClientConnection.java:461)
         at com.evermind.server.rmi.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:63)
         at com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(RecoverableRemoteInvocationHandler.java:28)
         at com.evermind.server.ejb.StatelessSessionRemoteInvocationHandler.invoke(StatelessSessionRemoteInvocationHandler.java:43)
         at __Proxy7.request(Unknown Source)
         at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:104)
         at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:67)
         at oracle.tip.esb.server.service.impl.bpel.BPELService.processBusinessEvent(BPELService.java:380)
         ... 34 more
    Caused by: com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is 83076650D00F11DDBFFD0151085C6DFB. Please check the process instance for detail.
         at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequestAnyType(DeliveryHandler.java:534)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequest(DeliveryHandler.java:457)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.request(DeliveryHandler.java:131)
         at com.collaxa.cube.ejb.impl.DeliveryBean.request(DeliveryBean.java:95)
         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:648)
         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)
         ... 2 more
    </Cause></detail></env:Fault></env:Body></env:Envelope>
    kindly provide me the solution....
    Regards,
    Suresh K

    As I stated in my previous post, there is an issue with the BPEL process not responding back to ESB in a timely manner.
    Unfortunately I don't have your process infront of me so it will require some thinking on your behalf to undersatnd how and why this may be happening.
    Things to ask yourself.
    - Is the data getting past correctly from the ESB to BPEL
    - What happend to the BPEL process that the ESB called
    - Is the ESB calling the BPEL process you are expecting, check server, and bpel versions
    - What does the opmn or domain logs say
    cheers
    James

  • PHP always invokes Two BPEL process Instances

    Hello All:
    I have a BPEL process that I want to invoke from a PHP form. The problem that I'm having is that every time that I invoke the BPEL process from PHP, two instances of that BPEL process get created and invoked in the BPEL manager.
    Has anyone experienced this problem? I know that when I log into the BPEL console and initiate a test instance, I only get one, so my feeling is that it may be PHP. Here is a list of my environments:
    BPEL Server Environment
    OS Version - Microsoft Windows XP
    Oracle SOA Suite v10.1.3.1.0
    Oracle BPEL Console v10.1.3.1.0
    Client Environment
    Server Software - Apache/2.0.55 (Win32)
    OS Version - Microsoft Windows XP
    PHP Version - 5.1.4
    Zend Engine Version - 2.1.0
    Here is my PHP code for invoking the BPEL process:
    <?php
    $wsdl = 'http://localhost:8888/orabpel/default/ChangeCustomerName/1.0/ChangeCustomerName?wsdl';
    try {
         $client = new SoapClient($wsdl);
         $return = $client->process(array("cust_account_id"=>167484,"new_cust_name"=>"TESTING>"));
         if ($return->return_code == 'E') {
         echo 'Error: '.$return->return_message;
         } else {
         echo 'Success!';
    } catch (SOAPFault $e) {
    var_dump($e);
    ?>
    Again the problem is not that I can't invoke a BPEL process or that the BPEL process does not function properly, it is that when I do invoke it from PHP, I get two instances in BPEL.
    Thanks,
    Ben

    If you are using a tool like: soapui.org (Opensource SOAP client tool), and create a soap request, do you get the same behavior. If so, there is an issue in BPEL, otherwise in your PHP environment.

  • A problem with initiating a BPEL process through its web service interface

    hi,
    i am trying to initiate the helloWorld BPEL process through its web service interface. i use a proxy class that i wrote and i use it from J#.net.
    this is the relevant code part:
    hello.HelloWorldBinding wsProxy = new hello.HelloWorldBinding();
    wsProxy.initiate("Hello");
    and the server shows the following message:
    ORABPEL-05002
    Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.
    engine.dispatch.message.invoke.InvokeInstanceMessage"; the exception is: Cannot
    decode properties.
    The process domain was unable to decode the properties for message guid 10, whic
    h are stored in column String index out of range: 3094; the exception reported i
    s: {2}.
    sql statement: SELECT conv_id, message_guid, domain_ref, process_id, revision_ta
    g, operation_name, receive_date, state, priority, properties FROM invoke_message
    WHERE message_guid = ?
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(Dispatc
    hHelper.java:152)
    at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseSche
    duledWorker.java:70)
    at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java
    :86)
    at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDriven
    BeanInvocation.java:123)
    at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome
    .java:755)
    at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:
    928)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Relea
    sableResourcePooledExecutor.java:186)
    at java.lang.Thread.run(Thread.java:534)
    <2006-05-10 21:21:15,171> <ERROR> <default.collaxa.cube.engine.data> <BaseDeliveryPersistenceAdaptor::loadInvokeMetaDa
    java.lang.StringIndexOutOfBoundsException: String index out of range: 3094
    at java.lang.String.substring(String.java:1441)
    at com.collaxa.common.util.LVDecoder.decodeElement(LVDecoder.java:152)
    at com.collaxa.common.util.LVDecoder.decodeToMap(LVDecoder.java:45)
    at com.collaxa.cube.engine.adaptors.common.BaseDeliveryPersistenceAdaptor.loadInvokeMetaData(BaseDeliveryPersi
    r.java:2186)
    at com.collaxa.cube.engine.adaptors.common.BaseDeliveryPersistenceAdaptor.__loadInvoke(BaseDeliveryPersistence
    :2112)
    at com.collaxa.cube.engine.adaptors.common.BaseDeliveryPersistenceAdaptor.loadInvoke(BaseDeliveryPersistenceAd
    079)
    at com.collaxa.cube.engine.data.DeliveryPersistenceMgr.loadInvoke(DeliveryPersistenceMgr.java:357)
    at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:465)
    at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:335)
    at ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.handleInvoke(ICubeDeliveryLocalBean_StatelessSessionBe
    java:1796)
    at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHa
    7)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
    at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
    at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
    at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
    at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
    at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
    at java.lang.Thread.run(Thread.java:534)
    what is the problem? how come i can't initiate the process?
    i will be happy if i could get help..
    thanks in advance

    can you initate the process from the bpel console successfully?
    if so can you use obtunnel from the installation to trace the soap message (that goes over the wire), my best guess in this case is a problem with a header (holding the wsa information) ..
    after starting obtunnel it will liesten to a custom port, and will forward the request to the engine, so you need to point your client to this new port..
    hth clemens

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

  • Problem in invoking a BPEL process from JSP

    I've deployed HelloWorld BPEL from the samples. It's working fine from the BPEL Console. After that I created a JSP page to invoke this BPEL process. My JSP code looks like this:'
    <%@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 HelloWorld</title>
    </head>
    <body>
    <%
    String name = request.getParameter("name");
    if(name == null)
    name = "BPEL";
    System.out.println("Before XML..........");
    String xml = "<name xmlns=\"http://samples.otn.com/helloworld\">" + name + "</name>";
    System.out.println("Before Locator..........");
    Locator locator = new Locator("default","oc4jadmin");
    System.out.println("After Locator..........");
    IDeliveryService deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME );
    // construct the normalized message and send to Oracle BPEL Process Manager
    NormalizedMessage nm = new NormalizedMessage( );
    nm.addPart("payload" , xml );
    System.out.println("Before Delivery Service Post..........");
    deliveryService.post("HelloWorld", "initiate", nm);
    System.out.println( "BPELProcess HelloWorld initiated!" );
    out.println( "BPELProcess HelloWorld initiated!" );
    %>
    Please refer to the
    BPEL Console
    to see the status of the initiated HelloWorld BPEL Process.
    </body>
    </html>
    Now when I try to execute this JSP using the URL:
    http://localhost:8888/hello/invokeHelloWorld.jsp
    I am getting the following error:
    Servlet error: An exception occurred. The current application deployment descriptors do not allow for including it in this response. Please consult the application log for details.
    Can anyone help me out of this?
    Thanks in anticipation. Awaiting for your reply.
    Thanks & Regards

    I got it atlast. Actually I wanted application log to see the error. I found this log file(application.log) under
    <ORACLE_AS_HOME>\j2ee\home\application-deployments\hello\home_default_group_1
    I found that since this is a JSF application, i am missing the '/faces' in the URL and because of which, it was unable to find the FacesContext.
    It's working now. Thanks a lot for your support.
    Regards

  • Problem in invoking BPEL Process through JSP

    Hi ,
    I have created a simple BPEL asynchronous process called as " BPELProcessAddMacroTask" .
    JSP File looks like :
    <%@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>Invoke AddMacro Task</title>
    </head>
    <body>
    <%
    String EmployeeId = request.getParameter("EmployeeId");
    if (EmployeeId == null)
    %>
    <!-- Construct HTML form here -->
    <h3>Invoke AddMacro Task BPEL Application</h3>
    <h4>Add Macro Task Form</h4>
    <form>
    <table>
    <tr>
    <td>EmployeeId:</td>
    <td><input type="text" name="EmployeeId" value="43"></td>
    </tr>
    <tr>
    <td>TaskName</td>
    <td><input type="text" name="MacroTaskName" value="DIMPLETTE_EXAMPLE"></td>
    </tr>
    <input type="submit" value="Send Input">
    </form>
    <%
    else
    // 1. Get form fields
    //String EmployeeId = request.getParameter("EmployeeId");
    String MacroTaskName = request.getParameter("MacroTaskName");
    // 2. Create loan application XML document
    String xml = "<AddMacroTask xmlns=\"http://xmlns.oracle.com/BPELProcessAddMacroTask\">"
    + "<EmployeeId>" + EmployeeId + "</EmployeeId>"
    + "<MacroTaskName>" + MacroTaskName + "</MacroTaskName>" ;
    // 3. Initiate the BPEL process here
    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("BPELProcessAddMacroTask", "initiate", nm);
    %>
    <p>BPEL Process <code>BPELProcessAddMacroTask</code> initiated
    with the input containing EmployeeId=<%= EmployeeId %></p>
    <p>Please refer to the
    BPEL Console
    to see the status of the initiated AddMacroTask BPEL Process.</p>
    <%
    %>
    <body>
    </html>
    I am not finding my " addmacrotask.jsp" in home.jsp even after running "Obant" command .
    I am getting following error when try to invoke the web service :
    My UI Path is : http://localhost:9700/InvokingProcessesUI/addmacrotask.jsp
    I am getting this error :
    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:88) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:350) 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:103) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:663) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:285) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:126) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186) at java.lang.Thread.run(Thread.java:534)
    Please someone help me out with this problem .
    Thanks
    Deepika

    Hi ,
    I have set it to this in server.xml :
    <application name="orabpel" path="../../../BC4J/redist/bc4j.ear" auto-start="true" />
    <application name="BPELProcessAddMacroTask" path="D:\BPEL\integration\orabpel\system\appserver\oc4j\j2ee\home\applications\InvokingProcessesUI.ear" parent="orabpel" auto-start="true" />
    </application-server>
    But still not able to create instance . Same problem persists.
    Thanks
    Deepika

  • Invoking bpel process from java in oracle soa/bpm 11g

    Hi,
    We have some java code to invoke bpel process in oracle BPM 10g following the instructions in http://download-east.oracle.com/docs/cd/B14099_19/integrate.1012/b14448/invoke.htm.
    Basically the steps are:
    1) get a Locator (com.oracle.bpel.client.Locator)
    2) get IDeliveryService (com.oracle.bpel.client.delivery.IDeliveryService) reference from locator
    3) call IDeliveryService method request or post with input message and get the response back.
    Recently we want to migrated from oracle bpm 10g to oracle soa/bpm 11g. But I can not find the similar API in 11g. It seems now some adapter/binding need to be added in exposed service lane in soa composite view, for example, ADF-BC, direct binding etc, in order to allow java to invoke a bpel process. Here are two very useful links from Edwin about the detail how this is implemented.
    http://biemond.blogspot.com/2009/11/invoking-soa-suite-11g-service-from.html
    http://biemond.blogspot.com/2009/11/calling-soa-suite-direct-binding.html?showComment=1285198033913#comment-c1055322845511794252
    My question is:
    1) what are the choices and the official/best way to invoke a bpel process in oracle soa/bpm 11g from java?
    2) does user need to add an adapter/binding in exposed service lane in order to let the bpel service be called in java?
    3) what is the real difference between a bpm application and soa application in 11g?
    I will really appreciate any expert's opinion.
    Thanks,
    Bin

    Thanks for your reply and confirmation, really appreciate it.
    Yes, I found the difference of the invoking process API and was able to invoke bpel process using direct and ADF-BC binding by following Edwin's blog. But I have not found any official reference to compare this API difference between 10g and 11g ( I will mark this question as answered if anyone can find an official source from oracle, need to prove it to the team). The API to work with human task workflow seems pretty much the same between 10g and 11g.

  • Deploying a BPEL process for testing in JDeveloper

    I'm having issues with consistently being able to make changes to my BPEL flow and being able to deploy it. I strongly suspect there has to be a better way than what I am doing and I'm hoping the good folks of this forum can give me some pointers.
    Here's what I'm doing now that works most of the time:
    1. Test my web service in the development environment (right-mouse Test Web Service). I believe this starts up the OC4J server and allows my references in my BPEL specification to be validated.
    2. Make my changes, rebuild, and verify no warnings or errors.
    3. View Application Servers, select my BPEL service, stop and undeploy it.
    4. Deploy my BPEL project to SAR file.
    5. Deploy my BPEL project to BundledOC4JServer.
    6. Go back to Applications Servers, refresh it (which has its own challenges) and stop and undeploy my BPEL service again.
    6. Stop the servers launched when I asked to test my web service.
    7. Test my web service again - which relaunches my OC4J server.
    8. Go back to Application Servers and refresh to see my hopefully updated BPEL application.
    9. Launch the SOA Console in Internet Explorer. This should show my BPEL application. If I don't do step 8, it typically doesn't ...
    10. Do some action that causes my BPEL application to initiate.
    11. Refresh the SOA Console to see the process that resulted. Drill into it to see the results. Usually, but not always, this reflects my changes. Sometimes it only shows an entry for the process that I can't drill into, and this seems to be correlated with not having the SOA Console running when I initiated my BPEL process.
    So, this is all quite cumbersome and not completely reliable. I'm looking for guidance on how this all should be done!
    Thank you all in advance.

    Hi,
    Did you follow the instructions provided on the wiki?
    http://wiki.open-esb.java.net/Wiki.jsp?page=HttpBcGetInteraction
    Which version of OpenESB are you using?
    It will be more helpful to post your question on the users@openesb mailing list where the relevent developer can answer your question.
    https://open-esb.dev.java.net/MailingLists.html
    rgds
    Jason

  • Issue about Invoking a BPEL Process with the Generic Java API

    I Invoking a BPEL Process with the Generic Java API and apache axis or axis2
    it turn up a error as follow:
    org.apache.axis2.AxisFault: ORABPEL-08021
    Cannot find partner wsdl.
    parnterLink "BPELProcess1" is not found in process "BPELProcess1" (revision "v2008_11_17__38943").
    Please check the deployment descriptor of the process to find the correct partnerLink name.
         at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:512)
         at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:370)
         at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416)
         at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
         at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
         at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:548)
         at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528)
         at wf.Test_axis2_callws.main(Test_axis2_callws.java:41)
    i can't solve it !
    what's problem ???
    anyone use java code to invoke bpel process successfully..can show me some example?
    thanks
    chan

    Hi,
    Check below link may help you solve your problem.
    http://www.activevos.com/cec/samples/content/sample-invoke/doc/index.html
    Regards

  • How to pass a document as an attachment to a BPEL process?

    Hi Guys,
    Currently I have a BPEL process that get's invoked from a JSP page with some scriplets in it. The following bit of code calls the BPEL process in the JSP scriplet:
    try{       
    String givenNames = request.getParameter("givenNames");
    String sex = request.getParameter("sex");
    String title = request.getParameter("title");
    String staffMemberInd = request.getParameter("staffMemberInd");
    String deceasedInd = request.getParameter("deceasedInd");
    String archiveExclusionInd = request.getParameter("archiveExclusionInd");
    String archiveDt = request.getParameter("archiveDt");
    String purgeExclusionInd = request.getParameter("purgeExclusionInd");
    String purgeDt = request.getParameter("purgeDt");
    String birthDt = request.getParameter("birthDt");
    String salutation = request.getParameter("salutation");
    String preferredGivenName = request.getParameter("preferredGivenName");
    String emailAddr = request.getParameter("emailAddr");
    String autoEnableInd = request.getParameter("autoEnableInd");
    String xml = "<AddUserProcessRequest xmlns=\"http://xmlns.oracle.com/callistaAddUser\">"
    +"<surname>"+surname+"</surname>"
    +"<givenNames>"+givenNames+"</givenNames>"
    +"<sex>"+sex+"</sex>"
    +"<title>"+title+"</title>"
    +"<staffMemberInd>"+staffMemberInd+"</staffMemberInd>"
    +"<deceasedInd>"+deceasedInd+"</deceasedInd>"
    +"<archiveExclusionInd>"+archiveExclusionInd+"</archiveExclusionInd>"
    +"<archiveDt>"+archiveDt+"</archiveDt>"
    +"<purgeExclusionInd>"+purgeExclusionInd+"</purgeExclusionInd>"
    +"<purgeDt>"+purgeDt+"</purgeDt>"
    +"<birthDt>"+birthDt+"</birthDt>"
    +"<salutation>"+salutation+"</salutation>"
    +"<preferredGivenName>"+preferredGivenName+"</preferredGivenName>"
    +"<emailAddr>"+emailAddr+"</emailAddr>"
    +"<autoEnableInd>"+autoEnableInd+"</autoEnableInd>"
    +"</AddUserProcessRequest>";
    Locator locator = new Locator("default","bpel");
    IDeliveryService deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME);
    // construct the normalized message and send to Oracle BPEL Process Manager
    NormalizedMessage nm = new NormalizedMessage( );
    nm.addPart("payload" , xml );
    NormalizedMessage res = deliveryService.request("AddUser", "process", nm);
    Map payload = res.getPayload();
    Element partEl = (Element) payload.get("payload");
    In my BPEL process I have a human task that I want to attach a document (WORD, PDF etc) to.
    My question is, how can I attach and pass a document as an input parameter to my BPEL process? and what kind of element do I need to create in the XSD file to hold the attached document?
    Any help with this is greatly appreciated.
    Thanks.
    Edited by: user9972209 on Aug 31, 2008 10:57 PM

    In our application, an attachment surfaces in the middle of the lifecycle, but not from the start.
    We were using the following to accommodate the attachment as the part of the payload ...
    <xsd:element name="AttachementMimeType" type="xsd:string"/>
    <xsd:element name="AttachmentMIMEStream" type="xsd:string"/>
    Hope this helps.

  • Two FTPAdapters triggers one BPEL-Process in Cluster

    I have defined two ftp-adapters getting two different csv-files (different file structures) of the ftp-server. These ftp-adapters triggering a bpel-process starting with a pick-activity containing two onmessage-branches. In the first onmessage-branch there is a transformation transforming format A into a common format. In the second onmessage-branch there is a transformation transforming format B into a common format. With this common format some other actions are processed (not relevant for this problem).
    Because i have a clustered environment (cluster of two soa-suite installations 10.1.3.1) i want only one clusternode triggering my bpel-process. so i set the property clusterGroupId of the activationAgent inside of the bpel.xml. Because i have two triggering ftp-adapters i defined two different clusterGroupIds to prevent to have a influence between this two ftp-adapters.
    The problem is that the application-server now is logging every second the following warning and i don't know if this is a problem or not. both ftp-adapter works fine but i think it will not work in cluster.
    WARNING: discarded message from different group "unbarring_group" (our group is "barring_group"). Sender was10.32.7.156:16325
    Jun 26, 2007 2:05:39 PM org.collaxa.thirdparty.jgroups.protocols.TP handleIncomingMessage
    WARNING: discarded message from different group "unbarring_group" (our group is "barring_group"). Sender was10.32.7.156:16325
    Jun 26, 2007 2:05:40 PM org.collaxa.thirdparty.jgroups.protocols.TP handleIncomingMessage
    WARNING: discarded message from different group "barring_group" (our group is "unbarring_group"). Sender was10.32.7.156:16321
    Jun 26, 2007 2:05:41 PM org.collaxa.thirdparty.jgroups.protocols.TP handleIncomingMessage
    WARNING: discarded message from different group "barring_group" (our group is "unbarring_group"). Sender was10.32.7.156:16321
    Jun 26, 2007 2:05:43 PM org.collaxa.thirdparty.jgroups.protocols.TP handleIncomingMessage
    WARNING: discarded message from different group "barring_group" (our group is "unbarring_group"). Sender was10.32.7.156:16321
    Jun 26, 2007 2:05:43 PM org.collaxa.thirdparty.jgroups.protocols.TP handleIncomingMessage
    WARNING: discarded message from different group "barring_group" (our group is "unbarring_group"). Sender was10.32.7.156:16321
    Jun 26, 2007 2:05:48 PM org.collaxa.thirdparty.jgroups.protocols.TP handleIncomingMessage
    WARNING: discarded message from different group "unbarring_group" (our group is "barring_group"). Sender was10.32.7.156:16325
    Jun 26, 2007 2:05:49 PM org.collaxa.thirdparty.jgroups.protocols.TP handleIncomingMessage
    I have also tried to use only one clusterGroupId but if i do so only one ftp-adapter is initiating my bpel-process. so why does this usecase does not work with using one clusterGroupId???
    bpel.xml
    <BPELSuitcase>
    <BPELProcess id="Service_Barring_TAS" src="Service_Barring_TAS.bpel">
    <partnerLinkBindings>
    <partnerLinkBinding name="ReadBarringFiles">
    <property name="wsdlLocation">ReadBarringFiles.wsdl</property>
    </partnerLinkBinding>
    <partnerLinkBinding name="ReadUnbarringFiles">
    <property name="wsdlLocation">ReadUnbarringFiles.wsdl</property>
    </partnerLinkBinding>
    </partnerLinkBindings>
    <activationAgents>
    <activationAgent className="oracle.tip.adapter.fw.agent.jca.JCAActivationAgent" partnerLink="ReadBarringFiles">
    <property name="clusterGroupId">barring_group</property>
    <property name="FileInputDirBarring" type="LogicalDirectory">/Mahnung/bar</property>
    <property name="portType">Get_ptt</property>
    </activationAgent>
    <activationAgent className="oracle.tip.adapter.fw.agent.jca.JCAActivationAgent" partnerLink="ReadUnbarringFiles">
    <property name="clusterGroupId">unbarring_group</property>
    <property name="FileInputDirUnbarring" type="LogicalDirectory">/Mahnung/unbar</property>
    <property name="portType">Get_ptt</property>
    </activationAgent>
    </activationAgents>
    </BPELProcess>
    </BPELSuitcase>
    Message was edited by:
    harald.reinmueller

    Hi,
    I am also seeing the same warn messages. And on our production we got OutOfMemory exception. Is there any setup we need to change to get rid of this error message? did you get the solution?
    11/09/08 10:12:25 Exception in thread "MERGE2.FindSubgroups thread" java.lang.OutOfMemoryError: Failed to create a thread: retVal -1073741830, errno 11
    11/09/08 10:12:25 at java.lang.Thread.startImpl(Native Method)
    11/09/08 10:12:25 at java.lang.Thread.start(Thread.java:979)
    11/09/08 10:12:25 at org.collaxa.thirdparty.jgroups.protocols.PingWaiter.start(PingWaiter.java:51)
    11/09/08 10:12:25 at org.collaxa.thirdparty.jgroups.protocols.Discovery.down(Discovery.java:303)
    11/09/08 10:12:25 at org.collaxa.thirdparty.jgroups.stack.Protocol.receiveDownEvent(Protocol.java:517)
    11/09/08 10:12:25 at org.collaxa.thirdparty.jgroups.stack.Protocol.passDown(Protocol.java:551)
    11/09/08 10:12:25 at org.collaxa.thirdparty.jgroups.protocols.MERGE2$FindSubgroups.findInitialMembers(MERGE2.java:305)
    11/09/08 10:12:25 at org.collaxa.thirdparty.jgroups.protocols.MERGE2$FindSubgroups.run(MERGE2.java:263)
    11/09/08 10:12:25 at java.lang.Thread.run(Thread.java:810)
    11/09/08 10:13:35 java.lang.OutOfMemoryError: Failed to create a thread: retVal -1073741830, errno 11
    11/09/08 10:13:35 at java.lang.Thread.startImpl(Native Method)
    11/09/08 10:13:35 at java.lang.Thread.start(Thread.java:979)
    11/09/08 10:13:35 at com.evermind.util.ReleasableResourcePooledExecutor.addThread(ReleasableResourcePooledExecutor.java:236)
    11/09/08 10:13:35 at EDU.oswego.cs.dl.util.concurrent.PooledExecutor.execute(PooledExecutor.java:997)
    11/09/08 10:13:35 at com.evermind.util.ThreadPool.launch(ThreadPool.java:283)
    11/09/08 10:13:35 at com.evermind.server.rmi.RMIServerConnection.startConnection(RMIServerConnection.java:141)
    11/09/08 10:13:35 at com.evermind.server.rmi.RMIServer.createRMIServerConnection(RMIServer.java:812)
    11/09/08 10:13:35 at com.evermind.server.rmi.RMIServer.connect(RMIServer.java:805)
    11/09/08 10:13:35 at com.evermind.serv

  • BPEL Process with complex Business logic

    Hi,
    So far my knowledge,complex business logic can be implemented by different way in bpel process.
    1. Business rule
    2. ejb with java callout
    3.ADF BC as servcie
    Can anybody please suggest which approach do I need to follow,what are the pros and cons of each one,and best practices to use when and where?
    Thanx in advance.-Aswini

    Hi
    In addition to what Naresh already mentioned, you can consider these points also.
    1. If your process is complex, see if some part of the process can be common across and it can run by itself. Then you can use SubProcess concepts also. Say for example, if process involves credit card processing, it can be in a sub-process and you can call it in the main process. Like that any common approval flows can be put in a separate sub-process.
    2. I would discourage using Java invocations if possible as they have some limitations and you can use reasonable amout of code in invoking java code within the bpel process. If you have lots of validations to do on a bpel process, you can consider using CallBackHandlers and do the validation on a task assignment, submission or any task action in general.
    3. Business Rules can be used to control the actual flow of the process itself. Based on busiiness rule, you can decide if a set of tasks needs to be included or not in the approval flow. This is in addtion to the actual data that controls the business rules, that can be changed dynamically without the code change to core bpel process.
    Which version of SOA are you using or plan to use. I would recommend the latest version SOA 11.5 + Feature Pack applied.

  • Date format in BPEL process

    Hi,
    I have a requirement where in the webservice I invoke takes in date in the format 'YYYY-MM-DDTHH:MM:SSZ'. To do this I am taking the current date into say variable_1 ( xp20:current-dateTime() ). which gives me date as _2009-04-02T08:49:04-08:00_ but the actual time is _2009-04-02T09:49:04-08:00_ . This is because of the daylight saving I guess. So for this to give me correct date and time I have embedded java code which takes in the dateTime and gives me the XSD date. The code goes like this
    String xsdDateString = (String)getVariableData("Variable_3");
    addAuditTrailEntry("Output: " + xsdDateString);
    try{
    if (xsdDateString != null || xsdDateString.trim().length() != 0) {
                   javax.xml.datatype.DatatypeFactory factory=null;
                   try {
              factory = javax.xml.datatype.DatatypeFactory.newInstance();
              } catch (javax.xml.datatype.DatatypeConfigurationException e) {
              addAuditTrailEntry("exception: " + e);
              javax.xml.datatype.XMLGregorianCalendar xmlCal = factory.newXMLGregorianCalendar(xsdDateString);
              java.util.GregorianCalendar cal = xmlCal.toGregorianCalendar();
              java.util.Date date = cal.getTime();
              java.text.DateFormat FORMAT = new java.text.SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
                   addAuditTrailEntry("date: " + date);
    setVariableData("Variable_3",FORMAT.format(date)+"Z");
    }catch(Exception e){
    addAuditTrailEntry("exception: " + e);
    This when tested thru java works perfectly correct. I mean when I give the date string as _2009-04-02T08:49:04-08:00_ returns me back _2009-04-02T09:49:04-08:00_. But the same code embedded into BPEL process does not return me the expetced date .It still gives me _2009-04-02T08:49:04-08:00_.
    Did some one come across this . Or can some one help me with this.
    Edited by: user3622266 on Apr 2, 2009 10:04 AM

    All,
    Update on this issue! I had the same issue and the timestamp was logged 1 hr ahead of time in the database tables while using the xp20:current-dateTime() function. However, when I resorted to ora:getCurrentDateTime() BPEL XPath extension function, this issue was resolved and the actual timestamp was logged as expected. I guess, instead of going in for a Java Embedding activity to extract the exact timestamp, we can use the BPEL extension functions to resolve this issue. Also the only difference I could find between these two functions is the timezone value that comes additionally with the xp20:current-dateTime() version.
    Note: I am using SOA Suite 10.1.3.3 which comes bundled with default JDK version 1.5.0_06.
    Thanks!

  • Error compiling BPEL process

    Hi Gurus,
    I have created a simple BPEL process that invokes a webservice through a partner link.When I tried to compile the process , it fails and the error I get is as follows
    Error: Open quote is expected for attribute "language" associated with an element type "script".
    I have checked the source code of my BPEL process (TestSOAProject.bpel) & WSDL (TestSOAProject.wsdl).But I do not see any language attribute in these files.
    Please let me know , where I am going wrong.
    Thanks in advance,
    Prasanna

    I suspect that your webservice's WSDL used in partnerlink is somehow broken. Because seeing "language" and "script" remains me to javascript stuff in HTML page like this
    <script language="JavaScript" type="text/javascript" src="utils.js"></script>
    Try to focus on that WSDL file.

Maybe you are looking for

  • Forefox will not run due to error message '500 Internal Server Error'

    10 days ago the PC had to have its OS reinstalled on Dell's instructions. All other applications we use have been loaded but both Firefox and IE were runing slowly. we uninstalled firefox and reinstalled it - made no difference to speed. Then it star

  • How can I force Mail to ask me to choose outgoing server each time I send an email?

    I work for 3 different companies and I have 3 different mail accounts in my Mail for each of them. It happens to me very often that my email is sent from the wrong account, causing me a lot of trouble. This is of course my human mistake, but I want t

  • Lenovo G570 running slow on Ethernet

    We have bought 3 G570's laptops and all 3 are having the same issue.  They were all having issues, so I rebuilt them from scratch with Windows 7 Home Prem and then upgraded to Windows 7 Pro 64 bit. After rebuilding them they were all still having the

  • Return FG material bom to get update automatically

    Dear All, This is my requirement how to address this one. I am making one FG eg Bumper (Used in Car Industry) suppose i am delivering 100 nos of FG to customers and afterwards from 100 piece 10 nos return to me by customer for dameged or any other re

  • Tunneling and problem with unknown host exception

    hello! i've got a problem with https. i use jdk 1.5.0, jboss-4.0.4.ga-patch1, soap. and i'm going crasy.. i've testet my client code at our network and it works fine. but if i want to get jobs from the server of our customer, my client throw an "unkn