Expose bpel process

Hi all,
I have a bpel process in weblogic server and it function ok.
Now I want expose this process as web services.
I have web server Apache / Tomcat with Spring and I will continue to have this architecture.
How do it?
Thanks,
Dario
I have try with web service proxy from wsdl of bpel process, but nothing.

what's wrong with the generated proxy code?
if it generates ok and you can do a call to the bpel process by doing a test call in one of those generated java classes you should be able to reuse the code in your spring framework

Similar Messages

  • How to expose BPEL process to Apache/Tomcat?

    Hi all,
    I have BPEL process in web logic server.
    Now, I want expose this process in Tomcat as Web Service. How do I?
    Thank you for your help!!!!
    Best Regards,
    Dario

    Hi Dario,
    If you want to interact with the BPEL process from Java code in general, you might find these helpful:
    http://soablogger.blogspot.com/2008/03/tips-on-oracle-bpel-java-api-part-2.html
    In 11g, using Composite as the starting point, you might be able to get hold of your BPEL process in it:
    http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10226/soaadmin_apimanage.htm
    http://download.oracle.com/docs/cd/E14571_01/apirefs.1111/e10659/toc.htm
    Are you trying to avoid making web service calls to the BPEL instance on Weblogic?
    By definition, you might just have to do that (or at least Remote EJB calls), since your BPEL instance is on a remote server.
    There's nothing to stop you from calling the BPEL endpoint service from your tomcat client and then exposing the client itself as a web service.
    It depends on what triggers an instance of your process - it could be a JMS message in which case, your client would then put a message in a queue.
    Hope this helps.
    Jang Vijay Singh

  • How to make BPEL process to be exposed via java binding?

    How to make a BPEL process itself to be exposed via java binding?

    You can using WSIF. There are a few doc on the internet that explain this here are a few to get you started.
    http://www.oracle.com/technology/pub/articles/bpel_cookbook/juric.html
    http://download.oracle.com/docs/cd/B31017_01/integrate.1013/b28981/java.htm
    cheers
    James

  • Not able to get the data from synchronous Webservice To BPEL process

    Hi All,
    My requirement is : Third party has some webservice.They are pushing data to that Webservice(Wsdl).
    Third part WSDL example : http://ipaddress:port/name/Service.svc?wsdl ( This is just example format of their WSDL)
    After that I need to get that data into my BPEL process and update my system.
    When I built My Snchronous BPEL process I imported third party WSDL(http://ipaddress:port/name/Service.svc?wsdl) through 'import WSDL' in dialog.After that I automatically got the (request and response schema elements) parameters from that WSDL.I gave input and output of the BPEL process from those elements.
    I pasted that third party URL iin SOAPUI and I got their operations and schemas.Based on that I had choosen the elements for 'input' and 'output' of the BPEL processes.I am also getting the schema structures in 'Assign' or 'Transform' activity.
    I built the whole process.
    I have the Process.
    Now Client is pushing data to their WSDL(http://ipaddress:port/name/Service.svc?wsdl) as it is their data pushing interface.But that data is not coming to my BPEL process and instance is not being created in EM console.
    As I have imported their WSDL into my BPEL process,I need to get the data.But I am not getting the data.
    Is there any problem in MY BPEL process?
    (or)
    DO I need to use 'Webservice' Adapter in 'Exposed Services' Swimlane in Composite Editor to have the third party URL, so that they Can push the data to that WSDL in turn that data comes into my BPEL process?
    Can anybody help me this case?
    once again my requirement is :
    Client pushes the data through their WSDL url -----> I need to get that data into MY BPEL process --> I have my own WSDl to take that details into my system.

    I will explain the requirement in small paragraph:
    There are two applications.One is our application(X) and another one is third party application(Y).
    I need to update in my application(X) based on data coming from application(Y).
    I am using SOA as a middle tier to have communication between Y and X.
    (Ex: if they send some info like event type 'event1' from Y ,I need to update that 'event1' data in my X application)
    The work at third party application is :
    According their info,They will push data from their end to their WSDL( http://ipaddress:port/name/Service.svc?wsdl ).
    They are telling they can only send the data to their WSDL( http://ipaddress:port/name/Service.svc?wsdl ).
    They will not consume our BPEL process(I think they might be wrong at this point of time).They have one WSDL to send or push the data from their end.
    The work at from our side(SOA & X application)
    From that point ,our BPEL process has to receive that data and update that data into my application(X).
    I hope You understand my requirement.
    Can you guide me through how to achieve this task as they are telling they have to use their WSDL to push the data?
    (or)
    Do I need to take 'Webservice' adapter into Exposed Services Swimlane in Jdeveloper to have their webservice(third party WSDL),If it is So Can you tell me the details how to take 'input' and 'output' for BPEL process?
    (or)
    Can YOu suggest me to talk to them to consume my BPEL process directly?
    Thanks
    Edited by: 899283 on Aug 17, 2012 4:55 AM

  • Calling Receive activity in mid of BPEL process

    HI,
    I have a requirement where i need to read data from XML file and store into Database.
    I am using File Adapter and Data base adapter for this purpose. I am able to do this operation by having one Receive activity (To read file) and one Invoke activity (To write on to DB). whenever I deploy process an instance will be created. but i do not get test URL.
    I tried to call receive activity inside BPEL process which has no input. This gives me test URL. but Receive activity to read file is not getting initiated. it'll be pending.
    How to solve this ?
    Thanks.

    Hi,
    First thing you need to decide is, how you want your BPEL to start, do you want that to start by calling it (this means you need to expose it as a web service) or start it whenever a file is available (file adapter will be a service and you are doing polling here). So, if you are doing the second thing, for that composite in the EM console, there will be no test button, because it is not exposed as a webservice. If you do like this, there will be a receive activity inside the BPEL (first activity in BPEL). If you want your BPEL to start whenever a file is available as well as exposed as a web service, you need ot define the BPEL based on the WSDL of file adapter service as well as exposing it a sa web service. If you do this, you need to keep the on Message activity inside your BPEL and design your flow accordingly. and in file adapter, you also have an option of reading the file outbound (synchronous read operation), but this doesn't solve your purpose i guess...
    Let me know...
    Thanks,
    N

  • Development and Deployment of BPEL processes in ALBPM 6.0

    All,
    I tried to develop a simple BPEL 2.0 process in ALBPM 6.0 and noticed that the tool does not generate an endpoint automatically to expose the BPEL as a web service. I had to create my own bidning and the service interface to get rid of a bunch of compile errors. I typed my address for the BPEL manually as 'http://localhost:9000/bpel'. I reloaded the server, but could not find a service at this address.
    What are the correct steps of creating a BPEL process so that it deploys correctly and can be called externally as a web service?
    Any help is very much appreciated. Thanks in advance!

    Ok. The WSDL actually published, but when I tried to invoke it from ALBPM process on another engine I got this error:
    Caused by: java.lang.AssertionError: Could not retrieve name
    at fuego.soaptype.SoapCall.initCallArguments(SoapCall.java:172)
    at fuego.soaptype.SoapCall.<init>(SoapCall.java:94)
    etc...
    What is the correct process for generating WSDLs for BPEL processes with ALBPM 6.0? Can WSDL location address be generated automatically? What does "Could not retrieve name" error relate to?

  • Using Java Embedding Unzip Code and a Trigger File in a BPEL Process

    Hello,
    Thanks in advance to anyone that contributes with any insight.  It is much appreciated.  Having said that I will get to the crux of my problem.
    I am currently using Oracle 11g.  I have created a SOA composite application that incorporates BPEL and Java.  I have the code needed to unzip and extract compressed folders.  However, when this was first built out using BPEL it automatically created a web service in the "exposed service" lane and not a file adapter which I believe is needed in order to trigger the process via a start.txt file for example.  Based on what I know ... this web service automatically connecting to the BPEL process was simply due to the order of operations, etc.  So by creating a 'read' file adapter first and then creating the BPEL process and selecting the template "Define Service Later", it does not automatcially connect the web service to the BPEL process and it will allow me to connect a file adapter to this BPEL process instead ... great.  When opening up the BPEL file I then connect a recieve component to this file adapter and configure appropriately.
    Essentially, my objective in setting up a trigger to start this unzip process is due to the BPEL process before that outputs or writes the .zip folder to the same directory that I want to poll and/or trigger via a start.txt file.  I can get this process to work with a webservice connecting to the BPEL process and by using a Java Embedded in BPEL file, which in turns calls the package/ class that has the java code needed to unzip.
    For some reason whenever I try to use a file adapter instead of the native web service that gets created (as mentioned above) it doesn't work.  It seems to build or compile just fine however, I am getting errors when I try to deploy.
    Note:  The Java code contains all the paths where the zip file is to be taken from and extracted to.  So because this is in the code I don't need the file adapter to handle this.  I just want to use the file adapter so that I can trigger the process via start.txt or something of that nature.
    Thanks to anyone that has any suggestions.
    Kind Regards,
    Kevin
    Errors when attempting to deploy are as follows:
    [04:12:54 PM] Error deploying archive sca_Job2_UnZip_rev1.0.jar to partition "default" on server soa_server1 [http://WN017A.homedepot.com:8001]
    [04:12:54 PM] HTTP error code returned [500]
    [04:12:54 PM] Error message from server:
    There was an error deploying the composite on soa_server1: Deployment Failed: Error occurred during deployment of component: BPELProcess1 to service engine: implementation.bpel, for composite: Job2_UnZip: ORABPEL-05250
    Error deploying BPEL suitcase.
    error while attempting to deploy the BPEL component file "H:\Oracle\Middleware\user_projects\domains\Dev_Acorde\servers\soa_server1\dc\soa_d78eb301-314c-422a-a748-bcfe7d0906e8"; the exception reported is: java.lang.RuntimeException: failed to compile execlets of BPELProcess1
    This error contained an exception thrown by the underlying deployment module.
    Verify the exception trace in the log (with logging level set to debug mode).
    [04:12:54 PM] Check server log for more details.
    [04:12:54 PM] Error deploying archive sca_Job2_UnZip_rev1.0.jar to partition "default" on server soa_server1 [http://WN017A.homedepot.com:8001]
    [04:12:54 PM] ####  Deployment incomplete.  ####
    [04:12:54 PM] Error deploying archive file:/C:/JDeveloper/mywork/Job2_UnZip/Job2_UnZip/deploy/sca_Job2_UnZip_rev1.0.jar
    (oracle.tip.tools.ide.fabric.deploy.common.SOARemoteDeployer)

    Just wanted to provide a screenshot of the BPEL file as supporting documentation to better illustrate my issue.
    Thanks so much,
    Kevin

  • Calling a BPEL process from EDN

    Hi all,
    I'm in trouble to try to communicate two BPEL process via EDN (Event Delivery Network).
    The example is quite simple:
    TestProcess is a BPEL process which exposes a SOAP service, performs some tasks and wait for an event through a receive activity ( it acts as event subscriber).
    TestProcessEvent is a BPEL process which exposes a second SOAP service that publish the event to EDN ( it acts as event publisher).
    The test I performed is:
    start an instance of TestProcess and verify it is on running state, waiting for the event.
    start an instance of TestProcessEvent and verify if the event is delivered and then verify the instance of TestProcess resumes.
    Unfortunately TestProcessEvent finished but the event isn't propagated to TestProcess that remains running.
    I have also tried using correllation, but in this case the error is:
    ORABPEL-03812
    java.security.PrivilegedActionException: oracle.fabric.common.FabricInvocationException
    Cannot find property alias.
    Cannot find the property alias "{....}"".
    Please check your BPEL/WSDL source to make sure that property alias "{...}" has been defined.
    I suspect that the first issue (event is not propagated by BPEL process) is related to the problem with correlation.
    Any idea?
    Thanks in advance,
    Daniel.

    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

  • How to set input/output "use" attribute in the WSDL file of BPEL process?

    Hello,
    I have a BPEL process that I want to deploy it as an RPC web service. I want to access it from a Java module (via an automatic generated Java stub from the WSDL file exposed by the BPEL process).
    I wrote manually the corresponding WSDL file for my BPEL process, where I stipulated for the operations exposed by my process ( in <soap:binding> tag) the value of the attribute "style" to "rpc". Also, for each <input> and <output> of the operations (inside the <operation> tag), I set manually the attributes "use" to the values "encoded". Something like this:
    <operation name="getCustomers">
    <soap:operation style="rpc" soapAction="getCustomers"/>
    <input>
    <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="Trial"/>
    </input>
    <output>
    <soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="Trial"/>
    </output>
    </operation>
    The issue is that, when the BPEL process is built and deployed, the WSDL file generated automatically by BPEL (based on the one manually writen) set the values of the "use" attributes to "literal". This is what is generated:
    <operation name="getCustomers">
    <soap:operation style="rpc" soapAction="getCustomers" />
    <input>
    <soap:body use="literal" namespace="http://acm.org/samples" />
    </input>
    <output>
    <soap:body use="literal" namespace="http://acm.org/samples" />
    </output>
    </operation>
    Is there any chance to keep the original values (written by hand) for the "use attributes?
    Many thanks in advance!
    Regards,
    Marinel

    I am not sure I understand your question. If you want all your BPEL service to be rpc still by default, you can change the templates: C:\eclipse\plugins\bpelz_0.9.XXX\templates.
    The BPEL PM engine support both style of invocation.
    I hope this helps. -Edwin

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

  • Getting while running the BPEL process from java

    Hi All,
    We are using the following java code to run the BPM process.
    package callBPMProcess;
    import java.util.Hashtable;
    import java.util.UUID;
    import java.util.List;
    import javax.naming.Context;
    import oracle.soa.management.facade.Locator;
    import oracle.soa.management.facade.LocatorFactory;
    import oracle.soa.management.facade.Composite;
    import oracle.soa.management.facade.Service;
    import oracle.soa.management.facade.CompositeInstance;
    import oracle.soa.management.facade.ComponentInstance;
    import oracle.fabric.common.NormalizedMessage;
    import oracle.fabric.common.NormalizedMessageImpl;
    import oracle.soa.management.util.CompositeInstanceFilter;
    import oracle.soa.management.util.ComponentInstanceFilter;
    import java.util.Map;
    import javax.xml.transform.*;
    import javax.xml.transform.dom.*;
    import javax.xml.transform.stream.*;
    import org.w3c.dom.Element;
    import java.io.*;
    public class StartProcess { 
    public StartProcess() { 
    super();
    Hashtable jndiProps = new Hashtable();
    jndiProps.put(Context.PROVIDER_URL, "http://ytytry.4234434.com:7001/soa-infra");
    jndiProps.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
    jndiProps.put(Context.SECURITY_PRINCIPAL, "weblogic");
    jndiProps.put(Context.SECURITY_CREDENTIALS, "funnyj0ke");
    jndiProps.put("dedicated.connection", "true");
    String inputPayload =
    "<process xmlns=\"http://xmlns.oracle.com/HelloWorld/Helloworld/BPELProcess1\">\n" +
    " <input>hello</input>\n" +
    "</process>\n" ;
    Locator locator = null;
    try { 
    // connect to the soa server
    locator = LocatorFactory.createLocator(jndiProps);
    String compositeDN = "default/Helloworld!1.0";
    // find composite
    Composite composite = locator.lookupComposite("default/Helloworld!1.0");
    System.out.println("Got Composite : "+ composite.toString());
    // find exposed service of the composite
    Service service = composite.getService("bpelprocess1_client_ep2");
    System.out.println("Got serviceName : "+ service.toString());
    // make the input request and add this to a operation of the service
    NormalizedMessage input = new NormalizedMessageImpl();
    String uuid = "uuid:" + UUID.randomUUID();
    input.addProperty(NormalizedMessage.PROPERTY_CONVERSATION_ID,uuid);
    // payload is the partname of the process operation
    input.getPayload().put("payload",inputPayload);
    // process is the operation of the employee service
    NormalizedMessage res = null;
    try { 
    res = service.request("process", input);
    } catch(Exception e) { 
    e.printStackTrace();
    Map payload = res.getPayload();
    Element element = (Element)payload.get("payload");
    TransformerFactory tFactory = TransformerFactory.newInstance();
    Transformer transformer = tFactory.newTransformer();
    transformer.setOutputProperty("indent", "yes");
    StringWriter sw = new StringWriter();
    StreamResult result = new StreamResult(sw);
    DOMSource source = new DOMSource(element);
    transformer.transform(source, result);
    System.out.println("Result\n"+sw.toString());
    System.out.println("instances");
    CompositeInstanceFilter filter = new CompositeInstanceFilter();
    filter.setMinCreationDate(new java.util.Date((System.currentTimeMillis() - 2000000)));
    // get composite instances by filter ..
    List<CompositeInstance> obInstances = composite.getInstances(filter);
    // for each of the returned composite instances..
    for (CompositeInstance instance : obInstances) { 
    System.out.println(" DN: " + instance.getCompositeDN() +
    " Instance: " + instance.getId() +
    " creation-date: " + instance.getCreationDate() +
    " state (" + instance.getState() + "): " + getStateAsString(instance.getState())
    // setup a component filter
    ComponentInstanceFilter cInstanceFilter = new ComponentInstanceFilter();
    // get child component instances ..
    List<ComponentInstance> childComponentInstances = instance.getChildComponentInstances(cInstanceFilter);
    // for each child component instance (e.g. a bpel process)
    for (ComponentInstance cInstance : childComponentInstances) { 
    System.out.println(" -> componentinstance: " + cInstance.getComponentName() +
    " type: " + cInstance.getServiceEngine().getEngineType() +
    " state: " +getStateAsString(cInstance.getState()) 
    System.out.println("State: "+cInstance.getNormalizedStateAsString() );
    } catch (Exception e) { 
    e.printStackTrace();
    private String getStateAsString(int state)
    // note that this is dependent on wheter the composite state is captured or not
    if (state == CompositeInstance.STATE_COMPLETED_SUCCESSFULLY)
    return ("success");
    else if (state == CompositeInstance.STATE_FAULTED)
    return ("faulted");
    else if (state == CompositeInstance.STATE_RECOVERY_REQUIRED)
    return ("recovery required");
    else if (state == CompositeInstance.STATE_RUNNING)
    return ("running");
    else if (state == CompositeInstance.STATE_STALE)
    return ("stale");
    else
    return ("unknown");
    public static void main(String[] args) { 
    StartProcess startUnitProcess = new StartProcess();
    But we getting the fallowing error.Can some body help out us.
    SEVERE: Failed to create a DirectConnectionFactory instance (oracle.soa.api.JNDIDirectConnectionFactory): oracle.soa.api.JNDIDirectConnectionFactory
    javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory [Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory]
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
         at javax.naming.InitialContext.init(InitialContext.java:223)
         at javax.naming.InitialContext.<init>(InitialContext.java:197)
         at oracle.soa.management.internal.ejb.EJBLocatorImpl.<init>(EJBLocatorImpl.java:166)
         at oracle.soa.management.facade.LocatorFactory.createLocator(LocatorFactory.java:35)
         at callBPMProcess.StartProcess.<init>(StartProcess.java:53)
         at callBPMProcess.StartProcess.main(StartProcess.java:152)
    Caused by: java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory
         at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:247)
         at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:46)
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)
         ... 7 more
    Process exited with exit code 0.
    Thanks in advanced,
    Narasimha.
    Edited by: parker on Mar 27, 2011 11:55 PM

    Looks like you don't have WebLogic classes on the classpath:
    javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory [Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory]
    Other options for creating an instance are to use a web service call or one of the other adapters (e.g. JMS). If you need to directly start a process you might also look at this blog from the ATeam:
    http://redstack.wordpress.com/worklist/
    The specific example for getting the tasks is at: http://redstack.wordpress.com/2011/03/09/implementing-task-initiation/
    Then the real work of creating an instance from the initiator tasks is at: http://redstack.wordpress.com/2011/03/09/creating-the-domain-layer-for-the-worklist/

  • Question in invoking a bpel process from adf (how to return a table)

    hi all,
    i have developed a bpel process that checks customer name and if the customer name is valid , it will go to query a table of product and send this data to the client (jsf)
    In my bpel process ,there are two services
    1. Getcustomer service--> this service is developed by java web services that checks if the customername ='john' and it will return true and then query the product deta
    2. Product serverice--> this service is developed using entity ejb class first and then created sesssion bean , exposing this seesion bean as a ejb web serive that can query a product table in the database.
    In the syschronous process
    1. receive input (customer name)
    2. assigncustomer
    3. invoke_customer-->if =john----> Getcustomer service
    4. switch---->if true--->
    5. invoke_product ---> product service that can return a table of product detail
    6. assignproductdetail
    7. replyoutput to the client ( i could see the result of the detail of product on the bpel control , it seemed fine)
    i could deploy this bpel process sucessfully without errors and i copied the wsdl of this bpel process
    8. i created an adf application and put this wsdl link into the web service control that i created so that i could see the data control
    However,
    Under the data control tab......
    product------>(data control)
    process(string)...operation
    parameters
    ----input
    <----String (result)
    the question is did i create the wrong bpel process because the result that return is String why when the bpel process is mapped into data control it looked like this.
    why i can not see any collection of product or any parameter of product could anyone give me some advices???
    Therefore when i developed jsf page i fill the input value customer name -- and it returned nothing......please help i would highly appreicated.
    datacontrol.xml file
    <?xml version="1.0" encoding="UTF-8" ?>
    <pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel"
    version="10.1.3.39.84" id="untitled1PageDef"
    Package="oracle.view.pageDefs">
    <parameters/>
    <executables>
    <variableIterator id="variables">
    <variable Type="java.lang.String" Name="process_input"
    IsQueriable="false"/>
    <variable Type="java.lang.String" Name="process_Return"
    IsQueriable="false" IsUpdateable="0"
    DefaultValue="${bindings.process.result}"/>
    </variableIterator>
    </executables>
    <bindings>
    <methodAction id="process" MethodName="process" RequiresUpdateModel="true"
    Action="999" IsViewObjectMethod="false"
    DataControl="product_customer" InstanceName="product_customer"
    ReturnName="product_customer.methodResults.product_customer_process_result">
    <NamedData NDName="input" NDType="java.lang.String"
    NDValue="${bindings.process_input}"/>
    </methodAction>
    <attributeValues id="input" IterBinding="variables">
    <AttrNames>
    <Item Value="process_input"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="process1" IterBinding="variables">
    <AttrNames>
    <Item Value="process_Return"/>
    </AttrNames>
    </attributeValues>
    </bindings>
    </pageDefinition>
    <?xml version="1.0" encoding="UTF-8" ?>
    <JavaBean xmlns="http://xmlns.oracle.com/adfm/beanmodel" version="10.1.3.39.84"
    id="product_customer" BeanClass="product_customer"
    isJavaBased="false">
    <MethodAccessor IsCollection="false" Type="java.lang.String" id="process"
    ReturnNodeName="Return">
    <ParameterInfo id="input" Type="java.lang.String" isStructured="false"/>
    </MethodAccessor>
    </JavaBean>

    hi, i just can not post the long information...test
    ProductSession.wsdl
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://oracle/" name="ProductSessionWebServiceService" targetNamespace="http://oracle/">
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://oracle/" elementFormDefault="qualified">
    <complexType name="Product">
    <sequence>
    <element name="brand" type="string" nillable="true"/>
    <element name="price" type="float" nillable="true"/>
    <element name="description" type="string" nillable="true"/>
    <element name="category" type="string" nillable="true"/>
    <element name="name" type="string" nillable="true"/>
    <element name="prodid" type="long" nillable="true"/>
    </sequence>
    </complexType>
    <element name="mergeEntity" type="tns:mergeEntity"/>
    <complexType name="mergeEntity">
    <sequence>
    <element name="Object_1" type="anyType" nillable="true"/>
    </sequence>
    </complexType>
    <element name="mergeEntityResponse" type="tns:mergeEntityResponse"/>
    <complexType name="mergeEntityResponse">
    <sequence>
    <element name="return" type="anyType" nillable="true"/>
    </sequence>
    </complexType>
    <element name="persistEntity" type="tns:persistEntity"/>
    <complexType name="persistEntity">
    <sequence>
    <element name="Object_1" type="anyType" nillable="true"/>
    </sequence>
    </complexType>
    <element name="persistEntityResponse" type="tns:persistEntityResponse"/>
    <complexType name="persistEntityResponse">
    <sequence>
    <element name="return" type="anyType" nillable="true"/>
    </sequence>
    </complexType>
    <element name="queryProductFindAll" type="tns:queryProductFindAll"/>
    <complexType name="queryProductFindAll">
    <sequence/>
    </complexType>
    <element name="queryProductFindAllResponse" type="tns:queryProductFindAllResponse"/>
    <complexType name="queryProductFindAllResponse">
    <sequence>
    <element name="return" type="tns:ListOfProduct" nillable="true"/>
    </sequence>
    </complexType>
    <complexType name="ListOfProduct">
    <sequence>
    <element name="item" type="tns:Product" minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
    </complexType>
    <element name="removeProduct" type="tns:removeProduct"/>
    <complexType name="removeProduct">
    <sequence>
    <element name="Product_1" type="tns:Product" nillable="true"/>
    </sequence>
    </complexType>
    <element name="removeProductResponse" type="tns:removeProductResponse"/>
    <complexType name="removeProductResponse">
    <sequence/>
    </complexType>
    </schema>
    </types>
    <message name="ProductSessionWebService_mergeEntity">
    <part name="parameters" element="tns:mergeEntity"/>
    </message>
    <message name="ProductSessionWebService_mergeEntityResponse">
    <part name="parameters" element="tns:mergeEntityResponse"/>
    </message>
    <message name="ProductSessionWebService_persistEntity">
    <part name="parameters" element="tns:persistEntity"/>
    </message>
    <message name="ProductSessionWebService_persistEntityResponse">
    <part name="parameters" element="tns:persistEntityResponse"/>
    </message>
    <message name="ProductSessionWebService_queryProductFindAll">
    <part name="parameters" element="tns:queryProductFindAll"/>
    </message>
    <message name="ProductSessionWebService_queryProductFindAllResponse">
    <part name="parameters" element="tns:queryProductFindAllResponse"/>
    </message>
    <message name="ProductSessionWebService_removeProduct">
    <part name="parameters" element="tns:removeProduct"/>
    </message>
    <message name="ProductSessionWebService_removeProductResponse">
    <part name="parameters" element="tns:removeProductResponse"/>
    </message>
    <portType name="ProductSessionWebService">
    <operation name="mergeEntity">
    <input message="tns:ProductSessionWebService_mergeEntity"/>
    <output message="tns:ProductSessionWebService_mergeEntityResponse"/>
    </operation>
    <operation name="persistEntity">
    <input message="tns:ProductSessionWebService_persistEntity"/>
    <output message="tns:ProductSessionWebService_persistEntityResponse"/>
    </operation>
    <operation name="queryProductFindAll">
    <input message="tns:ProductSessionWebService_queryProductFindAll"/>
    <output message="tns:ProductSessionWebService_queryProductFindAllResponse"/>
    </operation>
    <operation name="removeProduct">
    <input message="tns:ProductSessionWebService_removeProduct"/>
    <output message="tns:ProductSessionWebService_removeProductResponse"/>
    </operation>
    </portType>
    <binding name="ProductSessionWebServiceSoapHttp" type="tns:ProductSessionWebService">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="mergeEntity">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="persistEntity">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="queryProductFindAll">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="removeProduct">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    </binding>
    <service name="ProductSessionWebServiceService">
    <port name="ProductSession" binding="tns:ProductSessionWebServiceSoapHttp">
    <soap:address location="http://home-f045512354:8888/testproduct/ProductSession"/>
    </port>
    </service>
    </definitions>

  • Issue with Deploying and calling a BPEL process on ALBPM enterprise server

    Hi,
    I am trying to put in place a POC using Aqualogic BEA products (using ALBPM 5.7, Enterprise Server 5.7, ALSB 2.6, Weblogic App server 9.2). My goal is to put in place a simple BPEL process (using ALBPM) which would call a webservice exposed through ALSB. This BPEL process is initiated by a wrapper BPMN process calling the BPEL process through fuego code.
    Though we are able to do the above on a standalone ALBPM studio, When we try to deploy the exported BPM project on the enterprise server and access it through the hiper workspace portal we are getting the following error in the BPM Process Administrator Log of the Engine.
    A component failed while executing activity '/Process#Default-1.0/Global' (BP-method Global). Details: The task could not be successfully executed. Reason: 'fuego.connector.ConnectorException: The configuration name [ProcessService] and type [Web Service] is not defined. Detail:The connector must be configured in the appropiate context. '. Caused by: The configuration name [ProcessService] and type [Web Service] is not defined. Detail:The connector must be configured in the appropiate context. fuego.lang.ComponentExecutionException: The task could not be successfully executed. Reason: 'fuego.connector.ConnectorException: The configuration name [ProcessService] and type [Web Service] is not defined. Detail:The connector must be configured in the appropiate context. '. at fuego.server.execution.EngineExecutionContext.invokeMethodAsCil(EngineExecutionContext.java:916) at fuego.server.execution.EngineExecutionContext.runCil(EngineExecutionContext.java:1068) at fuego.server.execution.TaskExecution.invoke(TaskExecution.java:389) at fuego.server.execution.GlobalTaskExecution.invoke(GlobalTaskExecution.java:106) at fuego.server.execution.TaskExecution.executeCIL(TaskExecution.java:481) at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:655) at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:616) at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:442) at fuego.server.execution.GlobalTaskExecution.executeGlobalCIL(GlobalTaskExecution.java:164) at fuego.server.execution.GlobalTaskExecution.executeGlobalCIL(GlobalTaskExecution.java:142) at fuego.server.execution.Global.execute(Global.java:81) at fuego.server.AbstractProcessBean$38.execute(AbstractProcessBean.java:2496) at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:290) at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:462) at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:540) at fuego.transaction.TransactionAction.start(TransactionAction.java:213) at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:117) at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66) at fuego.server.AbstractProcessBean.runGlobalActivity(AbstractProcessBean.java:2491) at fuego.ejbengine.EJBProcessControlAdapter.runGlobalActivity(EJBProcessControlAdapter.java:386) at fuego.ejbengine.EJBProcessControlAdapter_hu750h_EOImpl.runGlobalActivity(EJBProcessControlAdapter_hu750h_EOImpl.java:2877) at fuego.ejbengine.EJBProcessControlAdapter_hu750h_EOImpl_WLSkel.invoke(Unknown Source) at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174) at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:335) at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252) at fuego.ejbengine.EJBProcessControlAdapter_hu750h_EOImpl_921_WLStub.runGlobalActivity(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 fuego.papi.impl.AbstractProcessControlHandler.invokeInternal(AbstractProcessControlHandler.java:48) at fuego.papi.impl.j2ee.EJBProcessControlHandler.doInvoke(EJBProcessControlHandler.java:111) at fuego.papi.impl.j2ee.EJBProcessControlHandler.invoke(EJBProcessControlHandler.java:66) at $Proxy77.runGlobalActivity(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 fuego.lang.JavaClass.invokeMethod(JavaClass.java:1478) at fuego.lang.JavaObject.invoke(JavaObject.java:185) at fuego.papi.impl.j2ee.EJBExecution.next(EJBExecution.java:200) at fuego.portal.wapi.InteractiveExecution.process(InteractiveExecution.java:157) at fuego.portal.wapi.WebInteractiveExecution.process(WebInteractiveExecution.java:54) at fuego.portal.wapi.InteractiveExecution.process(InteractiveExecution.java:200) at fuego.portal.servlet.ExecutionDispatcher.runGlobalActivity(ExecutionDispatcher.java:659) at fuego.portal.servlet.ExecutionDispatcher.processRequest(ExecutionDispatcher.java:144) at fuego.portal.servlet.ExecutionDispatcher.doPost(ExecutionDispatcher.java:105) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) at fuego.portal.servlet.AuthenticatedWamServlet.service(AuthenticatedWamServlet.java:1049) at fuego.portal.servlet.SingleThreadPerSession.service(SingleThreadPerSession.java:73) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at fuego.servlet.multipart.BaseMultipartFilter.doFilter(BaseMultipartFilter.java:57) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3243) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2003) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1909) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1359) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) Caused by: fuego.connector.ConnectorException: The configuration name [ProcessService] and type [Web Service] is not defined. Detail:The connector must be configured in the appropiate context. at fuego.connector.ConnectorException.connectorNotFound(ConnectorException.java:55) at fuego.connector.ConnectorService.getConnectorInterface(ConnectorService.java:586) at fuego.connector.ConnectorTransaction.getConnectorInterface(ConnectorTransaction.java:618) at fuego.connector.ConnectorTransaction.getResource(ConnectorTransaction.java:254) at fuego.soaptype.WSConfiguration.getInstance(WSConfiguration.java:55) at fuego.soaptype.Endpoint.create(Endpoint.java:42) at fuego.soaptype.WebServiceInstantiator.instantiate(WebServiceInstantiator.java:58) at fuego.component.Component.instantiateDynamic(Component.java:123) at CapGemini.Process.Default_1_0.Instance.CIL_callBPEL(Instance.java:241) at CapGemini.Process.Default_1_0.Instance.CIL_callBPEL(Instance.java:307) 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 fuego.server.execution.EngineExecutionContext.invokeMethodAsCil(EngineExecutionContext.java:907) ... 64 more
    Two things here that might help to understand the problem better :
    1) As I understand the error is due to some issue while calling the BPEL process from the Fuego code.
    The Fuego code which call's the BPEL from the BPMN process is as follows :
    helloResponse as String = "someoutput"
    helloRequest as String = "someinput"
    sessionid as String
    // Starting a Session.
    // In case you are testing this in the Studio,
    // the password must be the same as the user
    startSession BPELWSDL.ProcessServiceListenerWSDL.ProcessService
    using user = "test",
    password = "test"
    returning sessionid = result
    // createTest is the name of the operation
    // in the exposed process.
    // In this case the process "ExposedProcess"
    // has a web service operation
    // called "createTest" that is a "Process Creation" type
    // and uses the Begin activity's argument set
    callHello BPELWSDL.ProcessServiceListenerWSDL.ProcessService
    using sessionId = sessionid,
    arg1 = helloRequest
    returning helloResponse = result
    // Closing the session
    discardSession BPELWSDL.ProcessServiceListenerWSDL.ProcessService
    using sessionId = sessionid
    display "The BPEL's response : " + helloResponse
    2) Further, I had catalogued the BPEL's wsdl to the location http://localhost:9000/fuegoServices/ws/ProcessServiceListener?WSDL while running the same in Studio, but while deploying on the enterprise server , I made this point to http://localhost:7001/fuegoServices/ws/ProcessServiceListener?WSDL Is this correct ?
    Any thought on this issue would be appreciated.
    Regards
    Deepak

    Hi Deepak,
    We are also facing a similar problem, while accessing an external webservice from a BPM process.
    Were you able to resolve this issue.
    If so, Could you please let us know the procedure that you followed to resolve the issue.
    Thanks in Advance,
    Krishnaveni.

  • Async BPEL Process Invocation...

    We have a business process, which when invoked from BPEL console works fine, however, when we invoke it from an web application of ours, it does gets initiated, but fails later.
    We have Apache Axis deployed in the same OC4J server as the Oracle BPEL PM(10.1.2.0.2), which exposes few EJBs as SOAP Services.
    The Business Process invokes couple of SOAP Services and then creates a Task and then waits for task completion and based on task action invokes two other SOAP services.
    When we invoke it from the BPEL Console, everything works fine. It also works fine, if we invoke it first (after startup) from BPEL Console and then through our web application.
    However, if we invoke it first through our web application, then it does initiates, but fails at the Task creation. If we try to hit the BPEL Console, we get this error
    Oracle BPEL Process Manager Full Cycle
    An unexpected error has occurred while executing your request. This is most likely related to a defect in the Oracle BPEL Process Manager product. We apologize you can post the error to the OTN forum and we will get back to you as soon as possible.
    Attachments:
    Build Information:
    Oracle BPEL Server version 10.1.2.0.2
    Build: 2196
    Build time: Tue Jan 10 12:31:53 UTC 2006
    Build type: release
    Source tag: BPEL_10.1.2.0.2_GENERIC_060110.1200
    Exception Message:
    [java.lang.Exception]
    Failed to create "ejb/collaxa/system/ServerBean" bean; exception reported is: "javax.naming.NameNotFoundException: ejb/collaxa/system/ServerBean not found
         at com.evermind.server.rmi.RMIContext.lookup(RMIContext.java:164)
         at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:333)
         at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:120)
         at javax.naming.InitialContext.lookup(InitialContext.java:347)
    <b>Nothing works after that, unless we re-start.</b>
    Once we re-start, BPEL Console works fine.
    Investigating the flow of the business process, we find the "initiateTask" of the workflow is fine, but it failed at "initiateTaskActionHandler" with the following error:
    <remoteFault>
    <part name="code" >
    <code>WSDLReadingError</code>
    </part>
    <part name="summary" >
    <summary>Failed to read wsdl. Failed to read wsdl at "http://Uranus:9700/orabpel/default/TaskActionHandler/TaskActionHandler?wsdl", because "WSDLException: faultCode=INVALID_WSDL: The document: http://Uranus:9700/orabpel/default/TaskActionHandler/TaskActionHandler?wsdl is not a wsdl file or does not have a root element of "definitions" in the "http://schemas.xmlsoap.org/wsdl/" namespace or the "http://www.w3.org/2004/08/wsdl" namespace.". Make sure wsdl is valid. You may need to start the OraBPEL server, or make sure the related bpel process is deployed correctly. </summary>
    </part>
    </remoteFault>
    <b>Below is the code as to how we are invoking the Business Process...using orabpel taglibs...</b>
    <orabpel:locator domainId="default" password="bpel" contextEnv="jndi">
    <orabpel:deliveryService processId="ApprovalProcess">
    <orabpel:post title="ApprovalProcess">
    <orabpel:part name="payload">
    <customerObj xmlns="http://xmlns.misys.com/ApprovalProcess/approval">
    <applicationNo><%= customer.getApplicationNo() %></applicationNo>
    <customerId><%= customer.getCustomerId() %></customerId>
    <primaryFirstName><%= customer.getPrimaryFirstName() %></primaryFirstName>
    <primaryLastName><%= customer.getPrimaryLastName() %></primaryLastName>
    <primaryCardName><%= customer.getPrimaryCardName() %></primaryCardName>
    <primaryDay><%= customer.getPrimaryDay() %></primaryDay>
    <primaryMonth><%= customer.getPrimaryMonth() %></primaryMonth>
    <primaryYear><%= customer.getPrimaryYear() %></primaryYear>
    <primaryDob><%= customer.getPrimaryDob() %></primaryDob>
    <primarySex><%= customer.getPrimarySex() %></primarySex>
    <primaryPanNo><%= customer.getPrimaryPanNo() %></primaryPanNo>
    <accountType><%= customer.getAccountType() %></accountType>
    <cardType><%= customer.getCardType() %></cardType>
    <primaryStreet1><%= customer.getPrimaryStreet1() %></primaryStreet1>
    <primaryStreet2><%= customer.getPrimaryStreet2() %></primaryStreet2>
    <primaryLandmark><%= customer.getPrimaryLandmark() %></primaryLandmark>
    <primaryCity><%= customer.getPrimaryCity() %></primaryCity>
    <primaryState><%= customer.getPrimaryState() %></primaryState>
    <primaryCountry><%= customer.getPrimaryCountry() %></primaryCountry>
    <primaryPinCode><%= customer.getPrimaryPinCode() %></primaryPinCode>
    <primaryOffPhoneNo><%= customer.getPrimaryOffPhoneNo() %></primaryOffPhoneNo>
    <primaryOffExtnNo><%= customer.getPrimaryOffExtnNo() %></primaryOffExtnNo>
    <primaryResPhoneNo><%= customer.getPrimaryResPhoneNo() %></primaryResPhoneNo>
    <primaryMobileNo><%= customer.getPrimaryMobileNo() %></primaryMobileNo>
    <primaryEmailId><%= customer.getPrimaryEmailId() %></primaryEmailId>
    <productInterest><%= customer.getProductInterest() %></productInterest>
    <sourceReferral><%= customer.getSourceReferral() %></sourceReferral>
    <channel><%= customer.getChannel() %></channel>
    <accountNo><%= " " %></accountNo>
    <documentsSubmitted><%= customer.getDocumentsSubmitted() %></documentsSubmitted>
    <creditRating><%= 0.0 %></creditRating>
    <eligibleCustomer><%= false %></eligibleCustomer>
    <segment><%= " " %></segment>
    <action><%= " " %></action>
    <remarks><%= " " %></remarks>
    <approverEmail><%= customer.getApproverEmail() %></approverEmail>
    <bPELProviderUrl><%= customer.getBPELProviderUrl() %></bPELProviderUrl>
    </customerObj>
    </orabpel:part>
    </orabpel:post>
    </orabpel:deliveryService>
    </orabpel:locator>
    <b>We also tried this way...same result</b>
    Properties jndi = new Properties();
    jndi.put(Context.PROVIDER_URL,"ormi://localhost:23791/orabpel");
    jndi.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
    jndi.put(Context.SECURITY_PRINCIPAL, "admin");
    jndi.put(Context.SECURITY_CREDENTIALS, "welcome");
    jndi.put("dedicated.connection", "true");
    String xml = "....";
    NormalizedMessage input = new NormalizedMessage( );
    input.addPart("payload", xml);
    String conversationId = String.valueOf(System.currentTimeMillis());
    input.setProperty(NormalizedMessage.TITLE, "Dynamic CustomerRegistration Invocation");
    input.setProperty(NormalizedMessage.CONVERSATION_ID, conversationId);
    input.setProperty(NormalizedMessage.CREATOR, "Oracle BPEL");
    Locator locator = new Locator("default","bpel",jndi);
    IDeliveryService deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME);
    deliveryService.post("ProductRegistration", "initiate", input );
    <b>The entry in application.xml for the web application is as follows:</b><br/>
    <web-module id="registration" path="../../home/applications/registration.war"/>
    The entry in http-web-site.xml for the web application is as follows:<br/>
    <web-app application="orabpel" name="registration" load-on-startup="true" root="/registration"/>
    <web-app application="default" name="registration"      root="/registration"/>
    I have tried to provide all possible relevant info, if you need more, do reply back to me.
    Thanks in advance for helping us to resolve this issue.
    |Soumen|

    We have a business process, which when invoked from BPEL console works fine, however, when we invoke it from an web application of ours, it does gets initiated, but fails later.
    We have Apache Axis deployed in the same OC4J server as the Oracle BPEL PM(10.1.2.0.2), which exposes few EJBs as SOAP Services.
    The Business Process invokes couple of SOAP Services and then creates a Task and then waits for task completion and based on task action invokes two other SOAP services.
    When we invoke it from the BPEL Console, everything works fine. It also works fine, if we invoke it first (after startup) from BPEL Console and then through our web application.
    However, if we invoke it first through our web application, then it does initiates, but fails at the Task creation. If we try to hit the BPEL Console, we get this error
    Oracle BPEL Process Manager Full Cycle
    An unexpected error has occurred while executing your request. This is most likely related to a defect in the Oracle BPEL Process Manager product. We apologize you can post the error to the OTN forum and we will get back to you as soon as possible.
    Attachments:
    Build Information:
    Oracle BPEL Server version 10.1.2.0.2
    Build: 2196
    Build time: Tue Jan 10 12:31:53 UTC 2006
    Build type: release
    Source tag: BPEL_10.1.2.0.2_GENERIC_060110.1200
    Exception Message:
    [java.lang.Exception]
    Failed to create "ejb/collaxa/system/ServerBean" bean; exception reported is: "javax.naming.NameNotFoundException: ejb/collaxa/system/ServerBean not found
         at com.evermind.server.rmi.RMIContext.lookup(RMIContext.java:164)
         at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:333)
         at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:120)
         at javax.naming.InitialContext.lookup(InitialContext.java:347)
    <b>Nothing works after that, unless we re-start.</b>
    Once we re-start, BPEL Console works fine.
    Investigating the flow of the business process, we find the "initiateTask" of the workflow is fine, but it failed at "initiateTaskActionHandler" with the following error:
    <remoteFault>
    <part name="code" >
    <code>WSDLReadingError</code>
    </part>
    <part name="summary" >
    <summary>Failed to read wsdl. Failed to read wsdl at "http://Uranus:9700/orabpel/default/TaskActionHandler/TaskActionHandler?wsdl", because "WSDLException: faultCode=INVALID_WSDL: The document: http://Uranus:9700/orabpel/default/TaskActionHandler/TaskActionHandler?wsdl is not a wsdl file or does not have a root element of "definitions" in the "http://schemas.xmlsoap.org/wsdl/" namespace or the "http://www.w3.org/2004/08/wsdl" namespace.". Make sure wsdl is valid. You may need to start the OraBPEL server, or make sure the related bpel process is deployed correctly. </summary>
    </part>
    </remoteFault>
    <b>Below is the code as to how we are invoking the Business Process...using orabpel taglibs...</b>
    <orabpel:locator domainId="default" password="bpel" contextEnv="jndi">
    <orabpel:deliveryService processId="ApprovalProcess">
    <orabpel:post title="ApprovalProcess">
    <orabpel:part name="payload">
    <customerObj xmlns="http://xmlns.misys.com/ApprovalProcess/approval">
    <applicationNo><%= customer.getApplicationNo() %></applicationNo>
    <customerId><%= customer.getCustomerId() %></customerId>
    <primaryFirstName><%= customer.getPrimaryFirstName() %></primaryFirstName>
    <primaryLastName><%= customer.getPrimaryLastName() %></primaryLastName>
    <primaryCardName><%= customer.getPrimaryCardName() %></primaryCardName>
    <primaryDay><%= customer.getPrimaryDay() %></primaryDay>
    <primaryMonth><%= customer.getPrimaryMonth() %></primaryMonth>
    <primaryYear><%= customer.getPrimaryYear() %></primaryYear>
    <primaryDob><%= customer.getPrimaryDob() %></primaryDob>
    <primarySex><%= customer.getPrimarySex() %></primarySex>
    <primaryPanNo><%= customer.getPrimaryPanNo() %></primaryPanNo>
    <accountType><%= customer.getAccountType() %></accountType>
    <cardType><%= customer.getCardType() %></cardType>
    <primaryStreet1><%= customer.getPrimaryStreet1() %></primaryStreet1>
    <primaryStreet2><%= customer.getPrimaryStreet2() %></primaryStreet2>
    <primaryLandmark><%= customer.getPrimaryLandmark() %></primaryLandmark>
    <primaryCity><%= customer.getPrimaryCity() %></primaryCity>
    <primaryState><%= customer.getPrimaryState() %></primaryState>
    <primaryCountry><%= customer.getPrimaryCountry() %></primaryCountry>
    <primaryPinCode><%= customer.getPrimaryPinCode() %></primaryPinCode>
    <primaryOffPhoneNo><%= customer.getPrimaryOffPhoneNo() %></primaryOffPhoneNo>
    <primaryOffExtnNo><%= customer.getPrimaryOffExtnNo() %></primaryOffExtnNo>
    <primaryResPhoneNo><%= customer.getPrimaryResPhoneNo() %></primaryResPhoneNo>
    <primaryMobileNo><%= customer.getPrimaryMobileNo() %></primaryMobileNo>
    <primaryEmailId><%= customer.getPrimaryEmailId() %></primaryEmailId>
    <productInterest><%= customer.getProductInterest() %></productInterest>
    <sourceReferral><%= customer.getSourceReferral() %></sourceReferral>
    <channel><%= customer.getChannel() %></channel>
    <accountNo><%= " " %></accountNo>
    <documentsSubmitted><%= customer.getDocumentsSubmitted() %></documentsSubmitted>
    <creditRating><%= 0.0 %></creditRating>
    <eligibleCustomer><%= false %></eligibleCustomer>
    <segment><%= " " %></segment>
    <action><%= " " %></action>
    <remarks><%= " " %></remarks>
    <approverEmail><%= customer.getApproverEmail() %></approverEmail>
    <bPELProviderUrl><%= customer.getBPELProviderUrl() %></bPELProviderUrl>
    </customerObj>
    </orabpel:part>
    </orabpel:post>
    </orabpel:deliveryService>
    </orabpel:locator>
    <b>We also tried this way...same result</b>
    Properties jndi = new Properties();
    jndi.put(Context.PROVIDER_URL,"ormi://localhost:23791/orabpel");
    jndi.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
    jndi.put(Context.SECURITY_PRINCIPAL, "admin");
    jndi.put(Context.SECURITY_CREDENTIALS, "welcome");
    jndi.put("dedicated.connection", "true");
    String xml = "....";
    NormalizedMessage input = new NormalizedMessage( );
    input.addPart("payload", xml);
    String conversationId = String.valueOf(System.currentTimeMillis());
    input.setProperty(NormalizedMessage.TITLE, "Dynamic CustomerRegistration Invocation");
    input.setProperty(NormalizedMessage.CONVERSATION_ID, conversationId);
    input.setProperty(NormalizedMessage.CREATOR, "Oracle BPEL");
    Locator locator = new Locator("default","bpel",jndi);
    IDeliveryService deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME);
    deliveryService.post("ProductRegistration", "initiate", input );
    <b>The entry in application.xml for the web application is as follows:</b><br/>
    <web-module id="registration" path="../../home/applications/registration.war"/>
    The entry in http-web-site.xml for the web application is as follows:<br/>
    <web-app application="orabpel" name="registration" load-on-startup="true" root="/registration"/>
    <web-app application="default" name="registration"      root="/registration"/>
    I have tried to provide all possible relevant info, if you need more, do reply back to me.
    Thanks in advance for helping us to resolve this issue.
    |Soumen|

  • How many different way can we call a BPEL process

    Hi Guys,
    How many ways can we call a BPEL process
    I know 3 ways
    1 ) Thru PLSQL 2) using Java API 3) From another BPEL Process.
    are there any other ways .... if so what are they ..... .
    Thanks
    Tom...

    Hi Tom,
    your normal BPEL process (a regular process you create with the "new BPEL process" wizard), can be configured in Oracle application server to be accessible
    - via SOAP over HTTP or
    - via JMS
    since it is has a WSDL based service interface.
    JDeveloper as well allows additionally more options for starting a BPEL process such as a file based interface, an e-mail as a starter etc.
    Still, I like to see the ESB as a virtualizer of the endpoint protocol, so I suggest you model the BPEL process regularly, exposing its functionality through WSDL and use ESB services that wrap your BPEL process to deal with the actual endpoints.
    Cheers,
    Hajo

Maybe you are looking for