Invoking a WLI 9.2 business process from JSF Controller class

I want to call a WLI business process from a java class, which will run in the same JVM as the WLI. I have read that JPD Proxy can be used for this purpose. I am concerned with the overhead of RMI calls. Any insight into this would be helpful .

Hi Raj
You have to use JPDproxy to call a business process from a java class. This is what BEA also recommends at http://e-docs.bea.com/workshop/docs81/doc/en/integration/howdoI/howProxyJavaClient.html as this is the only way to call a JPD from plain java class.
Many customers use this and even if there is, the overhead should not be substantial.
You may also want to try posting in the WLI newsgroup at http://forums.bea.com/bea/forum.jspa?forumID=2047
Vimala-

Similar Messages

  • How to invoke business process from sap xi?

    Hi...
    Please tell "How to invoke business process from SAP UI's."

    Hi...
    How to invoke business process from SAP UI's. (Eg: To trigger a process after creating an invoice)

  • Building a Composite Business Process from Scratch-Guided 1 (Cannot Build)

    Hi, I have tried to followed the document : Building a Composite Business Process from Scratch with SAP NetWeaver BPM u2013 Guide 1 to create my first BPM program, however, the program cannnot be built. I don't knoww how to fix the program, can you help?
    Error: Constraint violation: Active pool "Investment Approval Process" must have exactly one End or Termination but any End Error Event.
    Error: Constraint violation: Active pool "Investment Approval Process" must have exactly one Start Event.
    Warning: Constraint violation: No administrator defined for "Investment Approval Process".
    Warning: Constraint violation: Some of the data elements from input mapping of "Enter Purchase Request"is not initialized before used.
    Warning: Constraint violation: Some of the data elements from input mapping of "Approve Purchase Request"is not initialized before used.
    Error: Exception during constraint check of processes. Check Your model for problems.
    Error: Constraint validation found errors
    Ant build finished with ERRORS
    Constraint validation found errors
    Error: Build stopped due to an error: Constraint validation found errors
    Regards,
    Matt Yim

    Hi Matt,
    Check the following in your process:
    - If you have gateways in your process, ensure that all the paths have conditions and atleast 1 default path for gateway is set
    - Check for Process Administrator assignment and TaskLevel/Lane level potential owners are assigned
    - Check for the i/o mapping of tasks
    - Check the Problem View for th errors.
    Cheers,
    Arafat

  • MM,PM Business process from scarch

    Hi Gurus,
    Can any body ley me know the MM,PM business process from scratch.
    what are the things should be done by MM consultant from scratch,
    Thanks,
    Dariya

    Hi Dariya,
    MM PRocess
    Create Purchase Requisition
    Maintain Quatation
    Selecting the Vendor
    Create the Purchase Order
    Create Goods Receipt
    Posting the Invoice
    PM Process
    Creat Master data Equipment
    Creat Technical Object like Functional location
    Create Maintenace plan
    Create Maintenace Order
    Processing the maintenace order
    Calibration of testing Equipmemt
    PM Notifications processing
    Thanks and regards
    Muruegsan

  • Timeout error calling a Business Process from another Business Process

    Hi to all,
    How can I call a Business Process (BP2) from another Business Process (BP1) and wait for the response before other things are performed? I'm trying to call from BP1 in a synchronous step the process BP2; the first step of BP2 is an Open S/A Bridge and, after a transformation, a Close S/A Bridge, but no response returns to BP1 till a timeout error.
    Thank you very much,
    Antonio

    I did some changes and the error now I am getting is,
    ===========================================================
    Error : null oracle.jsp.JspServlet.internalService(JspServlet.java:186)oracle.jsp.JspServlet.service(JspServlet.java:156)javax.servlet.http.HttpServlet.service(HttpServlet.java:588)org.apache.jserv.JServConnection.processRequest(JServConnection.java:456)org.apache.jserv.JServConnection.run(JServConnection.java:294)java.lang.Thread.run(Thread.java:534)
    Error : oa_html._Text__Button__Lat._jspService(_Text__Button__Lat.java:712)oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:417)oracle.jsp.JspServlet.doDispatch(JspServlet.java:267)oracle.jsp.JspServlet.internalService(JspServlet.java:186)
    ============================================================
    Does the middle tier need to be bounced?
    Thanks

  • Separating heavy duty business process from web application

    I'm working with a web application that just runs in a Servlet container, Jetty actually. I'm wondering what the best way to separate resource intensive processes, such as a search indexing process, from the main web application. These resource intensive processes might run at scheduled times, or they might be triggered by the events in the web application. I assume the second thing might incur much more complications on the solutions. I have a lot of questions about this, but for now, I'd just like to have some folks point out the common solutions. Changing to a EE application server is NOT an option.

    chadmichael wrote:
    Couple of questions:
    1) What's the benefit of going to another app if you're still on the same server? I'm not being coy, I'm just trying to get a feel for the pros and cons. You could always run something on a timer from within the web application. Is there a performance benefit from being in another JVM? Then run it on the same server. No need to run it on another server if a separate JVM will do it for you.
    2) How would you communicate with the main app if you needed to receive events or something? RMI?You stated it was on a timer. There is no need to be on the same server to run things from a timer. If it needs to be event driven a simple way would be to set up a separate instance of Tomcat (or Jetty) on the same or different server. Refactor out what ever the offending code is into separate servlet and have your main app just send the events off to the other instance.
    There are a lot of ways to go about this. They depend on what your needs are.

  • Get information about business object from view implementation class

    Hi,
    i´d like to develop some button behavior in a view. How can i get the information of the related business object like the order or the position. I like to disable buttons if specific status are set.
    Bye Richard

    hi,
    Is needed field available in context nodes or not?
    for example:
    If you want to read STATUS_DESCR attribute from the context node SELECTEDDOC , then code like this
    lr_selected ?=  me->typed_context->SELECTEDDOC->collection_wrapper->get_current( ).
    if lr_selected is bound.
      lv_status = lr_selected->get_property_as_string( 'STATUS_DESCR' ).
    endif.
    activtae the debugging in IF_BSP_WD_TOOLBAR_CALLBACK~GET_BUTTONS method and check the values for context nodes and attributes.
    I mean debugging for:
    me->typed_context
    me->typed_context->SELECTEDDOC
    comp_controller
    regards
    ismail

  • Error while launching the workflow from OAF controller class.

    Hi Everyone,
    I'm using the below code from the submit button event to launch the workflow. The workflow works fine when I submit for the first time, when i try to submit for the second time from the same session it throws me the error as
    "Workflow with item type (XXCEDASP) and item key (SUNDRY-1061) is in progress. Abort existing workflow before launching a new process for this transaction."
    The item key which it is showing in the error is the item key for the previous transaction. Also I tried the code that is commented below (code between /* */). If I use the commented code, it doesn't throw me error but cancels all the transactions(that are initiated from the same session) except the last one.
    Is there any work around for this from oaf? Please help.
    Code:
    public void launchCustomWorkFlow(OAPageContext pageContext,
    String transaction_id, String requestor) {
    String wfItemType = "XXCEDASP";
    String wfProcess = "XXCED_MAIN_PROCESS";
    OANavigation wfClass = new OANavigation();
    String wfItemKey = transaction_id;
    /*if (OANavigation.isWorkflowInProgress(pageContext))
    String oldKey = OANavigation.getItemKey(pageContext);
    if (!OANavigation.abortProcess(pageContext, wfItemType,wfProcess, oldKey,
    null, null))
    throw new OAException("Error", OAException.ERROR);
    System.out.println("transaction ID = " + transaction_id);
    //Create Workflow Process
    wfClass.createProcess(pageContext, wfItemType, wfProcess, wfItemKey);
    wfClass.setItemAttrText(pageContext, wfItemType, wfItemKey,
    "TRANSACTION_ID",transaction_id);
    wfClass.setItemAttrText(pageContext, wfItemType, wfItemKey,
    "REQUESTOR_NAME",requestor);
    // Start Workflow Process
    wfClass.startProcess(pageContext, wfItemType, wfProcess, wfItemKey);
    Thanks
    Sunny

    Hi Haroon,
    Thanks for your reply. I tried doing it using the database procedure too. I'm having different problem if I do so. The problem is that when I submit the first transaction, the workflow is not kicked off. when i submit the second transaction, the first one gets kicked off, when I submit the 3rd one second one gets kicked off. So the last one never gets kicked off. This is the pattern I have observed.
    here is my code
    OAF Code:
    OracleCallableStatement cs = null;
    try {
    cs = (OracleCallableStatement)getOADBTransaction().createCallableStatement("{call XXCED_APWFL006_SUNDRYAPPR_PKG.INITIATE_WORKFLOW(:1,:2)}", -1);
    cs.setString(1,transaction_id);
    cs.setString(2,requestor);
    cs.execute();
    System.out.println("callable statement executed for transaction "+transaction_id);
    cs.close();
    catch(SQLException e) {
    throw new OAException("Error Raised:"+e,OAException.ERROR);
    Procedure Code:
    PROCEDURE Initiate_Workflow(transaction_id in varchar2,
    requestor in varchar2)
    is
    l_item_type varchar2(20):= 'XXCEDASP';
    l_start_process varchar2(30):='XXCED_MAIN_PROCESS';
    l_item_key varchar2(30):= transaction_id;
    begin
    wf_engine.createprocess(l_item_type,l_item_key,l_start_process);
    wf_engine.setitemattrtext(l_item_type,l_item_key,'TRANSACTION_ID',transaction_id);
    wf_engine.setitemattrtext(l_item_type,l_item_key,'REQUESTOR_NAME',requestor);
    wf_engine.startprocess(l_item_type,l_item_
    Can you please let me know what am I doing wrong?
    Also please send the code that has worked for you.
    Thanks
    Sunny

  • How to get the VIEW_ID from VIEW Controller Class?

    Hi,
    In my BADI(CRM_BP_UIU_VIEW_CONFIG), I have a view controller variable(IR_VIEW_CONTROLLER) referring to CL_BSP_WD_VIEW_CONTROLLER. Now, I have to get VIEW_ID using this varibale. However, the VIEW_ID attribute is Protected in the class .CL_BSP_WD_VIEW_CONTROLLER So, I am unable to access this attribute.
    Could you please help me out, how can I do achieve this?
    Thanks,
    Sandeep

    See if you can make use of GET_VIEWAREA_CONTENT or GET_VIEWAREA_CONTENT_ID...
    Regards,
    BJ

  • Invoke process from method implementation of automatic activity

    Hi,
    I want to invoke a business process from automatic activity of another business process deployed on same engine and in same project as well. Please provide steps, if possible for the same.
    Thanks in advance.

    Hi Ketan,
    Here's how you can create an instance in a process using logic in an Automatic activity's method. This uses the "Fuego.Lib.ProcessInstance.create()" method shown below inside a process:
    // "args" is an associative string array (Any[String])
    argsIn as Any[String]
    // this assumes that the Begin activity has two argument variables
    //   named "nameArg" and "amountArg" and you're setting them
    //   to the variables "name" and "amount" respectively
    argsIn["someArgVarName"] = "Hello"
    argsIn["someBpmObject"] = myBpmObject
    // logic here to determine the name of the process to create an instance in
    idOfProcess as String
    idOfProcess = <hard coded string that has the id (not the name of the process to instantiate>
    ProcessInstance.create(processId : "/" + idOfProcess, arguments : argsIn, argumentsSetName : "BeginIn") ProcessInstance is in the Catalog inside Fuego.Lib.
    The processId parameter (the "idOfProcess" variable in the above logic) is the thing I most commonly screw up with this. It is the text you see when you right mouse click the process in the Project Navigator tab -> "Properties". Look at the value in the "Id" field and not the "Name" field here (the name without any space characters). Prefix it with a "/" as is shown here and if you've deployed this using an organization unit (OU) then prefix this to the string also.
    The third parameter is almost always "BeginIn". Begin activities in a process can have many incoming argument mappings, the default is "BeginIn". To see yours, double click the process's Begin activity and look at the mapping's name in the upper left corner of the dialog.
    "argsIn" is the set of incoming argument variables you want passed into the process. A common mistake is to type in the names of the incoming argument variables without the double quotes like this:
    // this will *NOT* work
    argsIn[someArgVarName] = "Hello"
    argsIn[someBpmObject] = myBpmObject
    . . .Here is the correct syntax:
    // this *WILL* work
    argsIn["someArgVarName"] = "Hello"
    argsIn["someBpmObject"] = myBpmObject
    . . .In this example, the process has two argument variables. It does not matter if the incoming argument variables are primitive type arguments (e.g. String, Integer, Decimal...) or BPM Objects, it is always done the same way. In this example, there is a String incoming argument called "someArgVarName" and a BPM Object incoming argument called "someBpmObject".
    Hope this helps,
    Dan

  • Handling  Faults in a Business process JCAPS 513

    Hi All,
    We are testing the faults in a WSDL file.
    Fault message has three fields viz Type/Message/Trace.
    When i invoke the webservice in a JCD , all the 3 fields are getting populated with the proper error description.
    But when i invoke the same service in a business process with a CatchAllExceptions handler, control goes to the exception block , But the fields are not getting populated , instead they are empty.
    Could any body please let me know , if we need to consider any extra stuff when we invoke a webservice in a Business process.
    By the way we are using JCPAS 5.1.3 for this.
    Regards
    Giri.

    Consider that we have a JCD with input and output defined. When we drag this JCD service to eInsight business process canvas, bp creates 3 business attributes (ie 1-input, 2-output and 3-JavaException). We can use a named exception handler and use 3-JavaException attribute to handle exceptions from JCD Service.
    Consider that we have a JCD with input (Like a One-Way service) defined. When we drag this JCD service to eInsight business process canvas, bp creates only 1 business attribute (ie 1- input). JCD service is capable of throwing an exception. How do we catch/handle this exception?
    Thanks,
    Siva

  • Kick off a business process with JMS message

    I'm a newbie with a job that's way over my head and I'm thouroughly confused on
    the logic involved with kicking off a business process (workflow) through the
    reciept of a JMS message. The docs say it can be done. I have a business process
    in one project folder of an enterprise app, its start node is a channel subscription.
    Can I somehow send a JMS message directly to the business process? (Send a message
    NOT from within the weblogic environment, but from outside) I have created a
    Message Driven bean in a seperate project folder of the same application as the
    business process. From an outside client, I think I might need to invoke the
    MDB with a JMS message, then call the business process from there. Is this totally
    off-base? What do event generators have to do with any of this?
    Please help.

    Yes, you use the event generator.
    Open up the Weblogic Integration console, click on Event Generators.
    Add a JMS Event generator that listens to the queue you are interested
    in, and then select the channel that your process has subscribed to.
    Lisa wrote:
    I'm a newbie with a job that's way over my head and I'm thouroughly confused on
    the logic involved with kicking off a business process (workflow) through the
    reciept of a JMS message. The docs say it can be done. I have a business process
    in one project folder of an enterprise app, its start node is a channel subscription.
    Can I somehow send a JMS message directly to the business process? (Send a message
    NOT from within the weblogic environment, but from outside) I have created a
    Message Driven bean in a seperate project folder of the same application as the
    business process. From an outside client, I think I might need to invoke the
    MDB with a JMS message, then call the business process from there. Is this totally
    off-base? What do event generators have to do with any of this?
    Please help.

  • Calling a Business process without using RMI nor WS.

    For efficience reasons we are interested in calling business processes from java classes deployed in the same server that WLI but without using RMI calls.
    In the documentation it's said that you are able to call Business Processes via WebServices, or via the JPD Proxy. This proxy could be used from a java class but it uses RMI.
    <b>There is an intermediate interface that we could use for executing processes without using RMI?.</b> Is this interface java accesible or we have to develop a Wrapper to adapt the call?
    Thank's, David.

    Hi,
    I experienced the same behaviour with my setup here - only he ws-addressing is used. I am using Oracle SOA Suite 10.1.3.1.0.
    After redeploying the process several times, i gave up ...
    I wonder if the correlation property is entirely ignored ?
    Thanks in advance,
    André

  • Business Process Modeling in SAP Solution Manager

    Hi.
    Even ther an Solution Manager space, i wish to get some opinion related to Business process Modeling.
    We are working in an upgrade project. R/3 4.6 C to ECC 6.0. The customer decide to use Solution manager to map their process, based on the transactions of the new version.
    Company Business Process:
    1.Based on ISO standards.
    2.By product line
    3.The process are defined using an structure with 4 Levels: Macro Process, Business scenarios, Business Process and Steps/activities.
    There are 2 possibilities to map the process into the Sap Solution Manager:
    1. Map the process by component.
    - Single Project
    -It means to make a list of all sap components with their process without mattering the business process.
    -Each product line can be a variant for an specific process. e.g: Sales by line 
    2. Map the process as ISO Standards
    - Several projects : For each product line
    Which cold be the better option in order to:
    - Easy configuration activities
    - Easy design of Unit and integration test
    - Easy activities of Process enhancement and optimization
    Theres another option?
    Thanks
    Alvaro Hernán Rojas R

    Hi Alvaro Hernán Rojas R ,
    The product line is the hierarchy of the finished goods.
    It is pertinent that the finished goods has emerged due to some process(es) carried on the raw material.
    Thus logically you should map in solution manager based on the process only.
    The macro process while depicts the processes at the highest level.The Business scenarios, Business Process gives a good idea about how you should go about configuring.The Steps/activities helps you to map in to SAP thro' T/Codes.
    From the point of view of all of the below three,namely,
    Easy configuration activities
    Easy design of Unit and integration test
    Easy activities of Process enhancement and optimization,
    the option   Map the process as ISO Standards
    - Several projects : For each product line,will be most ideal.
    It is the processes that drives the activities.The control activities like internal control etc are all process based.Given these,divorcing the business process from the configuration -as in -is certainly not a good practice.
    Hope this helps.
    Regards,
    Ramesh

  • Help Required IN Business Process Monitoring?

    Hi,
    i have few clarifications reg BPM in solution Mangager
    1.What is monitored in BPM,Business Process interfaces or the business Process data( at does t monitors at data level)?
    2.if interfaces are monitored in Solman BPM,how different it is from Netweaver Business process management.?
    3.if possible can anyone brief out what XI process monitoring is and how is it different from SOLMAN BPM?
    helpful answers rewareded
    rgds,
    rajesh

    Hello Rajesh,
    please refer to https://service.sap.com/bpm --> Media Library --> Customer Information --> "Business Process & Interface Monitoring - Part 2" to get a comprehensiver overview about what is available out-of-the-box for BPMon in SolMan.
    BPMon in SolMan and BPM in Netweaver adress different target groups and can be seen a complementary functionalities.
    BPMon in SolMan is primarily targeting at the 2nd level application support and should ensure a stable and smooth processing of Business Processes from a technical as well as application perspective. The processes have a granularity down on transaction or background job level.
    Technical monitoring could be average response time of a transaction or a job cancellation.
    Application monitoirng is providing about the throughput numbers of documents like sales orders, deliveries or backlog figures indicating that there are erronuous documents or documents that need manual intervention. Looking at this last aspect it is clear that a second target group is key players on business unit side, like sales reposnibles, plant owners etc.
    On interface side you can monitor IDocs, qRFCs, Batch Input session for certain statuses, check if files arrived or do some XI messaged based alerting.
    BPM in Netweaver is a technical layer deeper and based especially on XI/PI. So this is an integration engine itself. When you look at the capabilities of XI/PI where you can split or correlate messages with ccBPM this is related to so called integration processes which could be a more detailed sub-process from what is looked at BPMon in SolMan. Other aspects that BPM in Netweaver is supports is Business Activity Monitoring BAM which cannot easily explained with  a few sentences. But here the target groups with BAM are either real business end-users or C-level management for business efficiency analysis.
    Hope this answer could clarify a few things.
    Volker

Maybe you are looking for