Initiate BPEL process from incoming fax ?

hi all,
I found a very interesting post on Matt Wright's Blog
[http://blogs.oracle.com/matt/2006/03/10#a26] to init a process from a incoming email.
Do you know if we can make the same with an incoming fax?
Thanks for your help,
Cyryl

Hi,
In the past, I participated in 2 projects dealing with handling faxes or scanned documents (tiff format either way).
In one project, we used fax software (from Kofax I believe) that was able to recognize and interpret barcodes. Based on the barcode, the fax was put into the proper dossier in an Oracle database and processed from there. In case a barcode was not detected or could not be interpreted, the document was stored in a temporary dossier and someone was assigned the task to put it in its rightful place.
You could adopt a similar strategy and kick of a BPEL process whenever a document arives.
Hth.
Best regards, Sjoerd

Similar Messages

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

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

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

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

  • Error while calling bpel process from jsp page

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

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

  • Invoking a BPEL process from a WS

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

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

  • Invoking a BPEL process from a diffrent server.

    Hello
    I am trying to invoke a Bpel process from a diffrent server than the one where Soa Suite is installed and I am getting the folowing error:
    java.lang.Exception: Failed to create "ejb/collaxa/system/DeliveryBean" bean; exception reported is: "javax.naming.NameNotFoundException: ejb/collaxa/system/DeliveryBean not found
    at com.evermind.server.rmi.RMIClientContext.lookup(RMIClientContext.java:52)
    at javax.naming.InitialContext.lookup(InitialContext.java:351)
    at com.oracle.bpel.client.util.BeanRegistry.lookupDeliveryBean(BeanRegistry.java:279)
    at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean(DeliveryService.java:250)
    at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:83)
    at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:53)
    at Invoke.main(Invoke.java:35)
    at com.oracle.bpel.client.util.BeanRegistry.lookupDeliveryBean(BeanRegistry.java:293)
    at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean(DeliveryService.java:250)
    at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:83)
    at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:53)
    at Invoke.main(Invoke.java:35)
    The same client works fine when running it from the same machine where the Soa Suite is installed.
    Does anyone know what can be the problem?
    Regards Corneliu

    hi....
    the same error is coming for me when i am in local server itself.
    I am using Eclipse and BPEL server....
    hereby i am attaching my code:
    import com.oracle.bpel.client.Locator;
    import com.oracle.bpel.client.NormalizedMessage;
    import com.oracle.bpel.client.dispatch.IDeliveryService;
    import java.util.Map;
    import java.util.*;
    import javax.naming.*;
    public class initiate {
         * @param args
         public static void main(String[] args)
              String xml="<ns1:BPELProcess1ProcessRequest xmlns:ns1=\"http://xmlns.oracle.com/BPELProcess1\">";
              xml=xml+"<ns1:input>natraj</ns1:input>";
              xml=xml+"</ns1:BPELProcess1ProcessRequest>";     
              try{
                   Locator loc = null;
                   Hashtable jndi = new Hashtable();
                   jndi.put(Context.PROVIDER_URL, "http://localhost:8888/BPELConsole");
                   jndi.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
                   jndi.put(Context.SECURITY_PRINCIPAL, "oc4jadmin");
                   jndi.put(Context.SECURITY_CREDENTIALS, "oc4jadmin");
                   jndi.put("dedicated.connection", "true");
                   loc = new Locator("default", "bpel", jndi);
                   IDeliveryService deliveryService = (IDeliveryService)loc.lookupService(IDeliveryService.SERVICE_NAME );
                   NormalizedMessage nm = new NormalizedMessage();
                   nm.addPart("payload", xml);     
                   //deliveryService.post("BPELProcess1", "initiate", nm);
                   NormalizedMessage res = deliveryService.request("BPELProcess1", "process", nm);
                        Map payload = res.getPayload();
                        System.out.println( "BPELProcess CreditRatingService executed!<br>" );
                        System.out.println( "Credit Rating is " + payload.get("payload") );
              catch (Exception e)
                   System.out.println("Exception"+e);
              //System.out.println( "BPELProcess initiated!" );
    ERROR:
    Exceptionjava.lang.Exception: Failed to create "ejb/collaxa/system/DeliveryBean" bean; exception reported is: "javax.naming.NamingException: Invalid provider URL
         at com.evermind.server.rmi.RMIInitialContextFactory.getInitialContext(RMIInitialContextFactory.java:172)
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
         at javax.naming.InitialContext.init(InitialContext.java:223)
         at javax.naming.InitialContext.<init>(InitialContext.java:197)
         at com.oracle.bpel.client.util.BeanRegistry.lookupDeliveryBean(BeanRegistry.java:277)
         at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean(DeliveryService.java:250)
         at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:83)
         at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:53)
         at initiate.main(initiate.java:54)
    Please provide me a solution...
    thanks in advance

  • Invoking asynchronous BPEL process from java ui

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

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

  • Invoking a BPEL process from a PL/SQL procedure(URGENT)

    hello,
    Is it possible to invoke a BPEL process from a pl/sql procedure??
    Please reply ...

    Yes it is.
    On my current project i needed this too.
    http://orasoa.blogspot.com/2006/11/calling-bpel-process-with-utldbws.html
    Re: Error running demo PL/SQL consuming web services
    I used this utl_http example:
    declare
    soap_request varchar2(30000);
    soap_respond varchar2(30000);
    http_req utl_http.req;
    http_resp utl_http.resp;
    launch_url varchar2(240) ;
    begin
    soap_request:='<?xml version="1.0" encoding="UTF-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header/>
    <soap:Body xmlns:ns1="http://xmlns.oracle.com/testtask">
    <ns1:testtaskProcessRequest><ns1:input>leeg</ns1:input></ns1:testtaskProcessRequest>
    </soap:Body>
    </soap:Envelope>';
    http_req:= utl_http.begin_request('http://yourhostname/orabpel/default/testtask/1.0'
    ,'POST',
    'HTTP/1.1'
    utl_http.set_header(http_req, 'Content-Type', 'text/xml') ;
    utl_http.set_header(http_req, 'Content-Length', length(soap_request)) ;
    utl_http.set_header(http_req, 'SOAPAction', 'initiate');
    utl_http.write_text(http_req, soap_request) ;
    http_resp:= utl_http.get_response(http_req) ;
    utl_http.read_text(http_resp, soap_respond) ;
    utl_http.end_response(http_resp) ;
    dbms_output.put_line(soap_respond);
    end;

  • Invoking BPEL process from Java servlet with org.w3c.dom.Element as payload

    Hello,
    I'm trying to initiate a BPEL process from my servlet running under Tomcat. When I create the NormalizedMessage passing the XML as a String everything works fine. But if I use an org.w3c.domElement the BPEL server doesn't react at all (even on DEBUG log level there are no outputs).
    This works:
    NormalizedMessage message = new NormalizedMessage();
    message.addPart("payload", "<foo></foo>");
    This doesn't work:
    org.w3c.dom.Element elem;
    oracle.xml.parser.v2.XMLDocument xmlDocument;
    NormalizedMessage message = new NormalizedMessage();
    Element elem = xmlDocument.createElement("foo");
    message.addPart("payload", elem);
    Is there a known problem with payloads using Element or did I get something completely wrong? Thanks in advance,
    Hans.

    Hello,
    I'm trying to initiate a BPEL process from my servlet running under Tomcat. When I create the NormalizedMessage passing the XML as a String everything works fine. But if I use an org.w3c.domElement the BPEL server doesn't react at all (even on DEBUG log level there are no outputs).
    This works:
    NormalizedMessage message = new NormalizedMessage();
    message.addPart("payload", "<foo></foo>");
    This doesn't work:
    org.w3c.dom.Element elem;
    oracle.xml.parser.v2.XMLDocument xmlDocument;
    NormalizedMessage message = new NormalizedMessage();
    Element elem = xmlDocument.createElement("foo");
    message.addPart("payload", elem);
    Is there a known problem with payloads using Element or did I get something completely wrong? Thanks in advance,
    Hans.

  • Issue in invoking the BPEL process from Oracle using a SOAP Request

    Hi,
    We are facing an issue while invoking a deployed Bpel Process from Oracle Applications 11.5.10..
    Using a concurrent program( Unix / Host program ) we are passing the input variables required for the Bpel process in the ProcessRequest tags and forming this as a SOAP message payload.
    Then trying to invoke the deployed bpel process using the end point location using HTTP POST..but nothing is happening..
    The bpel process is not getting invoked when i look at the Console and also checked for the Manual Recovery queue..it's not stuck there as well..
    Have set the Transfer Time Out to 25 minutes using UTL_HTTP.SET_TRANSFER_TIMEOUT(1500);
    Could someone please help us as soon as possible with this ..as this is critical and we are stuck at the moment.
    The logic is mentioned below :
    UTL_HTTP.SET_TRANSFER_TIMEOUT(1500);
    UTL_HTTP.SET_DETAILED_EXCP_SUPPORT(ENABLE=>TRUE);     
    soap_request:='<?xml version="1.0" encoding="UTF-8"?>'||
    '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'||
    '<soap:Header/>'||
    '<soap:Body xmlns:ns1="http://xmlns.oracle.com/bpelprocessname">'||
    '<ns1:bpelprocessnameProcessRequest>'||
    '<ns1:CSONum>'||order_number||'</ns1:CSONum>'||
    '<ns1:CreationDate>'||c_chr_cso_last_run_dte||'</ns1:CreationDate>'||
    '</ns1:bpelprocessnameProcessRequest>'||
    '</soap:Body>'||
    '</soap:Envelope>';          
    http_req:= utl_http.begin_request
    ('http://bpel_server ip:port/orabpel/domain_name/bpelprocessname/1.0' , 'POST', 'HTTP/1.1'
    utl_http.set_header(http_req, 'Content-Type', 'text/xml') ;
    utl_http.set_header(http_req, 'Content-Length', length(soap_request)) ;
    utl_http.set_header(http_req, 'SOAPAction', 'process');
    utl_http.write_text(http_req, soap_request) ;
    http_resp:= utl_http.get_response(http_req) ;
    utl_http.read_text(http_resp, soap_respond) ;
    utl_http.end_response(http_resp) ;
    dbms_output.put_line(soap_respond);
    Thanks

    check if your soap envelope is correct,check my below procedure which is working fine for me
    procedure xxxxx_BPEL_SCHEDULER
    IS
    soap_request varchar2(30000);
    soap_respond varchar2(30000);
    http_req utl_http.req;
    http_resp utl_http.resp;
    launch_url varchar2(240) ;
    begin
    soap_request:='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:add="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:star="http://xmlns.oracle.com/xxxxx_BPEL_SCHEDULER">
    <soapenv:Header>
    <add:MessageID>?</add:MessageID>
    <add:ReplyTo>
    <add:Address>?</add:Address>
    <!--Optional:-->
    <add:ReferenceProperties>
    <!--You may enter ANY elements at this point-->
    </add:ReferenceProperties>
    <!--Optional:-->
    <add:PortType>?</add:PortType>
    <!--Optional:-->
    <add:ServiceName PortName="?">?</add:ServiceName>
    <!--You may enter ANY elements at this point-->
    </add:ReplyTo>
    </soapenv:Header>
    <soapenv:Body>
    <star:STARS_BPEL_SCHEDULERProcessRequest>
    <star:SCHEDULER_PARAM1>?</star:SCHEDULER_PARAM1>
    <star:SCHEDULER_PARAM2>?</star:SCHEDULER_PARAM2>
    <star:SCHEDULER_PARAM3>?</star:SCHEDULER_PARAM3>
    <star:SCHEDULER_PARAM4>?</star:SCHEDULER_PARAM4>
    <star:SCHEDULER_PARAM5>?</star:SCHEDULER_PARAM5>
    </star:STARS_BPEL_SCHEDULERProcessRequest>
    </soapenv:Body>
    </soapenv:Envelope>';
    http_req:= utl_http.begin_request('http://xxxxxx.com:16000/orabpel/default/xxxx_BPEL_SCHEDULER/1.0 '
    ,'POST',
    'HTTP/1.1'
    utl_http.set_header(http_req, 'Content-Type', 'text/xml') ;
    utl_http.set_header(http_req, 'Content-Length', length(soap_request)) ;
    utl_http.set_header(http_req, 'SOAPAction', 'initiate');
    utl_http.write_text(http_req, soap_request) ;
    http_resp:= utl_http.get_response(http_req) ;
    utl_http.read_text(http_resp, soap_respond) ;
    utl_http.end_response(http_resp) ;
    dbms_output.put_line(soap_respond);
    END;

  • Simple invoking BPEL process from JSP not working

    Hello Everybody,
    I'm trying to invoke a BPEL process from a client JSP. I'm following the tutorial 7 Invoking the BPEL processes.
    I'm trying to use the same tutorial for a different application.
    Here is my WSDL snippet.
    <types>
    <schema attributeFormDefault="qualified"
    elementFormDefault="qualified"
    targetNamespace="http://www.arcwebservices.com/v2006"
    xmlns="http://www.w3.org/2001/XMLSchema">
              <element name="SpatialQueryRequest" type="s1:SpatialQueryRequestType"/>
              <element name="SpatialQueryResponse" type="s1:SpatialQueryResponseType"/>
              <complexType name="SpatialQueryRequestType">
              <sequence>
                   <element name="username" type="string"/>
                   <element name="password" type="string"/>
              </sequence>
              </complexType>
              <complexType name="SpatialQueryResponseType">
              <sequence>
                   <element name="token" type="string"/>
              </sequence>
              </complexType>
         </schema>
    </types>
    <message name="SpatialQueryRequestMessage">
    <part name="payload" element="s1:SpatialQueryRequest"/>
    </message>
    <message name="SpatialQueryResponseMessage">
    <part name="payload" element="s1:SpatialQueryResponse"/>
    </message>
    <portType name="SpatialQuery">
    <operation name="initiate">
    <input message="tns:SpatialQueryRequestMessage"/>
    </operation>
    </portType>
    <!-- portType implemented by the requester of SpatialQuery BPEL process
    for asynchronous callback purposes
    -->
    <portType name="SpatialQueryCallback">
    <operation name="onResult">
    <input message="tns:SpatialQueryResponseMessage"/>
    </operation>
    </portType>
    The JSP code is:
    <%
    String ssn = request.getParameter("ssn");
    //if(ssn == null)
    // ssn = "123-12-1234";
         String username = "jaweed";
         String password = "ibrahim";
    //String xml = "<ssn xmlns=\"http://services.otn.com\">" + ssn + "</ssn>";
         //String xml = "<UserName xmlns="http://www.arcwebservices.com/v2006">" + username + "</UserName><Password xmlns="http://www.arcwebservices.com/v2006">" + password + "</Password>";
         String xml = "<UserName xmlns=\"http://www.arcwebservices.com/v2006\">" + username + "</UserName><Password xmlns=\"http://www.arcwebservices.com/v2006\">" + password + "</Password>";
    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("SpatialQuery", "initiate", nm);
    Map payload = res.getPayload();
    //out.println( "BPELProcess CreditRatingService executed!<br>" );
    out.println( "Token is " + payload.get("payload") );
    %>
    com.oracle.bpel.client.ServerException: IDeliveryService.request() invoked for one-way operation 'initiate'. This method can only be used to invoke two-way operations which return an output message. Please check the WSDL which defines this operation and use the method IDeliveryService.post() to invoke a one-way operation
    But I'm getting an exception. I'm in deep trouble please help me. Urgent

    Yeah ..This is my final project for my masters degree.
    I'm integrating BPEL with GIS(Geographic Information System) webservices provided by ESRI(Arcweb services). My main BPEL process that I built follows this sample example. The problem is that I need to show a working client application within 2 days or else my project is termed as incomplete and my graduation will be postponed to next semester. :(
    I tried your advice, as soon as I add a Java code to my BPEL process, the application is taking longer time to execute in the BPEL console itself.
    <bpelx:exec xmlns:bpelx="http://schemas.oracle.com/bpel/extension" language="java" version="1.4" name="exec-1">
    <![CDATA[setConversationId("output");]]>
    </bpelx:exec>
    So after the thread sleep the webservice is not ready to give its output.
    Just a quick thought, I assumed that if I attach the output of the my Invoke(Client) to a Reply activity,which will make it a two way operation.
    Then I could use,
    NormalizedMessage res = deliveryService.request("SpatialQuery", "initiate", nm);
    will work.
    I assigned the ouput of the Invoke(Client) to the variable in Reply activity.
    But my reply activity is throwing a NULL pointer exception.
    This is my BPEL code:
    <sequence name="main">
              <receive name="receiveInput" partnerLink="client" portType="tns:InvokeTest" operation="initiate" variable="input" createInstance="yes"/>
              <assign name="assign-1">
                   <copy>
                        <from variable="input" part="payload" query="/nsxml0:InvokeTestRequest/nsxml0:username"></from>
                        <to variable="IsaInput" part="parameters" query="/nsxml0:getToken/nsxml0:username"/>
                   </copy>
                   <copy>
                        <from variable="input" part="payload" query="/nsxml0:InvokeTestRequest/nsxml0:password"></from>
                        <to variable="IsaInput" part="parameters" query="/nsxml0:getToken/nsxml0:password"/>
                   </copy>
              </assign>
              <invoke name="invoke-1" partnerLink="Authentication" portType="nsxml0:IAuthentication" operation="getToken" inputVariable="IsaInput" outputVariable="IsaOutput"/>
              <assign name="assign-2">
                   <copy>
                        <from variable="IsaOutput" part="parameters" query="/nsxml0:getTokenResponse/nsxml0:Result"></from>
                        <to variable="output" part="payload" query="/nsxml0:InvokeTestResponse/nsxml0:token"/>
                   </copy>
              </assign>
              <reply name="reply-2" partnerLink="client" portType="tns:InvokeTest" operation="initiate" variable="output"/>     </sequence>
    I really appreciate your patience and help.

  • Initiate BPEL process by e-mail polling lost in upgrade to 11g

    So, as you would know by a simple search, "e-mail polling" or e-mail as an activation agent in BPEL 10.x works wonderfully following the guidance in the link: http://blogs.bpel-people.com/2007/01/using-email-to-initiate-bpel-process.html.
    Taking that process and opening it in JDev 11g and running the upgrade process, I can't find where the activation agent configuration went. The process deploys fine, but none of the e-mails are getting picked up and starting the process. I've gotten myself lost in the Weblogic 10.3.3 configuration and can't seem to build the composite application to get e-mails flowing to a BPEL process. I've tried stuff with User Messaging Service, but that seems geared more towards the Workflow app. Also, the JavaMail looks really neat, but quite lost how to incorporate that into a BPEL workflow/composite application. I am from a BPEL background, my Java skill is medium-low.
    It seems some of you have this working in 11g to poll an e-mail folder and kick-off a BPEL process. I've spent too much time muddling through the docs and not being successful and I'm not sure if my problem is Weblogic configuration or coding in the BPEL composite app. For those with this working, what do you feel is the best practice and if you can provide pointers to where I might dig further to get this working, I would really appreciate it.
    Thanks!
    -Colin

    Hi,
    Did u find the solution for this in 11g.
    I am struggling too..
    Please help if u have updates on it.
    Thnaks
    Viv

  • How to trigger BPEL process from DB insertion

    hi,
    How to initiate BPEL process when a row insert, update or delete from table.my concern is to handle different casses for all above mentioned DML.

    Check if there is are Out of the Box Events first, if there are use those. Otherwise use a custom database trigger on your custom table. Make sure that your call is not being inadvertenly called multiple times.
    --Bryan Colligan                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • XML format for input to BPEL process from client stub

    Hi,
    I have deployed SyncHelloWorld BPEL process as given in the tutorial in the BPEL Server. It is working fine. Now I am trying to invoke the process by creating a Java client stub . I created a stub using the Web-services wizard by specifying the WSDL of the BPEL. Now I want to know how to pass some string through XML document to the BPEL process.
    I am using this code in the main method of the stub., but the value is not being passed to the BPEL nodes correctly. the output I am getting is "Hello "
    and not "Hello XYZString". I think I am not able to form the XML document to pass as input correctly. Can anyone help.
    Can anyone please help :
    public static void main(String[] args)
    try
    SyncHelloWorldStub stub = new SyncHelloWorldStub();
    // Add your own code here.
    // Create an empty XML document
    XMLDocument doc = new XMLDocument();
    // Create an element
    Element body = doc.createElementNS("http://xmlns.oracle.com/SyncHelloWorld", "SyncHelloWorldProcessRequest");
    // Create the inner element
    Element ip = doc.createElementNS("http://xmlns.oracle.com/SyncHelloWorld", "input");
    // Create a text node
    Text text = doc.createTextNode("input");
    // Set the input parameter
    text.setNodeValue("XYZString");
    ip.appendChild(text);
    body.appendChild(ip);
    // Call the process. It returns a vector
    Vector v = stub.process(body);
    // Code to print the returned xml.
    System.out.println("Received " + v.size() + " element");
    Enumeration enum = v.elements();
    // Walk through the vector and print out contents
    while (enum.hasMoreElements())
    Object o = enum.nextElement();
    System.out.println("Returned a " + o.getClass().getName());
    //If it is an element, print it out
    if (o instanceof XMLElement)
    XMLElement xml = (XMLElement)o;
    xml.print(System.out);
    else
    System.out.println("Returned " + o.toString());
    System.out.println("After executing : "+v.toString());
    catch(Exception ex)
    ex.printStackTrace();
    This is the code for WSDL file for the BPEL process.
    <?xml version="1.0" encoding="UTF-8" ?>
    - <definitions name="SyncHelloWorld" targetNamespace="http://xmlns.oracle.com/SyncHelloWorld" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://xmlns.oracle.com/SyncHelloWorld" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:client="http://xmlns.oracle.com/SyncHelloWorld">
    - <types>
    - <schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/SyncHelloWorld" xmlns="http://www.w3.org/2001/XMLSchema">
    - <element name="SyncHelloWorldProcessRequest">
    - <complexType>
    - <sequence>
    <element name="input" type="string" />
    </sequence>
    </complexType>
    </element>
    - <element name="SyncHelloWorldProcessResponse">
    - <complexType>
    - <sequence>
    <element name="result" type="string" />
    </sequence>
    </complexType>
    </element>
    </schema>
    </types>
    - <message name="SyncHelloWorldRequestMessage">
    <part name="payload" element="tns:SyncHelloWorldProcessRequest" />
    </message>
    - <message name="SyncHelloWorldResponseMessage">
    <part name="payload" element="tns:SyncHelloWorldProcessResponse" />
    </message>
    - <portType name="SyncHelloWorld">
    - <operation name="process">
    <input message="tns:SyncHelloWorldRequestMessage" />
    <output message="tns:SyncHelloWorldResponseMessage" />
    </operation>
    </portType>
    - <binding name="SyncHelloWorldBinding" type="tns:SyncHelloWorld">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    - <operation name="process">
    <soap:operation style="document" soapAction="process" />
    - <input>
    <soap:body use="literal" />
    </input>
    - <output>
    <soap:body use="literal" />
    </output>
    </operation>
    </binding>
    - <service name="SyncHelloWorld">
    - <port name="SyncHelloWorldPort" binding="tns:SyncHelloWorldBinding">
    <soap:address location="http://cisoidd001.corporate.ge.com:5843/orabpel/default/SyncHelloWorld/v2006_06_19__40924" />
    </port>
    </service>
    - <plnk:partnerLinkType name="SyncHelloWorld">
    - <plnk:role name="SyncHelloWorldProvider">
    <plnk:portType name="tns:SyncHelloWorld" />
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    Also, while running the BPEL process from console, we can give the input as html or string. Can anyone give the me xml format of the input.
    Any help would be highly appreciated.
    Thanks,
    Debojyoty

    Your last question shows that you might have solved this by now.
    The xml document you are composing in java might not exactly be the xml input bpel excepts. The way to compare is first initiate a process by posting an html message, using the initiate tab for your process in the BPEL console. Check the box "Save as default input" before you send the html request.
    Then again do an initiate from the BPEL console and select "XML Source" instead of "HTML Form". You will see the xml message you just have sent as html.
    You might also want to test your java program with one of the many free soap clients available on the internet.
    HTH,
    Ruerd
    http://www.numericalexample.com

  • Calling OWSM Secured BPEL Process from JAVA

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

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

Maybe you are looking for