Different when BPEL invoked from Console & from a JSP

Hi All,
I have a very Simple BPEL Process which, which when invoked from the BPEL Console is working fine, but when invoked from the JSP, throws a "SelectionFailure" Fault in the Assign activity.
Can anyone help?
Thanks
Chandra

In the audit trail, under the "receiveInput" activity, I'm able to see the values that I passed as the Input, but in the next "assignActivity", it throws this selectionFailure Fault saying the variable value is empty.
My input is only 1 value and the XML is pretty straight forward.

Similar Messages

  • Invoking BPEL Process from a JSP Page 500 Internal Server Error

    Hi,
    I try to invoke a BPEL Process from a JSP Page and receive the following error. I just pasted the example from the Oracle PM Developer's Guide tutorial. Previously I deployed the CreditRatingService BPEL Process.
    Can anyone help me, please?
    D.
    Here is a sequence from my JSP / and the error I get:
    String ssn = request.getParameter("ssn");
    if(ssn == null)
    ssn = "123-12-1234";
    String xml = "<ssn xmlns=\"http://services.otn.com\">"
    + ssn + "</ssn>";
    Locator locator = new Locator("default","welcome1");
    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("CreditRatingService", "process", nm);
    Map payload = res.getPayload();
    out.println( "BPELProcess CreditRatingService executed!<br>" );
    out.println( "Credit Rating is " + payload.get("payload") );
    500 Internal Server Error
    java.lang.Exception: Erstellen von "ejb/collaxa/system/DeliveryBean"-Bean nicht erfolgreich. Es wurde folgende Exception gemeldet: "javax.naming.NameNotFoundException: ejb/collaxa/system/DeliveryBean not found
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0) ].server.rmi.RMIServerContext.lookup(RMIServerContext.java:207)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0) ].server.ApplicationContext.unprivileged_lookup(ApplicationContext.java:257)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0) ].server.ApplicationContext.lookup(ApplicationContext.java:197)
         at javax.naming.InitialContext.lookup(InitialContext.java:351)
         at com.oracle.bpel.client.util.BeanRegistry.lookupDeliveryBean(BeanRegistry.java:279)
         at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean(DeliveryService.java:250)
         at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:83)
         at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:53)
         at _InvokeBP._jspService(_InvokeBP.java:65)
         [InvokeBP.jsp]
         at com.orionserver[Oracle Containers for J2EE 10g (10.1.3.3.0) ].http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
         at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
    Message was edited by:
    user603180
    Message was edited by:
    user603180
    Message was edited by:
    user603180
    Message was edited by:
    user603180
    Message was edited by:
    user603180
    Message was edited by:
    user603180
    Message was edited by:
    user603180
    Message was edited by:
    user603180
    Message was edited by:
    user603180

    Here is the solution:
    Properties props = new Properties();
    props.setProperty("orabpel.platform", "oc4j_10g");
    props.setProperty("java.naming.factory.initial",
    "com.evermind.server.rmi.RMIInitialContextFactory");
    props.setProperty("java.naming.provider.url", "ormi://localhost/orabpel");
    props.setProperty("java.naming.security.principal", "oc4jadmin");
    props.setProperty("java.naming.security.credentials", "welcome1");
    and several jars have to be added to the project:
    Orabpel.jar , Orabpel-common.jar, oc4j*.jar,
    %ANT_HOME%\lib\ant.jar;
    %ANT_HOME%\lib\xercesImpl.jar;
    %ANT_HOME%\lib\xml-apis.jar;
    %AXIS_HOME%\lib\axis.jar;
    %AXIS_HOME%\lib\axis-ant.jar;
    %AXIS_HOME%\lib\commons-discovery.jar;
    %AXIS_HOME%\lib\commons-logging.jar;
    %AXIS_HOME%\lib\jaxrpc.jar;
    %AXIS_HOME%\lib\log4j-1.2.8.jar;
    %AXIS_HOME%\lib\saaj.jar;
    %AXIS_HOME%\lib\wsdl4j.jar;

  • Invoking BPEL process from a jsp

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

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

  • OSB: When does invokation from http Business Service result into an error

    Hi,
    I want to know when does invokation from http Business Service in OSB result into an error.
    I have a http based business service which is calling an external service on http url.
    I want to know when this business service is invoke/tested, what are the cases in which the invokation will result into an error.
    What does OSB read to cause the invokation an error.
    I am aware that it reads the http-response-code. If its not 200 or 0, it will result into an error.
    Want to validate this understanding and also want to know what are the other case that will cause this happen. Is it by any way dependent on body content?
    Please help. Please share any good links for the topics related to this.
    TIA.
    Regards,
    Ashish

    Hi,
    Some info here...
    http://svgonugu.wordpress.com/2011/06/15/fault-handling-in-osb/
    Cheers,
    Vlad

  • Are return codes from APIs different when upgrading DOT from 8.0.3 to 8.1.4/8.2.3 (7-mode only)

    Customer is looking to upgrade from DOT 8.0.3 to 8.1.4/8.2.3 (7-mode). There are no real API changes between these upgrades other than additional functionality being added. Howver, are the return codes from APIs any different when upgrading DOT from 8.0.3 to 8.1.4/8.2.3 (7-mode only)? Any help on this to help confirm would be greatly appreciated. Many Thanks in advance. Luke

    Thanks. I had the Portal 3.0.6/3.0.7/3.0.8 to Portal 3.0.9 upgrade scripts and instructions, but thought that was my last step. I hesitated on running the Portal Configuration Assistant. None of the instructions told me what to do at this point.
    Anyways, it looks that by running the Portal Configuration Assitant at the end of the 1.0.2.2 9iAS install, it created a new repository for Portal 3.0.9 in my database. Since I gave it a different schema name, I now have two portal repositories. The old Portal 3.0.6 repository (jvac_portal30) and the new Portal 3.0.9 repository (j_portal30).
    So, I assume I have to perform the upgrade scripts on the Portal 3.0.6 repository to get it to 3.0.9. Since we really did not have very much in the repository, we may just manually recreate everything in the new 3.0.9 repository. I have ssen several discussion threads about the upgrade and problems, so I am very leary to do it.
    In regards to our J Server propblem, we left for lunch. Came back and rebooted several more times, double checked all our configuration files (made no changes), stopped and restarted Apache several more times, and then by some miracle everything started working.
    null

  • Payload Structure when composite invoked from java

    Can any one please let me know how the payload structure should be when composite is invoked from java program.
    Any sample would be of great help
    thanks
    Naga

    you need to construct the payload - according to your wsdl structure ..
    that is the part name of the <input> message will be the key passed into the NM payload - and the element that is referred from that part will be the value of the map .. e.g.
    your message might have a part named "payload" and refers to an element called "employeeRequest" - in the namespace urn:blah
    so you would set into the payload map ( "payload", "<employeeRequest xmlns=\"urn:blah\"/>")
    hth clemens

  • BPEL Invoke from B2B through Java Callout

    Hi,
    I would like to know if its possible to invoke a BPEL process from B2B other than AQ. I need not pass any payload to BPEL , I just want to invoke a BPEL process.
    Thanks,
    Phani

    It is possible to inovoke BPEL from a call out, however it is not preferred and supported approach. Apart from AQ, we also have File, FTP and JMS integration with BPEL.
    HTH.
    Rgds,Ramesh

  • Scrip Error when Action invoked from Bridge Image Processor

    I am running Photoshop CC and while I can create a new simple Action and execute it successfully, if the same Action is invoked from the Image processor in Bridge, the Action fails witha script error and messaeg "Sorry, I could not proecess the following file: xxxxxxxxxxxx"  In CS6 this used to be related to History entry size  but it is not the same in CC.  I can execute other actions but NOT the one I just created, no matter how simple it is.  Help! 

    After renew settings in preferences the basic set from PS is active. Go trough it and look around what you can use, explore it.
    Most important is scratch disk setting, ammount of RAM and I find it useful to change the cursor setting to the last checkboxes.
    Read the manual that came with your copy and or try one of the thousands tutorials that are available either free or for sale. There are very good DVD's that shows you the screen from the teacher on your own screen and so you can see what he or she does. Total Training is a good start but there are others.
    start here and find your way: http://www.adobe.com/training/

  • Calling Bpel Process From a Jsp(Need a string output instead of XML object)

    Hi
    I am calling a BPEL process(Synchrononus) from a JSP page, Where Bpel process calls a java web service.The output from Bpel process is returned as an XML object. I need the output in a string format.Please let me know the steps to get the string output.
    I also executed invokeCreditRatingService.jsp(from samples shipped with SOA Suite) that calls CreditRatingService bpel, but i was getting the following output where the rating value is printed as an XML object.
    Output:-
    BPELProcess CreditRatingService executed!
    Credit Rating is oracle.xml.parser.v2.XMLElement@9511c8
    Please let me know, what changes i need to make to get the string output.I followed all the steps given in "orabpel-Tutorial7-InvokingBPELProcesses.PDF" to execute credit rating jsp.
    We are using SOA Suite 10.1.3.1.0 version.Do I need to make any changes to the code, to make it work with this version.
    Thanks
    Vandana.

    The call payload.get("payload") returns, as you have observed, an XMLElement. You can simply convert the XMLElement into an XML string by using a DOMSerializer implementation. The following code is very useful for this purpose:
    http://javafaq.nu/java-example-code-432.html
    Best,
    Manfred

  • Passing FORM parameters when opening form from a JSP

    Hi,
    is it possible to pass form parameters when opening the form from a JSP as a URL. If yes then what should be the way in which parameters has to be passed.
    thanks.

    Hi,
    Sorry there was some confusion.
    I want to pass parameters to a (D2K) form from a JSP. I'm able to open the D2K form but unable to pass the parameters into that form.
    Is it possible to pass parameters to D2k FORM from a JSP...
    Thanks

  • Passing values to ABAP/JAVA  webdynpro appl. when workitem invoked from UWL

    Hai,
    We are using universal worklist for invoking a workitem. The workitme may trigger a ABAP/Java based webdynpro application. I have registered the tasks associated with the workitem in universal worklist.
    I have few doubts in the integration part,
    1. When a workitem is clicked in UWL, I want to get some values from the workflow container and show it on the webdynpro application. In the webdynpro application I can call a function module to get the values from workflow container by passing in workitem id.How can I pass a workitem id to webdynpro application when a workitme is clicked.
    2. After the user open the workitem a webdynpro application is shown on the screen. Lets assume this screen is having "Approve", "Reject" and "Exit" button. When this button is clicked how to pass that information to workflow so that the workflow flow its paths.
    Please let me know how to do this.
    Thanks & Regards,
    H..K.Hayath Basha.

    Hai Chintan,
    I checked the blog, and found the below code,
    workflowrawdata =
        wd_context->get_child_node(
              'WORKFLOWRAWDATA' ).
      CALL METHOD
                  WORKFLOWRAWDATA->GET_ATTRIBUTE
             EXPORTING
                     NAME   = 'WI_ID'
             IMPORTING
                      VALUE  = wi_id.     
    I have the following doubts in the code,
    1. Where I have to put this code,
    2. Using which data element or type I have to declare, "workflowrawdata".
    3. Should I have to declare "WI_ID" in parameter tab of Webdynpro application.
    4. In webdynpro application what I did is,
    a. In the context of component controller, i have created attributes to store workflow id, and some attributes to store the value from workflow container.
    b. I created a view and in view context i have created attributes to store workflow id, and some attributes to store the value from workflow container.
    c. I created some UI elements in the view and binded that UI elements with view context.
    d. I binded view context with the context of component controller.
    e. I created a window and in the view context i have created attributes to store workflow id, and some attributes to store the value from workflow container.
    f. I did context mapping between window context and component controller context.
    g. I added the view to the window.
    h. I created a inbound plug with name "START". This creates a method called "HANDLESTART" to this method I added a importing parameter named "WI_ID" and added the below code,
    data : lo_node               type ref to IF_WD_CONTEXT_NODE,
           l_cont                 type standard table of swr_cont,
           l_cont_line            type swr_cont,
           rc                     type sy-subrc,
           l_wi_id                type sww_wiid,
           l_object               type SWOTOBJID,
           lv_workitem_attributes type swr_wihdr.
    call method wd_context->get_child_node
         exporting
           name = 'WORKFLOWRAWDATA'
         RECEIVING
           child_node = lo_node.
    lo_node->set_attribute( value = wi_id name = 'WI_ID' ).
    l_wi_id = wi_id.
    Please let me know what else i have to do to get the workflow id in ABAP-Webdynpro application.
    Regards,
    H.K.Hayath Basha.
    i.

  • Local transaction support when BPEL invokes JCA adapter

    Hi all,
    I've implemented a BPEL process consisting of multiple invoke activities to my (custom) JCA Resource Adapter which connects to an EIS.
    My concern is to support local transactions. Here are some code snippets describing what I've done so far.
    Declare the transaction support at deployment time (ra.xml)
    <transaction-support>LocalTransaction</transaction-support>Implementer class of ManagedConnection interface
    public class MyManagedConnection implements ManagedConnection {
         public XAResource getXAResource() throws ResourceException {
             throw new NotSupportedException("XA Transactions not supported");
         public LocalTransaction getLocalTransaction() throws ResourceException {
             return new MyLocalTransaction(this);
            public void sendTheEvent(int eventType, Object connectionHandle) {
                 ConnectionEvent event = new ConnectionEvent(this, eventType);
                 if (connectionHandle != null) {
                    event.setConnectionHandle(connectionHandle);
                ConnectionEventListener listener = getEventListener();
             switch (eventType) {
              case ConnectionEvent.CONNECTION_CLOSED:
                   listener.connectionClosed(event); break;
              case ConnectionEvent.LOCAL_TRANSACTION_STARTED:
                   listener.localTransactionStarted(event); break;
              case ConnectionEvent.LOCAL_TRANSACTION_COMMITTED:
                   listener.localTransactionCommitted(event); break;
              case ConnectionEvent.LOCAL_TRANSACTION_ROLLEDBACK:
                   listener.localTransactionRolledback(event); break;
              case ConnectionEvent.CONNECTION_ERROR_OCCURRED:
                   listener.connectionErrorOccurred(event); break;
              default: break;
    }Implementer class of LocalTransaction interface
    public class MyLocalTransaction implements javax.resource.spi.LocalTransaction {
         private MyManagedConnection mc = null;
         public MyLocalTransaction(MyManagedConnection mc) {
             this.mc = mc;
         @Overide
         public void begin() throws ResourceException {
             mc.sendTheEvent(ConnectionEvent.LOCAL_TRANSACTION_STARTED, mc);
         @Override
         public void commit() throws ResourceException {
             eis.commit(); //eis specific method
             mc.sendTheEvent(ConnectionEvent.LOCAL_TRANSACTION_COMMITTED, mc);
         @Override
         public void rollback() throws ResourceException {
             eis.rollback(); //eis specific method
             mc.sendTheEvent(ConnectionEvent.LOCAL_TRANSACTION_ROLLEDBACK, mc);
    }Uppon BPEL process completion, MyLocalTransaction.commit() is called. However, localTransactionCommitted(event) fails and I get the following error:
    Error committing transaction:; nested exception is: weblogic.transaction.nonxa.NonXAException: java.lang.IllegalStateException:
    [Connector:199175]This ManagedConnection is managed by container for its transactional behavior and has been enlisted to JTA transaction by container;
    application/adapter must not call the local transaction begin/commit/rollback API. Reject event LOCAL_TRANSACTION_COMMITTED from adapter.Could someone give me some directions to proceed ?
    My current installation consists of:
    1. Oracle SOA Suite / JDeveoper 11g (11.1.1.4.0),
    2. WebLogic Server 10.3.4
    Thank you for your time,
    George

    Hi Vlad, thank you again for your immediate response.
    With regards to your first comment. I already have been using logs, so I confirm that neither javax.resource.spi.LocalTransaction#begin() nor javax.resource.spi.LocalTransaction#commit()
    is called in the 2nd run.
    I think it might be helpful for our discussion if I give you the call trace for a successful (the first one) run.
    After I deploy my custom JCA Resource Adapter, I create a javax.resource.cci.ConnectionFactory through Oracle EM web application and the following methods are called:
    -- MyManagedConnectionFactory()
    (Constructor of the implementer class of the javax.resource.spi.ManagedConnectionFactory interface)
    -- javax.resource.spi.ManagedConnectionFactory#createManagedConnection(javax.security.auth.Subject, javax.resource.spi.ConnectionRequestInfo)
    -- MyManagedConnection()
    (Constructor of the implementer class of the javax.resource.spi.ManagedConnection interface)
    -- javax.resource.spi.ManagedConnection#addConnectionEventListener(javax.resource.spi.ConnectionEventListener)
    -- javax.resource.spi.ManagedConnection#getLocalTransaction()
    -- MySpiLocalTransaction(MyManagedConnection)
    (Constructor of the implementer class of the javax.resource.spi.LocalTransaction interface)
    -- javax.resource.spi.ManagedConnectionFactory#createConnectionFactory(javax.resource.spi.ConnectionManager)
    -- MyConnectionFactory(javax.resource.spi.ManagedConnectionFactory, javax.resource.spi.ConnectionManager)
    (Constructor of the implementer class of the javax.resource.cci.ConnectionFactory interface)BPEL process consists of multiple invoke activities to my (custom) JCA Resource Adapter which connects to an EIS. Client tester invokes BPEL process, and execution starts.
    Here is the method call trace for the last invoke (after which, commit is executed). The logs for all the rest invocations are identical:
    -- javax.resource.cci.ConnectionFactory#getConnection()
    -- javax.resource.spi.ManagedConnection#getConnection(javax.security.auth.Subject, javax.resource.spi.ConnectionRequestInfo)
    -- MyConnection(MyManagedConnection)
    (Constructor of the implementer class of the javax.resource.cci.Connection interface)
    -- javax.resource.cci.Connection#close()
    (I don't understand why close() is called here, any idea ?)
    -- javax.resource.cci.ConnectionFactory#getConnection()
    -- javax.resource.spi.ManagedConnection#getConnection(javax.security.auth.Subject, javax.resource.spi.ConnectionRequestInfo)
    -- MyConnection(MyManagedConnection)
    (Constructor of the implementer class of the javax.resource.cci.Connection interface)
    -- javax.resource.cci.Connection#createInteraction()
    -- MyInteraction(javax.resource.cci.Connection)
    (Constructor of the implementer class of the javax.resource.cci.Interaction interface)
    -- javax.resource.cci.Interaction#execute(javax.resource.cci.InteractionSpec, javax.resource.cci.Record, javax.resource.cci.Record)
    -- javax.resource.spi.LocalTransaction#commit()I would expect that after the last commit() - meaning that BPEL process is done, and its state is "Completed" - Weblogic server would call the following:
    javax.resource.cci.Connection#close()However it doesn't. Do I miss something ?

  • How to set timeout when BPEL Invokes EBS API in 10G

    I am invoking a EBS API through Oracle Applications Adapter in my BPEL, During the execution of my BPEL Process, if my EBS API call takes more than 10s, i want it to timeout. Can you please let me know how can i achieve it. I tried using the <property name="timeout">10</property> <property name="optSoapShortcut">false</property> in the partnerlink defintion, but it didnt help.

    Thanks Arik and vijay for your response,
    syncMaxWaitTime needs to be set at the domain level, then it would timeout all the services that are deployed on my environment. Property transaction-timeout and syncMaxWaitTime will not resolve the issue, because i need to achieve the timeout for a particular service only (Sorry, I should have mentioned in the problem statement that i need to implement the timeout for a specific service).
    I tried the PartnerLink timeout property along with optSoapShortcut but timeout is not happening.
    If you could provide me any other alternative solutions that would help me to timeout the call to EBS using a Oracle Applications Adapter in BPEL 10g Invoke activity.
    Wish you a belated Happy Christmas and advanced New Year wishes.
    Regards,
    Sivananda
    Edited by: 978071 on Dec 26, 2012 2:43 AM
    Edited by: 978071 on Dec 26, 2012 2:44 AM

  • Can a Approval process manually invoked from a jsp!!!

    Hi everyone,
    I have attached new jsp to the left menu of xelsysadm. In this jsp user will fill up information. on submit i should invoke an approval process once its approved i will make changes on Target system.
    Can this be done through API. What would be the approach!!
    Thanks,
    murli

    Here is a sample to create a request
         public long createResourceRequestForUser(String resourceName, String userId, boolean addResource)throws OIMServiceException
              logger.debug("Entering createResourceRequestForUser") ;
              long reqKey=-1, usrKey=-1, objKey=-1;
              tcUserOperationsIntf oimUserUtility = null ;
              tcRequestOperationsIntf oimRequestUtility = null;
              tcObjectOperationsIntf oimObjectUtility = null;
              try {
                   oimUserUtility = (tcUserOperationsIntf) oimUtilityFactory.getUtility
                                                           ("Thor.API.Operations.tcUserOperationsIntf");
                   usrKey = getUserKeyByUserId(userId, oimUserUtility);
                   oimObjectUtility = (tcObjectOperationsIntf) oimUtilityFactory.getUtility
                                                           (Thor.API.Operations.tcObjectOperationsIntf");
                   Hashtable objHash = new Hashtable();
                   objHash.put("Objects.Name", resourceName);
                   tcResultSet objSet = oimObjectUtility.findObjects(objHash);
                   objKey = objSet.getLongValue("Objects.Key");
                   logger.info("Object Key for the resource " + resourceName +" is " + objKey) ;
                   oimRequestUtility = (tcRequestOperationsIntf) oimUtilityFactory.getUtility
                                                           (Thor.API.Operations.tcRequestOperationsIntf");
                   HashMap reqMap = new HashMap();
                   reqMap.put("Requests.Target Type", "U");
                   reqMap.put("Requests.Type", "U");
                   //Check whether the resource is for revoke or grant for the service
                   if(addResource==true)
                        reqMap.put("Requests.Object Request Type", "Add");
                        logger.info("Creating request to provision resource "+ resourceName + " for user "+ userId) ;
                   else
                        reqMap.put("Requests.Object Request Type", "Revoke");
                        logger.info("Creating request to revoke resource "+ resourceName + " for user "+ userId) ;
                   //Create the request
                   reqKey = oimRequestUtility.createRequest(reqMap);
                   logger.info("New request created with request id "+reqKey) ;
                   //Adding user to be provisioned for resource object
                   oimRequestUtility.addRequestUser(reqKey, usrKey);
                   logger.info("Adding user for which the resource is to be provisioned or revoked") ;
                   //Adding Object to be provisioned
                   oimRequestUtility.addRequestObject(reqKey, objKey, false);
                   logger.info("Adding Object to be provisioned or revoked ") ;
                   oimRequestUtility.completeRequestCreation(reqKey);
                   logger.info("Completed and submitted the request ") ;
              }catch(Exception e)
                   tcae.printStackTrace();
                   logger.error("Error in resource request for the user "+userId + " :"+e.getMessage()) ;
                   throw new OIMServiceException(tcae.getErrorCode() + ":" + e.getMessage()) ;
              } finally {
                   if(oimUserUtility != null){
                        oimUserUtility.close() ;
                   if(oimObjectUtility != null){
                        oimObjectUtility.close() ;
                   if(oimRequestUtility != null){
                        oimRequestUtility.close() ;
              logger.debug("Leaving createResourceRequestForUser") ;
              return reqKey;
         }

  • Invoking a BPEL process from a Java application

    Hello all
    I am trying to invoke a BPEL process from a JSP. The JSP is deployed in a different weblogic domain (different from the BPEL weblogic domain).
    I am getting the following error messages. Can some one help ??
    java.lang.Exception: Failed to create "ejb/collaxa/system/DomainManagerBean" bean; exception reported is: "javax.naming.NameNotFoundException: While trying to lookup 'ejb.collaxa/system/DomainManagerBean' didn't find subcontext 'ejb' Resolved ; remaining name 'ejb/collaxa/system/DomainManagerBean'
         at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:858)
         at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:225)
         at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:154)
         at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:188)
         at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:237)
         at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:336)
         at javax.naming.InitialContext.lookup(InitialContext.java:347)
         at com.collaxa.cube.util.CXBeanRegistry.lookupDomainManagerBean(CXBeanRegistry.java:207)
         at com.oracle.bpel.client.auth.DomainAuthFactory.authenticate(DomainAuthFactory.java:84)
         at com.oracle.bpel.client.auth.DomainAuthFactory.authenticate(DomainAuthFactory.java:48)
         at com.oracle.bpel.client.Locator.(Locator.java:59)
         at jsp_servlet.__invokehelloworld._jspService(__invokehelloworld.java:139)
         at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
         at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6350)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
         at com.oracle.bpel.client.auth.DomainAuthFactory.authenticate(DomainAuthFactory.java:96)
         at com.oracle.bpel.client.auth.DomainAuthFactory.authenticate(DomainAuthFactory.java:48)
         at com.oracle.bpel.client.Locator.(Locator.java:59)
         at jsp_servlet.__invokehelloworld._jspService(__invokehelloworld.java:139)
         at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
         at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6350)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    Thanks
    Mahesh :)

    G'd morning petr,
    check out 102.invokingProcesses tutorials but not the jsp one.. look into rmi, and into the context properties.. That should help figuring out what/s wrong .. (looks like you try an in-container lookup)
    /clemens

Maybe you are looking for