Invoking BPEL Process through href
Hi,
I am trying to call oracle bpel process through my custom jsp href, Can any one please tell me how to pass the task name(updatetask string varible like "COMPLETE TASK") through my href, otherwise is there any way to invoke the process through switch case(sample code), and i want to know is there any way to use the same human task for different task..
Message was edited by:
user611303
Hi,
I am trying to call oracle bpel process through my custom jsp href, Can any one please tell me how to pass the task name(updatetask string varible like "COMPLETE TASK") through my href, otherwise is there any way to invoke the process through switch case(sample code), and i want to know is there any way to use the same human task for different task..
Message was edited by:
user611303
Similar Messages
-
Invoking BPEL Process through pl/sql is failing
Hi all,
I am trying to invoke BPEL process through PL/SQL and its throwing following error.
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header/><env:Body><env:Fault xmlns="http://xmlns.oracle.com/pcbpel/adapter/file/ReadFile/"><faultcode xmlns="">null:Read_ptt</faultcode><faultstring xmlns="">Cannot figure out operation name. Bad SOAPAction or wsa:Action.</faultstring><faultactor xmlns="">initiate</faultactor></env:Fault></env:Body></env:Envelope>
Following is code I am using to invoke BPEL PROCESS
declare
soap_request varchar2(30000);
soap_respond varchar2(30000);
http_req utl_http.req;
http_resp utl_http.resp;
begin
soap_request:='<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header/>
<soap:Body xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/file/ReadFile/">
--<ns1:Read_plt><ns1:input>leeg</ns1:input></ns1:Read_plt>
</soap:Body>
</soap:Envelope>';
http_req:= sys.utl_http.begin_request('http://localhost/orabpel/default/BPELProcess1/v2007_12_03__65618','POST','HTTP/1.1' );
sys.utl_http.set_header(http_req, 'Content-Type', 'text/xml') ;
sys.utl_http.set_header(http_req, 'Content-Length', length(soap_request)) ;
sys.utl_http.set_header(http_req, 'SOAPAction', 'initiate');
sys.utl_http.write_text(http_req, soap_request) ;
http_resp:= sys.utl_http.get_response(http_req) ;
sys.utl_http.read_text(http_resp, soap_respond) ;
sys.utl_http.end_response(http_resp) ;
dbms_output.put_line(soap_respond);
end;
Any help would be appriciated.
Thanks,
VipulHi,
Switching on or off a bpel is an admin job.
u can stop an application but not one bpel.
I doubt if there is any way to do it programatically.
Let us get other opinons
Regards -
Error while invoking BPEL Process through HTML Page
Hi ,
I have created a HTML Page to invoke BPEL synchronous process .
HTML Page contains :
<html>
<head>
<title>Untitled Document</title>
<h1>Add Macro Task Input Form </h1>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="cyan" text="#000000">
<form name="form1" method="get" action="/httpbinding/default/AddMacroSync/process">
EmployeeId :
<input type="text" name="EmployeeId" ><br>
<br>
TaskName :
<input type="text" name="MacroTaskName" >
<button
id="identifier"
class="dialog"
label="OK"
accesskey="t"/>
<br>
</form>
</body>
</html>
I am able to invoke my BPEL Process named as " AddMacroSync" .
It also creating instance for this BPEL Process .
But when I go BPEL Console and check my instance , it is always faulted .
I am providing two inputs : Employee Id and Taskname through HTML Page .
These inputs got assigned to their respective output variables .
But when I click on audit link ..it shows error while invoking the Process .
It Show error :
when invoking endpointAddress 'http://152.69.248.232:8990/AddMacroTask-AddMacroTask-context-root/AddMacroTaskWebService', [java.lang.NumberFormatException]
But this end point address is working when I put this address in URL .
Please someone help me how to solve this problem .
Thanks
Prashant Dwivedi
Message was edited by:
Prashant DwivediHi Clemens ,
I changed My HTML ...Now it looks like as :
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="application/x-www-form-urlencoded; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="/httpbinding/default/AddMacroSync">
<input type="hidden" name="msg_part" value="payload">
<input type="hidden" name="namespace" value="http://xmlns.oracle.com/AddMacroSync">
EmployeeId:
<input type="text" name="EmployeeId">
TaskName :
<input type="text" name="TaskName">
<input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>
After this when I try to incoke my BPEL Process through this HTML :
I am gettign following error :
500 Internal Server Error
java.lang.IllegalStateException: IOException: Premature end of POST data
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.EvermindHttpServletRequest.getParameter(EvermindHttpServletRequest.java:2452)
at com.collaxa.cube.ws.http.HttpBindingServlet.checkSecurity(HttpBindingServlet.java:281)
at com.collaxa.cube.ws.http.HttpBindingServlet.doPost(HttpBindingServlet.java:85)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:824)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:285)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:126)
at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
at java.lang.Thread.run(Thread.java:534) -
Class Not found Exception for invoking BPEL process through the Java code
Hi.
The JDeveloper IDE raise the Exception From the invoking the BPEL process through the java code .Class Not Found Exception (Locator,ID.......).What is process of importing these classes from API.In your code (.bpel file) import the library using the bpelx:exec tag. For example the adding the following entry in your .bpel file imports the com.oracle.bpel.client.util library.
<bpelx:exec import="com.oracle.bpel.client.util.*"/> -
Invoking BPEL process through jsp
Hi,
I am trying to invoke BPEL (HelloWorld) process through jsp from my system.BPEL process is running in another system.
In the jsp i coded like this:
Locator locator = new Locator("default","bpel","172.11.11.111");
But still it's invoking my local instance only.
Please help me. I am new to BPEL.
ThanksHI,
Thanks alot for your quick reply.
I modified code like :
props.setProperty("java.naming.provider.url",
"ormi://"+"172.11.2.123"+":"+"9700"+"/orabpel");
props.setProperty("java.naming.security.principal", "default");
props.setProperty("java.naming.security.credentials", "bpel");
Locator locator = new Locator("default","bpel",props);
But after deploying when i invoked i got below exception:
java.lang.Exception: Failed to create "ejb/collaxa/system/DomainManagerBean" bean; exception reported is: "javax.naming.NamingException: Lookup error: java.io.IOException: Server protocol was not ORMI, if uncertain about the port your server uses for ORMI then use the default, 23791; nested exception is: java.io.IOException: Server protocol was not ORMI, if uncertain about the port your server uses for ORMI then use the default, 23791 [Root exception is java.io.IOException: Server protocol was not ORMI, if uncertain about the port your server uses for ORMI then use the default, 23791] at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.rmi.RMIContext.lookup(RMIContext.java:168) at javax.naming.InitialContext.lookup(InitialContext.java:347) at com.oracle.bpel.client.util.BeanRegistry.lookupDomainManagerBean(BeanRegistry.java:218) at com.oracle.bpel.client.auth.DomainAuthFactory.authenticate(DomainAuthFactory.java:83) at com.oracle.bpel.client.Locator.<init>(Locator.java:143) at com.oracle.bpel.client.Locator.<init>(Locator.java:114) at _invokeHelloWorld._jspService(_invokeHelloWorld.java:73) [SRC:/invokeHelloWorld.jsp:39] at com.orionserver[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:567) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:302) 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[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:810) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:798) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:278) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:120) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192) at java.lang.Thread.run(Thread.java:534)Caused by: java.io.IOException: Server protocol was not ORMI, if uncertain about the port your server uses for ORMI then use the default, 23791 at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.rmi.RMIConnection.connect(RMIConnection.java:2505) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.rmi.RMIConnection.connect(RMIConnection.java:2339) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.rmi.RMIConnection.lookup(RMIConnection.java:1781) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.rmi.RMIServer.lookup(RMIServer.java:721) at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.rmi.RMIContext.lookup(RMIContext.java:149) ... 19 more". at com.oracle.bpel.client.auth.DomainAuthFactory.authenticate(DomainAuthFactory.java:95) at com.oracle.bpel.client.Locator.<init>(Locator.java:143) at com.oracle.bpel.client.Locator.<init>(Locator.java:114) at invokeHelloWorld.jspService(_invokeHelloWorld.java:73) [SRC:/invokeHelloWorld.jsp:39]
please help....
Thanks -
Problem in invoking BPEL Process through JSP
Hi ,
I have created a simple BPEL asynchronous process called as " BPELProcessAddMacroTask" .
JSP File looks like :
<%@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>Invoke AddMacro Task</title>
</head>
<body>
<%
String EmployeeId = request.getParameter("EmployeeId");
if (EmployeeId == null)
%>
<!-- Construct HTML form here -->
<h3>Invoke AddMacro Task BPEL Application</h3>
<h4>Add Macro Task Form</h4>
<form>
<table>
<tr>
<td>EmployeeId:</td>
<td><input type="text" name="EmployeeId" value="43"></td>
</tr>
<tr>
<td>TaskName</td>
<td><input type="text" name="MacroTaskName" value="DIMPLETTE_EXAMPLE"></td>
</tr>
<input type="submit" value="Send Input">
</form>
<%
else
// 1. Get form fields
//String EmployeeId = request.getParameter("EmployeeId");
String MacroTaskName = request.getParameter("MacroTaskName");
// 2. Create loan application XML document
String xml = "<AddMacroTask xmlns=\"http://xmlns.oracle.com/BPELProcessAddMacroTask\">"
+ "<EmployeeId>" + EmployeeId + "</EmployeeId>"
+ "<MacroTaskName>" + MacroTaskName + "</MacroTaskName>" ;
// 3. Initiate the BPEL process here
Locator locator = new Locator("default","bpel");
IDeliveryService deliveryService = (IDeliveryService)
locator.lookupService(IDeliveryService.SERVICE_NAME );
// Construct a normalized message and send to Oracle BPEL Process Manager
NormalizedMessage nm = new NormalizedMessage();
nm.addPart("payload", xml);
// Initiate the BPEL process
deliveryService.post("BPELProcessAddMacroTask", "initiate", nm);
%>
<p>BPEL Process <code>BPELProcessAddMacroTask</code> initiated
with the input containing EmployeeId=<%= EmployeeId %></p>
<p>Please refer to the
BPEL Console
to see the status of the initiated AddMacroTask BPEL Process.</p>
<%
%>
<body>
</html>
I am not finding my " addmacrotask.jsp" in home.jsp even after running "Obant" command .
I am getting following error when try to invoke the web service :
My UI Path is : http://localhost:9700/InvokingProcessesUI/addmacrotask.jsp
I am getting this error :
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:88) at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:56) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:350) 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:103) at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:663) at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330) at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:285) at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:126) at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186) at java.lang.Thread.run(Thread.java:534)
Please someone help me out with this problem .
Thanks
DeepikaHi ,
I have set it to this in server.xml :
<application name="orabpel" path="../../../BC4J/redist/bc4j.ear" auto-start="true" />
<application name="BPELProcessAddMacroTask" path="D:\BPEL\integration\orabpel\system\appserver\oc4j\j2ee\home\applications\InvokingProcessesUI.ear" parent="orabpel" auto-start="true" />
</application-server>
But still not able to create instance . Same problem persists.
Thanks
Deepika -
How to invoke BPEL process through SQL
Hi All,
I'm working on Oracle SOA (10.1.3.1.0) BPEL and Oracle JDeveloper (10.1.3.1.0). I want to launch the BPEL process from SQL, pls guide me how to do this.
Thanking You!!!!Hi!
There is already posted a lot on this forum on this topic, but ok :)
http://orasoa.blogspot.com/2006/11/calling-bpel-process-with-utldbws.html
Example BPEL process callout from PLSQL or Java Stored Procedure
try the search in this forum : 'plsql'
will give some hits. -
Problem while invoking Bpel Process from Browser
server WSDL
<definitions
name="getOpenInvoicesService"
targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/getOpenInvoicesService/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/db/getOpenInvoicesService/"
xmlns:db="http://xmlns.oracle.com/pcbpel/adapter/db/getOpenInvoicesService"
xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
>
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" >
<import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/getOpenInvoicesService" schemaLocation="getOpenInvoicesService.xsd" />
</schema>
</types>
<message name="getOpenInvoicesServiceInput_msg">
<part name="getOpenInvoicesServiceInput_msg" element="db:getOpenInvoicesServiceInput"/>
</message>
<message name="getOpenInvoicesServiceOutputCollection_msg">
<part name="getOpenInvoicesServiceOutputCollection" element="db:getOpenInvoicesServiceOutputCollection"/>
</message>
<portType name="getOpenInvoicesService_ptt">
<operation name="getOpenInvoicesService">
<input message="tns:getOpenInvoicesServiceInput_msg"/>
<output message="tns:getOpenInvoicesServiceOutputCollection_msg"/>
</operation>
</portType>
<binding name="getOpenInvoicesService_binding" type="tns:getOpenInvoicesService_ptt">
<jca:binding />
<operation name="getOpenInvoicesService">
<jca:operation
SqlString=" SELECT distinct aps.trx_number TrxNumber, ra.purchase_order PurchaseOrder, rl.sales_order OrderNumber, ra.interface_header_attribute2 OrderType, hc.account_number CustomerNumber, rt.name TrxType, aps.acctd_amount_due_remaining AmmountDue, aps.trx_date TrxDate, aps.due_date TrxDueDate FROM ra_customer_trx_all ra , ra_customer_trx_lines_all rl , ar_payment_schedules_all aps , ra_cust_trx_types_all rt , hz_cust_accounts hc , hz_parties hp , hz_cust_acct_sites_all hcasa_bill, hz_cust_site_uses_all hcsua_bill , hz_party_sites hps_bill , ra_cust_trx_line_gl_dist_all rct WHERE 1 = 1 AND ra.customer_trx_id = rl.customer_trx_id AND ra.customer_trx_id = aps.customer_trx_id AND ra.org_id = aps.org_id AND rct.customer_trx_id = aps.customer_trx_id AND rct.customer_trx_id = ra.customer_trx_id AND rct.customer_trx_id = rl.customer_trx_id AND rct.customer_trx_line_id = rl.customer_trx_line_id AND ra.complete_flag = 'Y' AND rl.line_type IN ('FREIGHT', 'LINE') AND ra.cust_trx_type_id = rt.cust_trx_type_id AND ra.bill_to_customer_id = hc.cust_account_id AND hc.status = 'A' AND hp.party_id = hc.party_id AND hcasa_bill.cust_account_id = ra.bill_to_customer_id AND hcasa_bill.cust_acct_site_id = hcsua_bill.cust_acct_site_id AND hcsua_bill.site_use_code = 'BILL_TO' AND hcsua_bill.site_use_id = ra.bill_to_site_use_id AND hps_bill.party_site_id = hcasa_bill.party_site_id AND hcasa_bill.status = 'A' AND hcsua_bill.status = 'A' AND aps.amount_due_remaining <> 0 AND aps.status = 'OP' AND hc.account_number= ?"
InteractionSpec="oracle.tip.adapter.db.DBPureSQLInteractionSpec" >
</jca:operation>
<input/>
<output/>
</operation>
</binding>
<service name="getOpenInvoicesService">
<port name="getOpenInvoicesService_pt" binding="tns:getOpenInvoicesService_binding">
<!--Your runtime connection is declared in
J2EE_HOME/application-deployments/default/DbAdapter/oc4j-ra.xml
These mcf properties here are from your design time connection and
save you from having to edit that file and restart the application server
if eis/DB/sfh is missing.
These mcf properties are safe to remove.-->
<jca:address location="eis/DB/sfh" UIConnectionName="sfh"
ManagedConnectionFactory="oracle.tip.adapter.db.DBManagedConnectionFactory"
mcf.DriverClassName="oracle.jdbc.OracleDriver"
mcf.PlatformClassName="oracle.toplink.internal.databaseaccess.Oracle9Platform"
mcf.ConnectionString="jdbc:oracle:thin:@localhost:1526:xxxx"
mcf.UserName="apps"
mcf.Password="53CB0F044A0D3DD2C063679F18F89870" />
</port>
</service>
<plt:partnerLinkType name="getOpenInvoicesService_plt" >
<plt:role name="getOpenInvoicesService_role" >
<plt:portType name="tns:getOpenInvoicesService_ptt" />
</plt:role>
</plt:partnerLinkType>
</definitions>
client.wsdl
<?xml version="1.0" encoding="UTF-8"?>
<definitions
name="getOpenInvoices"
targetNamespace="http://xmlns.oracle.com/getOpenInvoices"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:client="http://xmlns.oracle.com/getOpenInvoices"
xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
>
<types>
<schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/getOpenInvoices" xmlns="http://www.w3.org/2001/XMLSchema">
<element name="getOpenInvoicesProcessResponse">
<complexType>
<sequence>
<element name="result" type="string"/>
</sequence>
</complexType>
</element>
<element name="getOpenInvoicesProcessRequest">
<complexType>
<sequence>
<element name="accountNumber" type="string"/>
</sequence>
</complexType>
</element>
</schema>
</types>
<message name="getOpenInvoicesRequestMessage">
<part name="payload" element="client:getOpenInvoicesProcessRequest"/>
</message>
<message name="getOpenInvoicesResponseMessage">
<part name="payload" element="client:getOpenInvoicesProcessResponse"/>
</message>
<portType name="getOpenInvoices">
<operation name="OpenInvoices">
<input message="client:getOpenInvoicesRequestMessage"/>
<output message="client:getOpenInvoicesResponseMessage"/>
</operation>
</portType>
<binding name="OpenInvoicebindings" type="client:getOpenInvoices">
<http:binding verb="GET"/>
<operation name="OpenInvoices">
<http:operation location="/OpenInvoices"/>
<input>
<http:urlEncoded/>
</input>
<output>
<mime:mimeXml part="Body"/>
</output>
</operation>
</binding>
<service name="OpenInvoiceService">
<port binding="client:OpenInvoicebindings" name="OpenInvoicesport">
<http:address location="http://sys0004:8889/httpbinding/default/getOpenInvoices"/>
</port>
</service>
<plnk:partnerLinkType name="getOpenInvoices">
<plnk:role name="getOpenInvoicesProvider">
<plnk:portType name="client:getOpenInvoices"/>
</plnk:role>
</plnk:partnerLinkType>
</definitions>
bpel process
<?xml version = "1.0" encoding = "UTF-8" ?>
<!--
Oracle JDeveloper BPEL Designer
Created: Tue Jul 13 11:05:51 IST 2010
Author:
Purpose: Synchronous BPEL Process
-->
<process name="getOpenInvoices"
targetNamespace="http://xmlns.oracle.com/getOpenInvoices"
xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/db/getOpenInvoicesService/"
xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
xmlns:ns2="http://xmlns.oracle.com/pcbpel/adapter/db/getOpenInvoicesService"
xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
xmlns:client="http://xmlns.oracle.com/getOpenInvoices"
xmlns:ora="http://schemas.oracle.com/xpath/extension"
xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
<!--
PARTNERLINKS
List of services participating in this BPEL process
-->
<partnerLinks>
<!--
The 'client' role represents the requester of this service. It is
used for callback. The location and correlation information associated
with the client role are automatically set using WS-Addressing.
-->
<partnerLink name="client" partnerLinkType="client:getOpenInvoices"
myRole="getOpenInvoicesProvider"/>
<partnerLink name="getOpenInvoicesService"
partnerRole="getOpenInvoicesService_role"
partnerLinkType="ns1:getOpenInvoicesService_plt"/>
</partnerLinks>
<!--
VARIABLES
List of messages and XML documents used within this BPEL process
-->
<variables>
<!-- Reference to the message passed as input during initiation -->
<variable name="inputVariable"
messageType="client:getOpenInvoicesRequestMessage"/>
<!-- Reference to the message that will be returned to the requester-->
<variable name="outputVariable"
messageType="client:getOpenInvoicesResponseMessage"/>
<variable name="Invoke_1_getOpenInvoicesService_InputVariable"
messageType="ns1:getOpenInvoicesServiceInput_msg"/>
<variable name="Invoke_1_getOpenInvoicesService_OutputVariable"
messageType="ns1:getOpenInvoicesServiceOutputCollection_msg"/>
</variables>
<!--
ORCHESTRATION LOGIC
Set of activities coordinating the flow of messages across the
services integrated within this business process
-->
<sequence name="main">
<!-- Receive input from requestor. (Note: This maps to operation defined in getOpenInvoices.wsdl) -->
<receive name="receiveInput" partnerLink="client"
portType="client:getOpenInvoices" operation="OpenInvoices"
variable="inputVariable" createInstance="yes"/>
<!-- Generate reply to synchronous request -->
<assign name="Assign_1">
<copy>
<from variable="inputVariable" part="payload"/>
<to variable="Invoke_1_getOpenInvoicesService_InputVariable"
part="getOpenInvoicesServiceInput_msg"/>
</copy>
</assign>
<invoke name="Invoke_1" partnerLink="getOpenInvoicesService"
portType="ns1:getOpenInvoicesService_ptt"
operation="getOpenInvoicesService"
inputVariable="Invoke_1_getOpenInvoicesService_InputVariable"
outputVariable="Invoke_1_getOpenInvoicesService_OutputVariable"/>
<assign name="Assign_2">
<copy>
<from variable="Invoke_1_getOpenInvoicesService_OutputVariable"
part="getOpenInvoicesServiceOutputCollection"/>
<to variable="outputVariable" part="payload"/>
</copy>
</assign>
<reply name="replyOutput" partnerLink="client"
portType="client:getOpenInvoices" operation="OpenInvoices"
variable="outputVariable"/>
</sequence>
</process>the above is the server and client wsdls and Bpel process. i have created the wsdl so as to call from HTTP calling, means process is been called from Browser .... but i can't see the result ...
http://sys0004:8889/httpbinding/default/getOpenInvoices/OpenInvoices?accountNumber=1608
above is the link called from browser
output in the browser ::: <getOpenInvoicesProcessResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/getOpenInvoices" />
actually it has to fetch data from DB and show in xml format can anyone assist me where i am going wrongHi Rajesh,
Please refer \bpel\samples\tutorials\102.InvokingProcesses\jsp.
BPEL Tutorial 7: Invoking BPEL Processes through SOAP and Java : Reference: 2004/06/14/orabpel/d5/1.0
Hope this helps!
Regards
Anirudh Pucha -
Invoking BPEL Process problem from Tomcat
Hi, I got a problrm to invoke BPEL process through JSP.
I think it's caused from BPEL Library.
Where can i find com.evermind.server.rmi.RMIInitialContextFactory ?
the error messages are below.
javax.naming.NoInitialContextException: Cannot instantiate class: com.evermind.server.rmi.RMIInitialContextFactory [Root exception is java.lang.ClassNotFoundException: com.evermind.server.rmi.RMIInitialContextFactory]
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:652)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
at javax.naming.InitialContext.init(InitialContext.java:219)
at javax.naming.InitialContext.<init>(InitialContext.java:195)
at com.oracle.bpel.client.util.BeanRegistry.lookupDeliveryBean(BeanRegistry.java:277)
at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean(DeliveryService.java:250)
at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:174)
at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:149)
at org.apache.jsp.invokeBPEL_jsp._jspService(invokeBPEL_jsp.java:80)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
Caused by: java.lang.ClassNotFoundException: com.evermind.server.rmi.RMIInitialContextFactory
Thanx.
jean.Hi Rajesh,
Please refer \bpel\samples\tutorials\102.InvokingProcesses\jsp.
BPEL Tutorial 7: Invoking BPEL Processes through SOAP and Java : Reference: 2004/06/14/orabpel/d5/1.0
Hope this helps!
Regards
Anirudh Pucha -
Problem in invoking BPEL process from jsp
Dear Experts,
I am trying to invoke BPEL process from simple JSP form, with guide lines of http://download.oracle.com/docs/cd/B31017_01/integrate.1013/b28981/invoke.htm. But I'm receiving the following error
Error: JSP files must reside in the server root directory or a subdirectory beneath it
Note: I having my JSP page inside my project folder-->output_html--> myfile.jsp
Thanks,
RajeshHi Rajesh,
Please refer \bpel\samples\tutorials\102.InvokingProcesses\jsp.
BPEL Tutorial 7: Invoking BPEL Processes through SOAP and Java : Reference: 2004/06/14/orabpel/d5/1.0
Hope this helps!
Regards
Anirudh Pucha -
Error when invoking BPEL process from Java client
Hi,
I am trying to invoke the SyncHelloWorld BPEL process through a simple java application. When I run the application, I get the following error:
java.rmi.RemoteException: ; nested exception is:
ORABPEL-02052
Cannot lookup BPEL domain.
The BPEL domain "default" cannot be found; the domain may not have initialized properly.
Please verify that the BPEL domain loader has a valid set of initialization properties in the application properties file.
at com.oracle.bpel.client.dispatch.DeliveryService.request(DeliveryService.java:95)
at com.oracle.bpel.client.dispatch.DeliveryService.request(DeliveryService.java:44)
at HelloWorld.main(HelloWorld.java:49)
Caused by: ORABPEL-02052
Cannot lookup BPEL domain.
The BPEL domain "default" cannot be found; the domain may not have initialized properly.
Please verify that the BPEL domain loader has a valid set of initialization properties in the application properties file.
at com.collaxa.cube.engine.CubeEngineHolder.getStatus(CubeEngineHolder.java:41)
at com.collaxa.cube.engine.CubeEngineHolder.getEngine(CubeEngineHolder.java:52)
at com.collaxa.cube.engine.CubeContextManager.create(CubeContextManager.java:61)
at com.collaxa.cube.engine.dispatch.DispatchHelper.scheduleRemote(DispatchHelper.java:191)
at com.oracle.bpel.client.dispatch.BaseDispatcherService.initialRequestAnyType(BaseDispatcherService.java:762)
at com.oracle.bpel.client.dispatch.BaseDispatcherService.initialRequest(BaseDispatcherService.java:340)
at com.oracle.bpel.client.dispatch.BaseDispatcherService.request(BaseDispatcherService.java:241)
at com.oracle.bpel.client.dispatch.DispatcherService.request(DispatcherService.java:66)
at com.oracle.bpel.client.dispatch.DeliveryService.request(DeliveryService.java:80)
... 2 more
However, when I start the PM, I get a message saying OraBPEL "default" BPEL domain loaded. The code for the Java client is as follows (the error occurs when calling deliveryService.request(...)):
Properties props = new java.util.Properties();
props.setProperty("orabpel.platform","oc4j_10g");
props.setProperty("java.naming.factory.initial","com.evermind.server.rmi.RMIInitialContextFactory");
props.setProperty("java.naming.provider.url","ormi://localhost/orabpel");
props.setProperty("java.naming.security.principal","admin");
props.setProperty("java.naming.security.credentials","welcome");
props.setProperty("dedicated.rmicontext", "true");
Locator locator = new Locator("default","bpel",null,props);
String input = "someInput";
String xml = "<input xmlns=\"http://tutorial.oracle.com\">"
+ input + "</input>";
IDeliveryService deliveryService =
(IDeliveryService)locator.lookupService
(IDeliveryService.SERVICE_NAME );
// construct the normalized message and send to oracle bpel processmanager
NormalizedMessage nm = new NormalizedMessage( );
nm.addPart("payload", xml );
NormalizedMessage res =
deliveryService.request("SyncHelloWorld", "process", nm);
Map payload = res.getPayload();
System.out.println(payload.get("payload") );
Any ideas would be greatly appreciated
Thanks
HermanCould you please run obversion.bat and let us know what version of the engine you are running? If timezone allows and you have the availability, I would like to try to broker a quick 15-minute web conference with a member of our dev team to look at this problem and provide a more detailed answer. What is your time difference with San Francisco (PST)?
Edwin -
Null Pointer exception while invoking BPEL process
Hi all,
I am getting following exception when I am invoking a BPEL process1 (deployed in 10.1.3.1) from another BPEL Process 2 (deployed in 10.1.3.3)
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<env:Fault xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>env:Server</faultcode>
<faultstring>java.lang.NullPointerException</faultstring>
<faultactor/>
</env:Fault>
</env:Body>
</env:Envelope>
BPEL Process 1 is working fine when given manual input (testing through console). But when invoked using BPEL Process 2, it gives the above error. I also tried invoking BPEL Process 1 (and many other webservices deployed in 10.1.3.1) using TCPMON tool and got the same error.
Am I missing something here in configuration of 10.1.3.1 or any other issue? Please help as it is really urgent.Contact [email protected]
Slava Imeshev wrote:
Hi Ramu,
"Ramu" <[email protected]> wrote in message
I have just upgraded to service pack #13 on WLS 5.1 from service pack #6.I am using the same code as it was with SP #6. When I invoke finder method
on entity bean, I get null pointer exception. The primary key object for the
entity bean has equals() method.
javax.ejb.FinderException: Exception executing finder:java.lang.NullPointerException
atweblogic.ejb.internal.StatefulEJBCache.getFinderContext(StatefulEJBCache.jav
a:264)
atweblogic.ejb.internal.StatefulEJBCache.getEJBContext(StatefulEJBCache.java:3
54)
Check if equals() method can handle null parameter.
Regards,
Slava Imeshev--
Rajesh Mirchandani
Developer Relations Engineer
BEA Support -
Error invoking bpel process using axis client
When I am trying to invoke bpel process using axis client I'am having following error:
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXException: Bad envelope tag: html
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace: org.xml.sax.SAXException: Bad envelope tag: html
at org.apache.axis.message.EnvelopeBuilder.startElement(EnvelopeBuilder.java:109)
at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:976)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationContextImpl.java:242)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:538)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:376)
at org.apache.axis.client.Call.invokeEngine(Call.java:2583)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:1753)
at com.oracle.sample.ws.ArrayClient.main(ArrayClient.java:44)
org.xml.sax.SAXException: Bad envelope tag: html
at org.apache.axis.AxisFault.makeFault(AxisFault.java:129)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:543)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:376)
at org.apache.axis.client.Call.invokeEngine(Call.java:2583)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:1753)
at com.oracle.sample.ws.ArrayClient.main(ArrayClient.java:44)
Caused by: org.xml.sax.SAXException: Bad envelope tag: html
at org.apache.axis.message.EnvelopeBuilder.startElement(EnvelopeBuilder.java:109)
at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:976)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationContextImpl.java:242)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:538)
... 5 more
My client code is following:
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL("http://localhost:9700/orabpel/default/Array"));
SOAPEnvelope env = new SOAPEnvelope();
Name bodyName = env.createName("ArrayRequest", "tns", "http://localhost/");
SOAPBodyElement request = body.addBodyElement(bodyName);
Name childName = env.createName("input","tns","http://localhost/");
SOAPElement input = request.addChildElement(childName);
input.addTextNode("ORCL");
call.invoke(env);
MessageContext mc = call.getMessageContext();
System.out.println("\n============= Response ==============");
XMLUtils.PrettyElementToStream(mc.getResponseMessage().getSOAPEnvelope().getAsDOM(), System.out);
I'am having the same error with client generated by wsdl2java.
RegardsHi -
A few things that you may want to try to troubleshoot this issue:
1) Run our sample of calling a BPEL process from Axis, located in:
C:\orabpel\samples\interop\axis\AXISCallingSyncBPEL
2) Run your client through a TCP tunnel to see the specific SOAP request message that is being sent to the BPEL process and the SOAP response that is being generated. This should help you determine which side of the communication is causing the problem, as well as to rule out proxy server or other issues that are very common problems for this situation.
Dave -
A problem with initiating a BPEL process through its web service interface
hi,
i am trying to initiate the helloWorld BPEL process through its web service interface. i use a proxy class that i wrote and i use it from J#.net.
this is the relevant code part:
hello.HelloWorldBinding wsProxy = new hello.HelloWorldBinding();
wsProxy.initiate("Hello");
and the server shows the following message:
ORABPEL-05002
Message handle error.
An exception occurred while attempting to process the message "com.collaxa.cube.
engine.dispatch.message.invoke.InvokeInstanceMessage"; the exception is: Cannot
decode properties.
The process domain was unable to decode the properties for message guid 10, whic
h are stored in column String index out of range: 3094; the exception reported i
s: {2}.
sql statement: SELECT conv_id, message_guid, domain_ref, process_id, revision_ta
g, operation_name, receive_date, state, priority, properties FROM invoke_message
WHERE message_guid = ?
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(Dispatc
hHelper.java:152)
at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseSche
duledWorker.java:70)
at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java
:86)
at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDriven
BeanInvocation.java:123)
at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome
.java:755)
at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:
928)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Relea
sableResourcePooledExecutor.java:186)
at java.lang.Thread.run(Thread.java:534)
<2006-05-10 21:21:15,171> <ERROR> <default.collaxa.cube.engine.data> <BaseDeliveryPersistenceAdaptor::loadInvokeMetaDa
java.lang.StringIndexOutOfBoundsException: String index out of range: 3094
at java.lang.String.substring(String.java:1441)
at com.collaxa.common.util.LVDecoder.decodeElement(LVDecoder.java:152)
at com.collaxa.common.util.LVDecoder.decodeToMap(LVDecoder.java:45)
at com.collaxa.cube.engine.adaptors.common.BaseDeliveryPersistenceAdaptor.loadInvokeMetaData(BaseDeliveryPersi
r.java:2186)
at com.collaxa.cube.engine.adaptors.common.BaseDeliveryPersistenceAdaptor.__loadInvoke(BaseDeliveryPersistence
:2112)
at com.collaxa.cube.engine.adaptors.common.BaseDeliveryPersistenceAdaptor.loadInvoke(BaseDeliveryPersistenceAd
079)
at com.collaxa.cube.engine.data.DeliveryPersistenceMgr.loadInvoke(DeliveryPersistenceMgr.java:357)
at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:465)
at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:335)
at ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.handleInvoke(ICubeDeliveryLocalBean_StatelessSessionBe
java:1796)
at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHa
7)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
at java.lang.Thread.run(Thread.java:534)
what is the problem? how come i can't initiate the process?
i will be happy if i could get help..
thanks in advancecan you initate the process from the bpel console successfully?
if so can you use obtunnel from the installation to trace the soap message (that goes over the wire), my best guess in this case is a problem with a header (holding the wsa information) ..
after starting obtunnel it will liesten to a custom port, and will forward the request to the engine, so you need to point your client to this new port..
hth clemens -
Getting the final result of BPEL Process through Java
I am trying to invoke BPEL Process from Java code as follows:
NormalizedMessage res=deliveryService.request("BPELProcess1", "process", nm);
Map payload = res.getPayload();
System.out.println("size=="+payload.size());
Element e = (Element)payload.get("payload");
Node node = e.getFirstChild();
NodeList list = e.getChildNodes();
for(int k=0;k<list.getLength();k++){
Node n= list.item(k);
System.out.println("Node-->"+n.getNodeName());
The node names getting printed are :
Node-->#text
Node-->result
Node-->#text
When i retrieve value from these nodes using getNodeValue(), it is showing null for result. However through the BPEL Console, when i see the instance, it shows the result as 5 :
<outputVariable>
<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
<BPELProcess1ProcessResponse xmlns="http://xmlns.oracle.com/BPELProcess1">
<result>5</result>
</BPELProcess1ProcessResponse>
</part>
</outputVariable>
Any comments on this will help a lot. ThanksDoes this example helps you:
http://orasoa.blogspot.com/2007/06/calling-bpelesb-webservice-from.html
Maybe you are looking for
-
Issue with 'Archivation of Request Administration Data' in BW
I read couple of SAP notes and SDN about how to reduce database size in BW. There is one way told us 'Archivation of Request Administration Data'. The link is http://help.sap.com/saphelp_nw70/helpdata/en/42/ead8d7b55e1bd2e10000000a11466f/content.htm
-
How to do import of only table data without procedures and synonyms
Hello All, I want to import only the tables of one database to a new database. I did a table level export of one schema. But along with it the stored procedures,synonyms, views etc are exported. Is there any way to stop them. Or is it possible to imp
-
Problem with mid-2009 MacBook Pro 13" hard drives
In May of this year I upgraded my stock hard drive to a 500GB Hitachi from the stock 160. About 5 days ago the computer froze and hung gor several minutes. Mouse still moved but no response from the OS. Forced a restart after several minutes. The com
-
how can i transfer music from an ipod classic to my new computer from my ipod without my old computer being available??
-
Urgent IDOC Error : No description transferred
Hello I am trying to load an IDOC for Material Master Using MATMAS 05 Getting a error 51 Application not posted When check its details it says No description transferred There is no long text for this error Your response is greatly appreciated Thanks