Oracle Applications Adapater Receives Business Event from EBS but Within The Received Message the Event Specific Data Element is Not Populated (Doc ID 1226895.1)

Last updated on MAY 01, 2015

Applies to:

Oracle SOA Platform - Version 11.1.1.1.0 to 11.1.1.3.0 [Release 11gR1]
Information in this document applies to any platform.
***Checked for relevance on 08-Mar-2012***
***Checked for relevance on 09-August-2013***

Symptoms

You are using the Oracle Applications Adapter component of Oracle Fusion Middleware 11g to implement a business process for the BPEL component that integrates with Oracle E-Business Suite via Business Events. When the BPEL process receive a payload corresponding to the Business Event subscribed to via the Applications Adapter, the event_data element (which is expected to provide data specific to the event type) is empty.

For example, you may configure the Oracle Applications Adapter to receive receive business events that indicate the approval of Purchase Orders to be dispatched to partners via the XML Gateway, as described by the following product documentation:

Oracle Fusion Middleware Adapter for Oracle Applications User's Guide
11g Release 1 (11.1.1)
Part Number E10537-02


At runtime, the approval of PO's is triggering the creation of business events which are received as input through the Applications Adapter that initiates a running BPEL instance to process the payload. However, though the received message has many fields populated, there is no information within the message providing the line items of the approved Purchase Order (i.e. the event data element of the message is an empty element: <EVENT_DATA/>).

The issue can be verified by executing a SQL query, similar to the following, which views the relevant entries in the WF_BPEL_QTAB table, which holds the business event messages that are dispatched to BPEL:


SET pause on
SET pause "---MORE---"

COL q_name format a9
COL state format 999
COL enq_time format a20

SELECT   q.q_name
,        q.msgid
,        q.state
,        TO_CHAR(q.enq_time,'DD-MON-YYYY HH24:MI:SS') "ENQ_TIME"
,        q.user_data.event_name "EVENT_NAME"
FROM     WF_BPEL_QTAB q
WHERE    q.user_data.event_name = 'oracle.apps.po.event.xmlpo'
ORDER BY q.enq_time desc;


These will show that the event data XML element (which is used to hold the different data that would be specific to each event type) is an empty element </EVENT_DATA>, for example:

<?xml version="1.0" encoding="UTF-8" ?>
<WF_EVENT_T xmlns="http://xmlns.oracle.com/xdb/APPS/GetPOApprovalEvent">
   <PRIORITY xmlns="">50</PRIORITY>
   <SEND_DATE xmlns="">2010-08-06T07:47:23.000Z</SEND_DATE>
   <RECEIVE_DATE xmlns="">2010-08-06T07:47:43.000Z</RECEIVE_DATE>
   <CORRELATION_ID NULL="TRUE" xmlns=""/>
   <PARAMETER_LIST xmlns="">
     <PARAMETER_LIST_ITEM>
       <NAME>#CURRENT_PHASE</NAME>
       <VALUE>100</VALUE>
     </PARAMETER_LIST_ITEM>
     <PARAMETER_LIST_ITEM>
       <NAME>SUB_GUID</NAME>
       <VALUE>BEF2A52342717622E030B98B59631BE2</VALUE>
     </PARAMETER_LIST_ITEM>
   </PARAMETER_LIST>
   <EVENT_NAME xmlns="">oracle.apps.po.event.xmlpo</EVENT_NAME>
   <EVENT_KEY xmlns="">ANDY_06-AUG-2010@14:18:15</EVENT_KEY>
   <EVENT_DATA/>
...

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms