This article would cover setups required to enable BPEL to poll Oracle apps adapter as well as we will also see an example of how all of this fits together
1) Setup Data Source and Connection Pooling in Application Server
Click on Application Server Control
Click on JDBC resources in the service section
Select “New Connection Pool” and click continue.
Fill in the required details and give the connection details of database and click on “Test Connection “ . If connection parameters are proper you would get a message “Connection established successfully.” .
Click Finish .
You would see your new connection pool created ( BpelTesting)
Keep all the default values . ( Verify “Managed Data Source” is selected ).
Click continue
Note Down the JNDI location : ebiz/BpelTesting
And DataSourceName :BPELTestingConnectionPool
8 ) Setup Oracle Apps adapter
Go back to cluster topology , change view by from “Application server” to “Application” .
Click on AppsAdapter
Click on connection Factories and create a new connection factory
9 )
Now open jdeveloper
Create a new project ( Select BPEL Process Project and select Asynchronous BPEL Process ) and finish
Select oracle applications adapter and drop them onto services lane
Give the JNDI Name created in step 7
Select oracle public API ,in this case I am selecting order delete API .It takes order_header_id as parameter .
Partner role will be defaulted.
Drag and drop invoke activity between receiveInput and callbackClient.
This is to invoke Oracle Application Adapter service from the client .
This will default the Operation which you can perform on API.
Create Global input and output variable .
Drag and drop assign activity between invoke and receive input activity. This assign activity is to copy value from input to input parameter for API.
Similarly drag and drop one more assign activity between invoke and Callback client activity .This is to copy API output to BPEL output variable.
Once the design is validated deploy to the application server.
Note down the header id : 273876 and order Number : 143211
Test the BPEL process from BEPL Console
Click on the link “OracleDeleteBpelAS”
Give the order header ID as Input and
Post xml message
In the Audit XML you would see retur_status as ‘S’ . It signified order has been successfully deleted .
Comments
how to raise an invoice in acount payables
-
-
-
-
-
12401
-
-
-
null
-
file:/D:/produc t/10.1.3.1/Orac leAS_1/bpel/dom ains/default/tm p/.bpel_OrderDe letedBPEL_1.0_d 41264bb3ada8bac 208cd33d844c74a f.tmp/DeleteOrd er.wsdl [ DeleteOrder_ptt ::DeleteOrder(I nputParameters, OutputParameter s) ] - WSIF JCA Execute of operation 'DeleteOrder' failed due to: Could not create/access the TopLink Session. This session is used to connect to the datastore. [Caused by: BPELTestingConn ectionPool not found] ; nested exception is: ORABPEL-11622 Could not create/access the TopLink Session. This session is used to connect to the datastore. [Caused by: BPELTestingConn ectionPool not found] See root exception for the specific exception. You may need to configure the connection settings in the deployment descriptor (i.e. $J2EE_HOME/appl ication-deploym ents/default/Db Adapter/oc4j-ra .xml) and restart the server. Caused by Exception [TOPLINK-7060] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink. exceptions.Vali dationException Exception Description: Cannot acquire data source [BPELTestingConn ectionPool]. Internal Exception: javax.naming.Na meNotFoundExcep tion: BPELTestingConn ectionPool not found.
-
Exception Description: Cannot acquire data source [BPELTestingConn ectionPool]. Internal Exception: javax.naming.Na meNotFoundExcep tion: BPELTestingConn ectionPool not found
Looking at the error trace looks like a firewall issue or Database issue. Did you try checking the database. The error says This session is used to connect to the datastore. Check the connection to your datastore.
Che ers,
Oracletube .com
www.oracletube.com - Social networking and Interactive Learning of Oracle Products...Chec k it out.
FND _AS_UNEXPECTED_ ERROR N PKG_NAME OE_Header_Util N PROCEDURE_NAME Delete_Row N ERROR_TEXT ORA-01403: no data found.
The header id I am using is a valid one. Not sure why API can't find my sales order.
I am using Apps 11.5.10
Do Ineed somehow call Fnd_global.apps _initialize() API first to simulate login as a certain user with proper responsibility before calling OE_ORDER_PUB.DE LETE_ORDER?
Th anks!
Kevin
DECLARE
l_re turn_statusVARC HAR2(1);
l_msg_countNUMB ER;
l_msg_dataVARCH AR2(2000);
BEG IN
oe_order_pu b.delete_order(
p_header_id => 590687,
x_return_status => l_return_status ,
x_msg_count => l_msg_count,
x_msg_data=> l_msg_data);
d bms_output.put_ line('l_return_ status = '||l_return_sta tus);
dbms_output.put _line('l_msg_da ta = '||l_msg_data);
END;
/
Tes t result:
l_return_stat us = U
l_msg_data = FND FND_AS_UNEXPECT ED_ERROR N PKG_NAME OE_Header_Util N PROCEDURE_NAME Delete_Row N ERROR_TEXT ORA-01403: no data found
I am confused why my result can't match to your demo.
Thanks!
Kev in
AP PS - KEDEV> DECLARE
2 l_return_status VARCHAR2(1);
3 l_msg_count NUMBER;
4 l_msg_data VARCHAR2(2000);
5
6 BEGIN
7
8 -- simulate login first before calling oe_order_pub API
9 Fnd_global.apps _initialize(15239, 52531, 660);
10
11 oe_order_pub.de lete_order(
12 p_header_id => 590687,
13 x_return_status => l_return_status ,
14 x_msg_count => l_msg_count,
15 x_msg_data => l_msg_data);
16
17 dbms_output.put _line('l_return _status = '||l_return_sta tus);
18 dbms_output.put _line('l_msg_da ta = '||l_msg_data);
19
20 END;
21 /
l_return_statu s = S
l_msg_data =
PL/SQL procedure successfully completed.
Do this means I need create a DbAdapter to call Fnd_global.apps _initialize() in my bpel process before calling AppsAdapter for oe_order_pub.de lete_order() api?
Thanks!
Kevin
RSS feed for comments to this post