BPEL Evaluation with WSIF

Hi All,
I have a xml document that flows through 3 systems(assume workstations) one after another similar to UNIX pipes i.e the output of one system is fed as input to the next system. There is some legacy Java code that sits on each of the systems(workstations) for TRANSFORMING the xml document as it flows through the pipeline. I'm currently evaluating different options(*BPEL,ESB* etc) to emulate(achieve the same functionality) this pipeline to make things better in the big picture. After reading some BPEL/ESB/WSIF tutorials/articles, i think i could create a BPEL process to emulate the UNIX like pipeline. My problem is that none of the systems expose any webservice and creating a SOAP based webservice for each of these systems is not an option.
Also i want to use the legacy TRANSFORMATION java code sitting on each machine for doing the transformation in my BPEL. I'm aware that WSIF allows me to invoke POJO by creating a so called webservice. But as per my understanding,the Java code has to then reside on the BPEL server under the system's classes directory.Is this true? or i can create a webservice(WSIF based and not SOAP based) to invoke a java class deployed/located on a remote machine.
So in short
1. What are my options for emulating/achieving the same functionality as the UNIX like pipeline for the 3 systems.?
2. Using WSIF can my BPEL invoke the methods of a JAVA class located on a remote machine?
3 Am i on the right track in using BPEL for this problem or should i be looking at other options?
I would appreciate any suggestions,workarounds on the above mentioned problem
Feel free to criticize my approach and help me achieve my goal.
Regards
Atul

Anybody with some suggestions please...The answer to these questions is critical for us to build our solution on Oracle BPEL server
Atul

