How can I invoke BPEL process to run ?
Hi,
after deploying the bpel process, which way I can invoke it without BPEl console ?
Can I invoke it from inside of my stored procedure
or creating (and invoking then) concurrent-process in OEBS ?
Clemen,
Thanks for the response.
Assuming that I created right xml(+ namespaces) in the stored procedure, put it into varchar2 parameter, and invoked BPEL WS. My question is how I can parse it?
Advise please. I'm a rookie on the XML.
I also tried to pass delimited string from plsql and then parse it using orcl:create-nodeset-from-delimited-string. Unfortunately I didn't figure out what I have to put as a QName parameter of that function. The documentation is insufficient. There is no any sample with that function. Another guy is also was struggling with it: create-nodeset-from-delimited-string
Maybe you can clarify it?
Thank you in advance.
Sergey.
Similar Messages
-
How can I watch the process is running in program?
In my program, I fork some processes, and I must watch them timing, how can I know that these processes is running?
<pre>
There could be many way for to see what process is doing.
Easiest is to use "truss" on the process or the program.
Please see the man page of truss.
You can do :
truss -f -p pid_of_process
or
truss -f -o /tmp/out -p pid_of_process &
tail -f /tmp/out
or
truss -f program_exe
Otherwise you can use dbx, run the process in dbx and set
breakpoints at various levels.
Thanks
Kalpesh
</pre> -
Can I find how many instances of BPEL process is in running state ?
Hi,
How can I find how many instances of BPEL process is in running state ? Any code/API ? help ? ThanksCheck the class com.oracle.bpel.client.Locator...
u can use the method listInstances(WhereCondition wc) to get the required details
Regards
Albin I -
How can one invoke a WebLogic EJB from a BPEL Server hosted on OC4J?
How can one invoke a WebLogic EJB from a BPEL Server hosted on OC4J?
Reason I ask is I keep getting this error:
javax.naming.NoInitialContextException: Cannot instantiate cla
ss: weblogic.jndi.WLInitialContextFactory [Root exception is java.lang.ClassNotF
oundException: weblogic.jndi.WLInitialContextFactory]
Note: I am using <bpelx:exec> as a way to execute some java program.
Essentially my java client (essentially an EJB client hosted on Oc4J) needs access to wlclient.jar since it needs access to weblogic.jndi.WLInitialContextFactory. I have a EJB client running on BPEL server hosted on Oc4J that needs to access some EJBs hosted on weblogic.
Where do I place this wlclient.jar so that BPEL PM can start peacefully and at runtime discover the InitialContextFactory classes?
Placing it in the j2ee/home/applib doesn't solve the problem. The server fails to start up if I do this
I tried placing it in BPEL-INF\lib directory ...
I still get the same exception...see below for exception dump
I verified the BPEL suitcase, and it in fact does contain the jar file wlclient.jar
integration\orabpel\domains\default\deploy contains the bpel_BPELProcess2_1.0.jar file and snapshot of that is as follows:
<PRE>
│ bpel.xml
│ BPELProcess2.bpel
│ BPELProcess2.jpr
│ BPELProcess2.wsdl
│ bpel_BPELProcess2_1.0.jar
│ build.xml
│ buildxml.copy
│ graphics.xml
│
├───BPEL-INF
│ └───lib
│ myEJB.jar
│ wlclient.jar
│
├───META-INF
│ MANIFEST.MF
│
└───output
bpel_BPELProcess2_1.0.jar
</PRE>
I tried using the BPEL-INF\jar directory...Is this something the obant automatically detects? or do I have to modify the build.xml? I created this directory and let Jdev deploy to local BPEL server->default domain handle it
#####################3
I even tried copying the wlclient.jar to
integration\orabpel\system\classes but this doesn't help since the BPEL PM fails to start if I explode this jar into this directory.
In short,where do I place the wlclient.jar so that this exception can be contained.
I edited the build.xml to point to the jar, that too didn't work, unless I made some mistake in the file
<bpelc classpath="${basedir}/BPEL-INF/classes;${home}/system/classes;${home}/lib/j2ee_1.3.01.jar;${basedir}/BPEL-INF/jar/wlclient.jar" input="${basedir}/bpel.xml" rev="${rev}" deploy="${deploy}" />
</target>
</project>
DETAILS on ERROR
I get the following error
Process "BPELProcess2" (revision "1.0") successfully compiled.
<2005-12-14 09:17:55,770> <INFO> <default.collaxa.cube.engine.deployment> Proces
s "BPELProcess2" (revision "1.0") successfully loaded.
05/12/14 09:18:36 weblogic.jndi.WLInitialContextFactory
javax.naming.NoInitialContextException: Cannot instantiate cla
ss: weblogic.jndi.WLInitialContextFactory [Root exception is java.lang.ClassNotF
oundException: weblogic.jndi.WLInitialContextFactory]
05/12/14 09:18:36 at javax.naming.spi.NamingManager.getInitialContext(Nami
ngManager.java:652)
05/12/14 09:18:36 at javax.naming.InitialContext.getDefaultInitCtx(Initial
Context.java:243)
05/12/14 09:18:36 at javax.naming.InitialContext.init(InitialContext.java:
219)
05/12/14 09:18:36 at javax.naming.InitialContext.<init>(InitialContext.jav
a:195)
05/12/14 09:18:36 at com.ejb.test.MapFinder.getDefaultMapName(Map
Finder.java:37)
##################3
with the bpelx all I have is two lines of code that creates a java object and calls a method on it.
The method does this:
private String initialContextFactory = "weblogic.jndi.WLInitialContextFactory";
private String providerUrl = "t3://localhost:7001";
private String urlPkgPrefixes = "";
private String mapEjbJndiName = "ejb/mycompany/Redlands";
public String getDefaultMapName() {
try {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, getInitialContextFactory());
env.put(Context.PROVIDER_URL, getProviderUrl());
if (getUrlPkgPrefixes() != null && !getUrlPkgPrefixes().equals(""))
env.put(Context.URL_PKG_PREFIXES, getUrlPkgPrefixes());
System.out.println(" " + getInitialContextFactory());
System.out.println(" " + getProviderUrl());
System.out.println(" " + getUrlPkgPrefixes());
System.out.println(" " + getEjbName());
// Get a naming context
context = new InitialContext(env);
Object ms = context.lookup(getEjbName());
MyEJBHome home = (MyEJBHome ) PortableRemoteObject.narrow(ms, MyEJBHome.class);
myEjb = home.create();
return myEjb.getDefaultName();
} catch (RemoteException re){
System.out.println(re.getCause().getMessage());
catch (Exception ex) {
ex.printStackTrace();
return null; //if unable to resolve the context factory etc...
}I did exactly as you suggested. I edited the application.xml and added this
<library path="C:\ArcGIS\test\bea\wlclient.jar"/>
I didn't add weblogic because the needed classes were all in wlclient.jar
I also edited the BASE_OB_CLASSPATH to include this jar.
Here is the result when I just start BPEL PM Server. Somehow BPEL PM doesn't like to have wlclient.jar in its classpath during startup.
Failed to create "worker" bean; exception reported is: "javax.naming.NameNotFoun
dException: remaining name: env
at weblogic.j2eeclient.SimpleContext.lookup(SimpleContext.java:49)
at weblogic.j2eeclient.SimpleContext.lookup(SimpleContext.java:57)
at weblogic.j2eeclient.SimpleContext.lookup(SimpleContext.java:62)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at com.collaxa.cube.engine.ejb.impl.WorkerBean.ejbCreate(WorkerBean.java
:49)
at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.evermind.server.ejb.MessageDrivenHome.getInstance(MessageDrivenHo
me.java:1235)
at com.evermind.server.ejb.MessageDrivenHome$2.run(MessageDrivenHome.jav
a:1150)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Relea
sableResourcePooledExecutor.java:186)
at java.lang.Thread.run(Thread.java:534)
<2005-12-29 13:39:05,281> <ERROR> <collaxa> <ServerManager::loadAllDomains>
ORABPEL START-UP ERROR!!!!!!!!
OraBPEL run-time system failed to start due to exception:
Could not initialize jms connection pool.
Could not initialize connection pool for connection factory "java:comp/env/jms/
ollaxa/BPELInvokerQueueFactory"; the reason is remaining name: env/jms/collaxa/
PELInvokerQueueFactory.
Note: So what I did was to removed the entry from application.xml and tried with just obsetenv.bat having the wlclient.jar added to it. This too failed!!
Here is a snapshot of the error I got.
Process "BPELProcess2" (revision "1.0") successfully compiled.
<2005-12-29 13:53:11,207> <INFO> <default.collaxa.cube.engine.deployment> Proces
s "BPELProcess2" (revision "1.0") successfully loaded.
05/12/29 13:53:32 Cannot instantiate class: weblogic.jndi.WLInitialContextFactor
y
05/12/29 13:53:32 javax.naming.NoInitialContextException: Cannot instantiate cla
ss: weblogic.jndi.WLInitialContextFactory [Root exception is java.lang.ClassNotF
oundException: weblogic.jndi.WLInitialContextFactory]
05/12/29 13:53:32 at javax.naming.spi.NamingManager.getInitialContext(Nami
ngManager.java:652)
05/12/29 13:53:32 at javax.naming.InitialContext.getDefaultInitCtx(Initial
Context.java:243)
05/12/29 13:53:32 at javax.naming.InitialContext.init(InitialContext.java:
219)
05/12/29 13:53:32 at javax.naming.InitialContext.<init>(InitialContext.jav
a:195)
05/12/29 13:53:32 at com.esri.adf.ejb.test.MapFinder.getDefaultMapName(Map
Finder.java:57)
05/12/29 13:53:32 at bpel.p0.ExecLetBxExe1.execute(ExecLetBxExe1.java:62)
05/12/29 13:53:32 at com.collaxa.cube.engine.ext.wmp.BPELXExecWMP.__execut
eStatements(BPELXExecWMP.java:49)
05/12/29 13:53:32 at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perfo
rm(BPELActivityWMP.java:185)
05/12/29 13:53:32 at com.collaxa.cube.engine.CubeEngine.performActivity(Cu
beEngine.java:3398)
05/12/29 13:53:32 at com.collaxa.cube.engine.CubeEngine.handleWorkItem(Cub
eEngine.java:1905)
05/12/29 13:53:32 at com.collaxa.cube.engine.dispatch.message.instance.Per
formMessageHandler.handleLocal(PerformMessageHandler.java:75)
05/12/29 13:53:32 at com.collaxa.cube.engine.dispatch.DispatchHelper.handl
eLocalMessage(DispatchHelper.java:100)
05/12/29 13:53:32 at com.collaxa.cube.engine.dispatch.DispatchHelper.sendM -
Invoking BPEL process: how to decide it's two way or one way operation
Hi,
I'm using IDeliveryService to invoke BPEL process. Is there API available that allows me to check whether the operation is two way so I call IDeliveryService.request() or is one way so I call IDeliveryService.post()?
Thanks,
Qianhi,
By observing WSDL of the BPEL process you can identify that whether its
two way operation or one way. If operation has two variables - both input & output
then its way operation and if the opration has only one variable - input variable then
its one way operation.
OR are you asking how to check it at runtime without looking at the WSDL...?
/mishit -
How to invoke BPEL process from JAVA API
Hi Guys
Any idea if you can tell me how to invoke BPEL process from JAVA API ?
What to do in BPEL process manager to achieve that?
Regards
DeepakSee http://download-west.oracle.com/docs/cd/B31017_01/integrate.1013/b28981/invoke.htm#sthref1373 and the JavaDocs http://download-west.oracle.com/docs/cd/B31017_01/integrate.1013/b28986/toc.htm.
-
How can apply Oracle BPEL patch to Oracle BPEL Process manager??
Hi, Gurus:
I am new to Oracle BPEL Process manager, I successfully install Oracle BPEL Process manager, but I need to install Oracle BPEL patch and the examples within it.
so I download bpelpatches.zip, it has over 106 MB.
It contains:
1. p4369818_101200_GENERIC.zip
2. p4343748_101200_GENERIC.zip
3. p4406640_101200_GENERIC_Patch01.zip
4. p4469111_101200_GENERIC_Patch02.zip
I am using window XP, how Can I apply these patches to my system??
How can apply Oracle BPEL patch to Oracle BPEL Process manager??
Thanks a lot!!
Charliedon't see any invoke in your client against the intiate operation.. - which creates the correlation
only 2 of them
<invoke name="Invoke_1" partnerLink="PartnerLink_1" portType="ns1:CorrelatedBPELProcess" operation="receive1" inputVariable="Invoke_1_receive1_InputVariable"/>
<invoke name="Invoke_2" partnerLink="PartnerLink_1" portType="ns1:CorrelatedBPELProcess" operation="receive2" inputVariable="Invoke_2_receive2_InputVariable"/>
compared to this def of the process
<portType name="CorrelatedBPELProcess">
<operation name="initiate">
<input message="client:CorrelatedBPELProcessRequestMessage"/>
</operation>
<operation name="receive1">
<input message="client:CorrelatedBPELProcessRequestMessage"/>
</operation>
<operation name="receive2">
<input message="client:CorrelatedBPELProcessRequestMessage"/>
</operation>
</portType> -
How to invoke BPEL process via HTTP POST (or GET)
Hi,
I'd like to know how to invoke BPEL process via HTTP POST (or GET), is there anyway simple to do it?
Thank youLook at my blog http://orasoa.blogspot.com search for plsql
or use SoapUI.org
or look in the Examples directory in the BPEL directory of the installation -
How to invoke BPEL process from database?
Who can get an advice: what technology is better to use for invoking BPEL process, that is deployed to remote server, from database? What LIBs should I load into this database?
History: after successful trying Oracle RMI-example whith JDeveloper, I repeated the same had loaded my .jar and all listed in project Oracle .jar's into the database and received error "..class not resolved..".
Thank you.See http://download-west.oracle.com/docs/cd/B31017_01/integrate.1013/b28981/invoke.htm#sthref1373 and the JavaDocs http://download-west.oracle.com/docs/cd/B31017_01/integrate.1013/b28986/toc.htm.
-
How to know BPEL process is running
Hi,
I have BPEL process which is triggerred by FileAdapter. File Adapter polls for every 120seconds and if any file exists, it reads and BPEL process is initiated.
As BPEL proccess is big and sometimes it executes more than 120seconds and it depends on environment with less load process faster and more load its takes more time.
Due to this is there a way to know BPEL process is running before fetching new file or before starting actual BPEL process.
JDev: 11.1.1.6.0
Thanks,
BhaskarCan a singleton bpel will resolve your problem ?
At a time only one bpel process will be running there wont be any parallel instances for that bpel. In that way there wont be any second instance created until the first instance has done with its job.
http://orasoa.blogspot.co.uk/2007/05/create-singleton-process.html
http://blogs.bpel-people.com/2009/04/writing-singleton-bpel-process.html
Give points - it is good etiquette to reward an answerer points (5 - helpful; 10 - correct) for their post if they answer your question.
Thanks,
Vijay -
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 -
Invoking BPEL process on startup
Hi there,
Does anyone have suggestions as to how i can run a BPEL process automatically when BPEL PM starts up? I would prefer not to use external tools. I tried using the OC4J startup classes invoking it via java, but the BPEL engine has not started the processes yet.
I'm using 10.1.3.3.0
Thanks
Edited by: user5535771 on Nov 24, 2008 2:12 PMHi,
Your current usecase:
Step 1.java app polls db-->jms topic1 written to that jmsbroker/consumers consume
Step 2.jms broker receives msgs from topic1-->invokes http post
Question: It is unclear whether you will have other consumers to this jms msg or not and hence two options.
Here are the ways to use BPEL with this:
Option 1:
If you dont want the current JMS broker but want a JMS provider so other consumers can consume the msg
1.java app polls db, gets xml msg, puts msgs into Oracle JMS.
2. Within a bpel process, the jms adapter listens for arrival of msgs on a q/topic and calls http post (inline java exec or http binding)
For bpel process doing http post refer: for inline java call<bpelhome>/samples/references/javaexec) and "702Bindings" for http binding.
Application specific JMS headers will be set by the enqueuing client (your java app in this case). In general getting and setting of JMS headers is possible within bpel.
Option 2:
If you dont want the current JMS broker and dont care about other msg consumers either
1. java app polls db, gets xml msg, invokes bpel process thro bpel java api
Ref: 102.InvokingProcesses
2. Within the bpel process, the steps are : a) receive msg frm client b) do http post
Again, if you directly have access to the underlying tables, refer to Option 1 in the previous post.
Wrt "Also, is there a way that I can make my existing java application to be initialized by a bpel process",
yes within bpel you can write inline java or do wsif binding to invoke java code.
You can contact me at [email protected] -
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-18Following 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 );
------------------------------------------------------------------- -
Problem invoking BPEL process via SOAP
Hi,
I have a BPEL process which runs perfectly when invoked from the BPEL console. Now I try to invoke the BPEL process from another (Java) program and get some strange error message in the client. After enabling debug logging I can see a NullPointerException in the BPEL server log (it's Oracle BPEL server 2.1.2 build 1226).
Here the output from the console:
15:21:40,088 INFO [STDOUT] <2006-03-24 15:21:40,088> <DEBUG> <default.collaxa.cube.ws> <CXSOAPProvider::processBPELMessage> soapAction:
15:21:40,088 INFO [STDOUT] <2006-03-24 15:21:40,088> <DEBUG> <default.collaxa.cube.engine.deployment> <BPELArchive::unpack> Unpacking process 'Customer_Status', revision '1.0' from BPEL archive 'bpel_Customer_Status_1.0.jar'
15:21:40,098 INFO [STDOUT] <2006-03-24 15:21:40,098> <DEBUG> <default.collaxa.cube.engine.deployment> <BPELArchive::unpack> Extracted archive up-to-date
15:21:40,158 INFO [STDOUT] <2006-03-24 15:21:40,158> <DEBUG> <default.collaxa.cube.engine.deployment> <CubeProcessFactory::create> Creating process 'Customer_Status' (revision '1.0')
15:21:40,579 INFO [STDOUT] <2006-03-24 15:21:40,579> <DEBUG> <default.collaxa.cube.engine.deployment> <CubeProcessFactory::create> Done creating process 'Customer_Status' (revision '1.0')
15:21:40,589 INFO [STDOUT] <2006-03-24 15:21:40,579> <DEBUG> <default.collaxa.cube.ws> <WSDLManager::clear> Clearing WSDL cache for process Customer_Status1.0
15:21:40,619 INFO [STDOUT] <2006-03-24 15:21:40,619> <DEBUG> <default.collaxa.cube.ws> loaded custom WSDL Extension oracle.tip.adapter.fw.wsif.jca.JCAExtensionRegistry
15:21:40,619 INFO [STDOUT] <2006-03-24 15:21:40,619> <DEBUG> <default.collaxa.cube.ws> loaded custom WSDL Extension oracle.tip.adapter.fw.wsif.jca.PCExtensionRegistry
15:21:40,709 INFO [STDOUT] <2006-03-24 15:21:40,709> <DEBUG> <default.collaxa.cube.ws> <WSDLManager::getWSDL> registered wsdl at http://HAL9000:9700/orabpel/default/Customer_Status/1.0/Customer_Status.wsdl
15:21:40,709 INFO [STDOUT] <2006-03-24 15:21:40,709> <DEBUG> <default.collaxa.cube.ws> <WSDLManager::getWSDL> got wsdl at: http://HAL9000:9700/orabpel/default/Customer_Status/1.0/Customer_Status.wsdl
15:21:40,709 INFO [STDOUT] <2006-03-24 15:21:40,709> <DEBUG> <default.collaxa.cube.ws> <CXSOAPProvider::invoke> Error when process incoming message
java.lang.NullPointerException
at com.collaxa.cube.ws.soap.providers.CXSOAPProvider.processBPELMessage(CXSOAPProvider.java:209)
at com.collaxa.cube.ws.soap.providers.CXSOAPProvider.invoke(CXSOAPProvider.java:114)
at orabpel.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
at orabpel.apache.axis.SimpleChain.doVisiting(SimpleChain.java:152)
at orabpel.apache.axis.SimpleChain.invoke(SimpleChain.java:122)
at orabpel.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437)
at orabpel.apache.axis.server.AxisServer.invoke(AxisServer.java:315)
at orabpel.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:698)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at orabpel.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:335)
Any suggestion?
Thanks in advance...This sounds very similar to how my BPEL process behaves. I'm unable to post XML input into the "XML Source" region of the initiate screen unless the input is properly wrapped in the respective message type element.
Make sure your invoking client code is wrapping the input properly with the message type XML elements. -
Invoking bpel process from java in oracle soa/bpm 11g
Hi,
We have some java code to invoke bpel process in oracle BPM 10g following the instructions in http://download-east.oracle.com/docs/cd/B14099_19/integrate.1012/b14448/invoke.htm.
Basically the steps are:
1) get a Locator (com.oracle.bpel.client.Locator)
2) get IDeliveryService (com.oracle.bpel.client.delivery.IDeliveryService) reference from locator
3) call IDeliveryService method request or post with input message and get the response back.
Recently we want to migrated from oracle bpm 10g to oracle soa/bpm 11g. But I can not find the similar API in 11g. It seems now some adapter/binding need to be added in exposed service lane in soa composite view, for example, ADF-BC, direct binding etc, in order to allow java to invoke a bpel process. Here are two very useful links from Edwin about the detail how this is implemented.
http://biemond.blogspot.com/2009/11/invoking-soa-suite-11g-service-from.html
http://biemond.blogspot.com/2009/11/calling-soa-suite-direct-binding.html?showComment=1285198033913#comment-c1055322845511794252
My question is:
1) what are the choices and the official/best way to invoke a bpel process in oracle soa/bpm 11g from java?
2) does user need to add an adapter/binding in exposed service lane in order to let the bpel service be called in java?
3) what is the real difference between a bpm application and soa application in 11g?
I will really appreciate any expert's opinion.
Thanks,
BinThanks for your reply and confirmation, really appreciate it.
Yes, I found the difference of the invoking process API and was able to invoke bpel process using direct and ADF-BC binding by following Edwin's blog. But I have not found any official reference to compare this API difference between 10g and 11g ( I will mark this question as answered if anyone can find an official source from oracle, need to prove it to the team). The API to work with human task workflow seems pretty much the same between 10g and 11g.
Maybe you are looking for
-
Mac Mini mid 2011 Mini Dvi to VGA problems
I have a mac mini mid 2011 and I have to connected to a display in work. The display only has a VGA entrance, so i bought a mini dvi to vga adapter from my local mac store, but when i connected to the display everything looks odd, the whole display
-
I had Firefox on my computer and then I ran Wise Disk Cleaner, which somehow messed it up. I had to uninstall Firefox but when I tried to reinstall it goes through the "run" process but won't proceed to the Wizard. It keeps asking me for my Administr
-
Mac Pro boot option screen freezes after I select the Windows partition
Hello, I have a mid-2010 Mac Pro, and I am currently experiencing an issue regarding booting into Windows 7. Windows 7 64-bit is installed on its own HDD in bay 2 of my Mac Pro. When I restart my Mac Pro (from OS X), hold the option key, and select
-
Toucscreen problems with the 5800 xpressmusic
Recently the touchscreen on the phone has started to play up. occassionally it works fine but sometimes it doesn't work at all. i'm trying to see if the recent update will solve this problem but any other suggestions would be appreciated. Thanks!
-
Hi team, My entire MRP planning is being carried out in APO system. My R/3 system just receives the planned orders from APO & i will convert the planned order to production order (MASS). Hence i did NOT maintain any configuration in OMDW for my plant