Similar Messages

  • Cannot deploy BPEL process with SSO to BPELConsole activated

    I cannot deploy BPEL process with SSO to BPELConsole activated. Here is the error I get from JDeveloper (sorry for the french error message):
    Problème détecté lors de la connexion au serveur "ssdvoiagu.dev.local.csst.qc.ca" sur le port "7781" : java.security.AccessControlException: access denied (com.collaxa.security.DomainPermission generique read)
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
    at java.security.AccessController.checkPermission(AccessController.java:427)
    at com.collaxa.security.OC4JSecurityService.checkAccess(OC4JSecurityService.java:16)
    at com.collaxa.security.SecurityService.checkDomainAccess(SecurityService.java:26)
    at com.collaxa.cube.fe.util.ServletUtils.getLocatorWithoutUrlRewrite(ServletUtils.java:162)
    at deployHttpClientProcess.jspService(_deployHttpClientProcess.java:332)
    at com.orionserver.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.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:396)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:410)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:623)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:595)
    Target BPEL process manager runs under SOA 10.1.3.3. When the SSO to BPELConsole is disabled, the deployment works just fine. Is there any way to make it work with SSO?

    Please check:
    http://blog.jpoot.com/category/oracle-appserver/oid-ldap/
    We had some issues with SSO and SSL but everything is running now.
    Marc

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

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

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

  • Vendor Evaluation with QM - Tables

    Hello
    Can any one help the table information such us vendor evaluation main criteria and sub-criteria. Information stored in the audit lot , rejections and complaints etc. Please i am looking for only Vendor Evaluation with QM - related Tables information only .
    Thanks for your help
    Nic

    T147   - Control table for vendor evaluation
    T147A - Definition for main criteria
    T147B - Text for main criteria
    T147C - Definition for sub-criteria
    T147D - Text for sub-criteria
    T147E - Definition of weighting keys
    T147F - Description of weighting keys
    T147G - Main criteria
    T147H - Interval for delivery time statistics
    T147I - Definition of sub-criteria for the main criteria
    T147J - Weighting keys
    T147K - Assignment: Percentage X Score
    T147L - Intervals for quantity reliability
    T147M - Definition of scope of list
    T147N - Text for scope of list
    T147O - Scope of List
    T027A - is the table for defining shipping instructions
    T027C - specifies the points scores for compliance

  • S_ALR_87012176 - AR,  Customer Evaluation with OI Sorted List

    Hi,
    Can someone tell how to read S_ALR_87012176 - Customer Evaluation with OI Sorted List in AR. What do the old, ovd and omt mean.
    Thanks,
    Ram

    This is a standard report.
    Enter the Customer range and Company Code.
    You can change the open item at key date forward, back or keep it as today.
    You then need to make any other selections.
    In terms of the output it is determined by the summarization levels. use the Information icon "I" to see the settings.
    Lastly you can change the bucket view by changing the days overdue groupings.
    Here is the information:
    The program displays the following payment history information:
    Sales figures such as annual sales and authorized deductions. This data is available in the system and only issued by this program.
    Information on whether the customer is a net payer or a cash discount payer. This information is displayed in the field "Type".
    The type of payer is determined by means of the payment volume:
    A net payer is a customer who usually exhausts the payment term and does not take any cash discounts.
    A cash discount payer is a customer who usually makes use of the cash discount deduction.
    Days in arrears. The average days in arrears are determined as follows:
    For each of the last five periods in which payments took place, the payment amount from each period is multiplied by the average days in arrears from each period. The results are added together and then divided by the total of the payments from the periods.
    The days in arrears are thus weighted with the payment amount.
    Last payment period. The period and the year (for example, 5 93) are displayed.
    In addition to analyzing payment history, this program evaluates customer open items. It structures the items it selects using a time schedule that you can define as you like, and displays them according to business area.
    The criteria you can choose for this analysis are as follows:
    Aging schedule for open items by due date for net payment
    Displayed next to "Net"
    Calculation: Due date for net payment - key date
    Due date forecast using the first cash discount days
    Displayed next to "Dsc"
    Calculation: Baseline date for payment + cash discount days 1 - key                                                                   date
    Probability of payment based on the weighted incoming payments in the past
    Displayed next to "Pay"
    Calculation: Baseline date for pmnt + cash disc.days 1 + average days                                                            in arrears
    Days overdue of items that are due
    Displayed next to "Ovd"
    Calculation: Key date - due date for net payment
    Examples of the open item analysis
    The item used in these examples contains the following data:
    Document date   04/01/1992
    Baseline date for payment   04/05/1992
    Terms of payment   8 days 5% / 14 days 2% / 21 days net
    Key date   04/15/1992
    The due date for net payment of this item is determined as follows:
    Baseline date for payment + net days
    The sorted list for this item would appear as follows:
    The (*) indicates in which column in the sorted list the item would appear for the different evaluations.
    Due date for net payment
    Due date for net payment - key date = number of days until the due                                        date for net payment
    04/26                    - 04/15    = 11 days
    Display in the list:
    I    1    I    2    I     3    I     4     I    5    I    6    I -
    I         I from  1 I from 11 I from 21 I from 31 I from 41 I I to  0   I to   10 I to   20 I to   30 I to   40 I         I -
    Explanation of column 1:
    Items displayed here are overdue.
    Explanation of column 6:
    Items displayed here are due in 41 days or more.
    Cash discount 1 due date
    Baseline date for payment + cash discount days-1 - key date
    04/05                     + 8                    - 04/15    = -2 days
    Display in the list:
    I    1    I    2    I     3    I     4     I    5    I    6    I -
    I         I from  1 I from 11 I from 21 I from 31 I from 41 I I to  0   I to   10 I to   20 I to   30 I to   40 I         I -
    Explanation of column 1:
    Items displayed here are overdue for the first cash discount.
    Explanation of column 6:
    Items displayed here are due in 41 or more days for the first cash discount.
    Forecast of incoming payments
    Baseline date for payt + cash disc.days 1 - key date + days in                                                          arrears
    04/05                  + 8                - 04/15    + 25    = 23 days
    Display in the list
    I    1    I    2    I     3    I     4     I    5    I    6    I -
    I         I from  1 I from 11 I from 21 I from 31 I from 41 I I to  0   I to   10 I to   20 I to   30 I to   40 I         I -
    Explanation of column 1:
    Items displayed here are overdue as regards cash discount 1.
    Explanation for column 6:
    Items displayed here are due in 41 or more days for the first cash discount.
    Days overdue
    Key date - due date for net payment
    04/15    - 04/26                  = -11 days
    Display in the list:
    I    1    I    2    I     3    I     4     I    5    I    6    I -
    I         I from  1 I from 11 I from 21 I from 31 I from 41 I I to  0   I to   10 I to   20 I to   30 I to   40 I         I -
    Explanation of column 1:
    Items displayed in this column are open but not yet due.
    Explanation of column 6:
    Items displayed here have been overdue for 41 or more days.
    Note
    The analysis types "Net", "Dsc", "Pay" are a future time frame for forecasting incoming payments. "Ovd" is the time frame for the past for analyzing overdue items.
    To estimate the probability of incoming payments, you should always request a sorted list by due date, cash discount days 1, and incoming payments forecast. Normally, the cash discount days 1 due date shows the earliest incoming payment, the latest due date and for the forecast of incoming payments the probable time of the incoming payment.

  • Regular expression evaluation with logical operator

    Hi All,
    I am bit confuse with expression evaluation with logical operator. I am trying to understand below expression.
    eXa.getTrue() && eXa.getFalse() || eXa.getFalse() && eXa.getTrue() || eXa.getFalse() comes as false and True Count: 1 False Count: 3
    As per understanding it should be true with True Count: 1 False Count: 3
    it should execute 1st getTrue() and then 1stGetFalse() and then 2nd getfalse() and should skip 2nd getTrue() and execute 3rd fetFalse()
    eXa.getTrue() && eXa.getTrue() || eXa.getFalse() && eXa.getTrue() || eXa.getFalse() comes as true and True Count: 2 False Count: 0
    As per understanding it should be true with True Count: 3 False Count: 0
    it should execute 1st 2 getTrue() and skip 1st getFalse() and then execute 3rd getTrue() and skip last getFalse().
    eXa.getTrue() || eXa.getFalse() && eXa.getFalse() || eXa.getTrue() && eXa.getFalse() comes as true and True Count: 1 False Count: 0
    As per understanding it should be true with True Count: 2 False Count: 2
    it should execute 1st getTrue() and skip 1st getFalse() and then execute 2nd getFalse() and then execute 2nd getTrue() and then 3rd getFalse()
    Please help me to understand above expressions.
    Here is the methods definition:
    private boolean getTrue() {
              trueCount++;
              boolean retrunValue = 4 > 3;
              return retrunValue;
    private boolean getFalse() {
              falseCount++;
              boolean retrunValue = 3 > 4;
              return retrunValue;
    Thanks for ur help

    >
    adding parenthesis to make order of ops more obvious. adding "?" to show un-executed calls.
    (eXa.getTrue() && eXa.getFalse()) || (eXa.getFalse() && eXa.getTrue()) || eXa.getFalse()  comes as false and True Count: 1 False Count: 3
    (T && F) = F
    (F && ?) = F
    (F) = F
    F || F || F = F
    (eXa.getTrue() && eXa.getTrue()) || (eXa.getFalse() && eXa.getTrue()) || eXa.getFalse()  comes as true and True Count: 2 False Count: 0
    (T && T) = T
    (? && ?) = ?
    (?) = ?
    T || ? || ? = T
    eXa.getTrue() || (eXa.getFalse() && eXa.getFalse()) || (eXa.getTrue() && eXa.getFalse())  comes as true and True Count: 1 False Count: 0
    (T) = T
    (? && ?) = ?
    (? && ?) = ?
    T || ? || ? = T

  • How to start BPEL process with publishing initiation form designed in ADF

    Hii All,
    Can Anyone please tell me how to Start my BPEL process with publishing initiation forms designed in ADF fusion.
    I am using JDevloper 11g and Oracle SOASuite 11g toolset in windows platform.
    Thankx in Advance,
    Deekay.

    Hi,
    I assume you mean the JMS example under the $OH BPEL examples area. Unfortunately, this only shows how to get a BPEL process kicked off by awaiting a JMS message - but there is no test code there! There are specific examples which show off the testing framework facilities but it appears that all the examples which use async type of interactions are in the middle of a process which is kicked off by a normal synchronous client interaction.
    Any further help much appreciated.
    Colin.

  • Time Evaluation with multiple time events

    Dear Friends,
    I have an issue in our current project. Kindly try to help me with a solution.
    We are working on Time Management module with Positive Time Recording method and evaluation- India. (Payroll module is not implemented)
    My issue is:
    Evaluation with multiple time events in a day: In our project, we have a scenario like the employees record multiple clock in and clock out times for one day and are uploaded into infotype 2011. But during time evaluation, only first Time event that is P10 (Clock In) and the last Time event P20 (Clock-out) in a day should be considered for evaluation, ignoring any multiple time entries in between duration in the table TEVEN (Infotype 2011).
    Pls let me know how this requirement can be met. Do we need to define any new PCR’s or create any functions? If yes, pls tell me the process in detail as I am new and implementing Time management (Positive Time recording with Evaluation) for first time. Try to help me as soon as possible.
    Thanks & Regards,
    Chiranjeevi
    Edited by: chiran reddy on Feb 15, 2008 2:20 PM

    is it not possible to enter only the first p10 and last p20 from the time systems into 2011.

  • Securing a BPEL Process with username/password in 10g

    securing a BPEL Process with username/password in 10g

    use OWSM gateways..
    create a gateway and define your policy in the gateway

  • BPEL Services with Task are ending in Recovery console

    Hi All,
    I have a BPEL service with task activity. Once the task service is invoked, the BPEL service is ending up in recovery console. Not sure why this is happening, we are currently on SOA 10.1.3.3.1+MLR18.
    Note: In the same service I have a debug statement after the task initiation and before the receive activity of task. Once the BPEL service is invoked log I can see that my debug statement is getting executed. It means that in the back end my task is getting executed but it is not shown in BPEL console or WFTASK table.
    Please suggest if we have I am missing any thing.
    Thanks
    Ramu.

    Hi Ramu,
    Are you able to recover the process from the manual recovery section ? If yes, then its fine and now turn the cube, wf, engine loggers to DEBUG and see the corresponding errors in the log file.(to figure out the root cause)
    Regards
    A

  • Strange error protecting BPEL service with WSM server agent

    I'm trying to protect a BPEL service with OWSM (SOA Suite 10.1.3.3 MLR#19). Everything looks fine as far as I can see, but when the service is called with WSM active it always fails with internal server error. There are no errors in the logs (BPEL logs, OPMN logs, OWSM logs, ...) except the following in the Apache access logs:
    "POST /policymanager/services/RegistrationService HTTP/1.0" 200 525
    I can connect to /policymanager/services/RegistrationService with a browser, it shows a message saying it is an Axis web service. Without WSM the BPEL service works fine.
    I have tried to fix this for two full days now and nothing I have tried makes a difference. Any suggestions for what I should do in order to solve the issue or at least get more data on what the root cause could be?
    -Erik
    Edit: There were two issues. The built-in test page doesn't work, when invoked with a real external client it works better. In addition the properties for file-based policies seem to be used even when the online check has been enabled (so they cannot be omitted/blank) and a restart is required to make the changes bite.
    Edited by: ew on Oct 4, 2010 2:50 PM

    Did you resolve this issue ? We are having same issue with one of our BPEL process ........ any help would be highly appreciated .....
    Thanks in Advance

  • Configuring BPEL PM with Oracle XE database

    Hi,
    I have been using my BPEL PM with default olite db quite a days ago and it was running fine. Now I have changed the dehydration to Oracle XE database and chnaged the corresponding data-source.xml files.
    I can access the default domain from BPEL console and I can see the processes.
    But I am getting the error when am creating an instance of the process and also I am not able to login to the worklist application.
    The error I got is shown below.
    <2005-12-26 12:38:57,375> <ERROR> <default.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "cu
    be delivery": Cannot fetch a datasource connection.
    The process domain was unable to establish a connection with the datasource with the connection URL "loc/BPELServerDat
    aSource". The exception reported is: Cannot fetch a datasource connection.
    The process domain was unable to establish a connection with the datasource with the connection URL "loc/BPELServerDat
    aSource". The exception reported is: Listener refused the connection with the following error:
    ORA-12519, TNS:no appropriate service handler found
    The Connection descriptor used by the client was:
    152.69.213.27:1521:xe
    Please check that the machine hosting the datasource is physically connected to the network. Otherwise, check that th
    e datasource connection parameters (user/password) is currently valid.
    Please check that the machine hosting the datasource is physically connected to the network. Otherwise, check that th
    e datasource connection parameters (user/password) is currently valid.
    <2005-12-26 12:38:57,515> <ERROR> <default.collaxa.cube.engine.dispatch> <BaseScheduledWorker::process> Failed to hand
    le dispatch message ... exception ORABPEL-05002
    Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.invoke.InvokeI
    nstanceMessage"; the exception is: Cannot fetch a datasource connection.
    The process domain was unable to establish a connection with the datasource with the connection URL "loc/BPELServerDataSource". The exception reported is: Cannot fetch a datasource connection.
    The process domain was unable to establish a connection with the datasource with the connection URL "loc/BPELServerDataSource". The exception reported is: Listener refused the connection with the following error:
    ORA-12519, TNS:no appropriate service handler found
    The Connection descriptor used by the client was:
    152.69.213.27:1521:xe
    Please check that the machine hosting the datasource is physically connected to the network. Otherwise, check that th
    e datasource connection parameters (user/password) is currently valid.
    Please check that the machine hosting the datasource is physically connected to the network. Otherwise, check that th
    e datasource connection parameters (user/password) is currently valid.
    Waiting for any idea to solve this issue.
    Thanks in advance
    Aki

    Similar problems, in my case I was trying out the DatabaseServer on an Oracle XE database using the Embedded OC4J A/S bundled with RC3; this combination turns out explosive :)
    The service was simply doing a select statement and the number of connections kept growing and growing during my tests; you can see them from the command line when typing `netstat -t` - eventually it just stopped working while I was testing; in the web service it reported:
    ORA-12519, TNS:no appropriate service handler found
    But my listner was running !!! I tried the connection from JDS and it complained about the same thing - then eventually I tried it from sqlplus and it showed:
    ORA-00020: maximum number of processes (%s) exceeded
    So now finally we're getting somewhere - after googling I found this web site; a good laugh:
    http://it.newinstance.it/2007/06/01/ora-12519-tnsno-appropriate-service-handler-found/
    So basically I did from the command line the following:
    lsnrctl stop;
    sqlplus "/as sysdba"
    shutdown immediate;
    startup;
    alter system set processes=150 scope=spfile;
    shutdown immediate;
    startup;
    lsnrctl start;
    Now hopefully this will solve it; I'd still like to know how to change the OC4J connection pool settings for the SOA stuff - is this possible at all or does it have some kind of minimum requirement ?
    After restarting and testing a few times; my service is actually working so I'm very pleased :)
    Regards

  • Undeploying BPEL Process with ant

    Hello,
    I am trying to undeploy BPEL Process with the ANT Script. I did not wrote it by myself but got it as a sample from
    http://blogs.oracle.com/rammenon/2007/11/26/#a74 with the admintasks.jar as well.
    Unfortunately, when I try to undeploy , I recieved following exception:
    java.rmi.UnmarshalException: Error deserializing return-value: java.io.InvalidClassException: com.oracle.bpel.client.BPELDomainHandle; local class incompatible: stream classdesc serialVersionUID = -6384534326625967840, local class serialVersionUID = -8310067783665200608
    at com.evermind.server.rmi.RMIClientConnection.handleMethodInvocationResponse(RMIClientConnection.java:843)
    at com.evermind.server.rmi.RMIClientConnection.handleOrmiCommandResponse(RMIClientConnection.java:287)
    at com.evermind.server.rmi.RMIClientConnection.dispatchResponse(RMIClientConnection.java:242)
    at com.evermind.server.rmi.RMIClientConnection.processReceivedCommand(RMIClientConnection.java:224)
    at com.evermind.server.rmi.RMIConnection.handleCommand(RMIConnection.java:152)
    at com.evermind.server.rmi.RMIConnection.listenForOrmiCommands(RMIConnection.java:127)
    at com.evermind.server.rmi.RMIConnection.run(RMIConnection.java:107)
    at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
    at java.lang.Thread.run(Thread.java:595)
    INFO: Failed to undeploy BPEL processes. - Error deserializing return-value: java.io.InvalidClassException: com.oracle.bpel.client.BPELDomainHandle; local class incompatible: stream classdesc serialVersionUID = -6384534326625967840, local class serialVersionUID = -8310067783665200608
    Did somebody face with this problem and can help me out?
    I am using Oracle SOA Suite 10.1.3.3.0
    Thanks,
    Denis

    Thanks for your advise. I have visited your blog and tryed to undeploy my BPEL Process via <undeployBPELProcess> task. But I get: "failed to create task or type of type: undeployBPELProcess. Cause: The Name is undefined" error. So I guess I don't have a proper jar file.
    I am very short on experience with Oracle SOA Suite, so I got stuck with this issue.
    Denis

  • Invoke BPEL process with the webservice interface

    I'm using Oracle BPEL PM 10.1.2.x.
    Follow the example comes with the BPEL PM, i can invoke the BPEL process in a J2EE project (with the webservice interface). The example named "UseStockReviewSheet".
    Then i tried to invoke the BPEL process i designed with Eclipse BPEL Designer. The version of BPEL designer for Eclipse is 0.9.13.
    I failed and got following errors:
    09/03/17 16:55:53 com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.
    xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
    messageType: {null}
    parts: {{summary=<summary>变量/表达式结果为空.
    尝试读取/复制第 50 行的 xpath 变量/表达式 "bpws:getVariableData('input','payload
    ','/tns:CreditFlowRequest/tns:input')" 时, 发现为空。.
    请确保变量/表达式结果 "bpws:getVariableData('input','payload','/tns:CreditFlowRe
    quest/tns:input')" 非空。.
    </summary>}}
    09/03/17 16:55:53 at com.collaxa.cube.engine.ext.wmp.BPELAssignWMP.checkEx
    pressionFromValue(BPELAssignWMP.java:972)
    09/03/17 16:55:53 at com.collaxa.cube.engine.ext.wmp.BPELAssignWMP.evalFro
    mValue(BPELAssignWMP.java:504)
    09/03/17 16:55:53 at com.collaxa.cube.engine.ext.wmp.BPELAssignWMP.__execu
    teStatements(BPELAssignWMP.java:122)
    09/03/17 16:55:53 at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perfo
    rm(BPELActivityWMP.java:188)
    09/03/17 16:55:53 at com.collaxa.cube.engine.CubeEngine.performActivity(Cu
    beEngine.java:3408)
    09/03/17 16:55:53 at com.collaxa.cube.engine.CubeEngine.handleWorkItem(Cub
    eEngine.java:1836)
    09/03/17 16:55:53 at com.collaxa.cube.engine.dispatch.message.instance.Per
    formMessageHandler.handleLocal(PerformMessageHandler.java:75)
    09/03/17 16:55:53 at com.collaxa.cube.engine.dispatch.DispatchHelper.handl
    eLocalMessage(DispatchHelper.java:166)
    09/03/17 16:55:53 at com.collaxa.cube.engine.dispatch.DispatchHelper.sendM
    emory(DispatchHelper.java:252)
    09/03/17 16:55:53 at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEng
    ine.java:5438)
    09/03/17 16:55:53 at com.collaxa.cube.engine.CubeEngine.createAndInvoke(Cu
    beEngine.java:1217)
    09/03/17 16:55:53 at com.collaxa.cube.engine.delivery.DeliveryService.hand
    leInvoke(DeliveryService.java:511)
    09/03/17 16:55:53 at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.han
    dleInvoke(CubeDeliveryBean.java:335)
    09/03/17 16:55:53 at ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.
    handleInvoke(ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.java:1796)
    09/03/17 16:55:53 at com.collaxa.cube.engine.dispatch.message.invoke.Invok
    eInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
    09/03/17 16:55:53 at com.collaxa.cube.engine.dispatch.DispatchHelper.handl
    eMessage(DispatchHelper.java:125)
    09/03/17 16:55:53 at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.
    process(BaseScheduledWorker.java:70)
    09/03/17 16:55:53 at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage
    (WorkerBean.java:86)
    09/03/17 16:55:53 at com.evermind.server.ejb.MessageDrivenBeanInvocation.r
    un(MessageDrivenBeanInvocation.java:123)
    09/03/17 16:55:53 at com.evermind.server.ejb.MessageDrivenHome.onMessage(M
    essageDrivenHome.java:755)
    09/03/17 16:55:53 at com.evermind.server.ejb.MessageDrivenHome.run(Message
    DrivenHome.java:928)
    09/03/17 16:55:53 at com.evermind.util.ReleasableResourcePooledExecutor$My
    Worker.run(ReleasableResourcePooledExecutor.java:186)
    09/03/17 16:55:53 at java.lang.Thread.run(Thread.java:534)
    <2009-03-17 16:55:53,640> <ERROR> <default.collaxa.cube.xml> com.oracle.bpel.cli
    ent.BPELFault: faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-proce
    ss/}selectionFailure}
    messageType: {null}
    parts: {{summary=<summary>变量/表达式结果为空.
    尝试读取/复制第 50 行的 xpath 变量/表达式 "bpws:getVariableData('input','payload
    ','/tns:CreditFlowRequest/tns:input')" 时, 发现为空。.
    请确保变量/表达式结果 "bpws:getVariableData('input','payload','/tns:CreditFlowRe
    quest/tns:input')" 非空。.
    </summary>}}
    I can invoke my BPEL process in BPEL console, not in J2EE project. bpws:getVariableData('input','payload','/tns:CreditFlowRequest/tns:input')" is null.
    The error message contains some Chineses word. I'm new to BPEL, hope someone can give me a hint on how to solve this problem.
    Thanks a billion!
    --Sunny 2009-3-18

    Following is the java class invoking BPEL process with the webservice interface.
    package com.otn.samples;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.JAXRPCException;
    import javax.xml.rpc.ParameterMode;
    import javax.xml.rpc.Service;
    import javax.xml.rpc.ServiceException;
    import javax.xml.rpc.ServiceFactory;
    import javax.xml.rpc.encoding.XMLType;
    import javax.xml.rpc.soap.SOAPFaultException;
    import org.apache.axis.client.Call;
    * @version 2.0 $Date: 07-mar-2005.05:07:45 $
    * @author Copyright (c) 2004 by Oracle. All Rights Reserved.
    public class CreditFlowClient
    private static QName SERVICE_NAME;
    private static QName PORT_TYPE;
    private static QName OPERATION_NAME;
    private static String SOAP_ACTION;
    private static String STYLE;
    private static String THIS_NAMESPACE = "http://samples.otn.com";
    private static String PARAMETER_NAMESPACE = "http://samples.otn.com";
    private String location;
    static
    SERVICE_NAME = new QName(THIS_NAMESPACE,"CreditFlow");
    PORT_TYPE = new QName(THIS_NAMESPACE,"CreditFlow") ;
    OPERATION_NAME = new QName(THIS_NAMESPACE,"creditFlowRequest");
    SOAP_ACTION = "initiate";
    STYLE = "wrapped";
    public void setLocation(String location)
    this.location = location;
    public void initiate(String ssn)
    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);
    call.addParameter(new QName(PARAMETER_NAMESPACE,"ssn"), XMLType.XSD_STRING, ParameterMode.IN);
    Object[] params = new Object[1];
    params[0] = ssn;
    /* Invoke the service */
    call.invokeOneWay(params);
    System.out.println( "CreditFlow 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());
    public static void main(String[] args)
    String ssn = "12-123-126";
    String location = "http://localhost:9700/orabpel/default/CreditFlow";
    CreditFlowClient client = new CreditFlowClient();
    if(args.length == 1)
         ssn = args[0];
    else if(args.length ==2)
    location = args[0];
    ssn = args[1];
    client.setLocation( location );
    client.initiate( ssn );
    -------------------------------------------------------------------

  • Invoking Session EJB (with WSIF binding) from a BPEL process

    Hi,
    I am invoking a stateless session bean from a bpel process. The bpel process is throwing:
    Failed to lookup EJB home using JNDI name 'ejb/visilient/BPELHelper'; nested exception is:
         java.lang.NullPointerException
    I can see the ejb jndi name under 'default' app.
    Any ideas?
    TIA

    It is a lovely sample... However, it doesn't cover Complex Types and Exception handling. It would be nice if each example was thorough. Would be a great help.
    What I was hoping to achieve is this:
    1) Have an EJB deployed
    2) Use WSIF for BPEL Processes.
    3) Use Web Service interface for AJAX calls etc.
    I was hoping that this would be the exact code base and that only a single EJB would be deployed.
    So far, it looks like JDeveloper will only support Java WSIF bindings. No EJB Bindings. It also looks like JAXRPC is the best supported WS interface. With that in mind, it deploys a seperate subset of the EJB. Thus causing two seperate deployments. I am working on trying all this out over the next couple days. See where I get.
    Anyways, do you have any recommendation for accomplishing what I am wanting to do? 1 deployed EJB, with a WS interface and allowing WSIF bindings. Any other references for me to look at? Should I not be thinking about using JDeveloper for any of the WSDL generation and do all this manually for now?
    Thanks,
    BradW

Maybe you are looking for