官术网_书友最值得收藏!

BPEL correlation

Correlation is a process that matches incoming messages to a particular BPEL process instance. Synchronous BPEL does not require correlation. Correlation is only required for asynchronous BPEL processes.

Oracle BPEL Process Manager automatically establishes correlation using WS-Addressing. However, manual content-based correlation is required if the asynchronous service doesn't support WS-Addressing or the BPEL message is coming from an external system.

Oracle BPEL Processor Manager has the following two methods for correlating asynchronous callback messages to the calling instance.

  • WS-Addressing
  • Correlation sets

One needs to write a manual correlation for the following scenarios:

  • Calling service does not support WS-Addressing.
  • When the asynchronous call has multiple layers. For example, Service A calls B, B calls C, and C Calls D. Response comes from D to A (instead of D to C to B to A). Another option in this scenario is to manipulate the replyTo header without implementing custom correlation.

Creating a Correlation set

A correlation set is a set of properties shared by all messages in the correlated group. These properties must be defined in a WSDL file imported into the BPEL process.

The first step is to create a correlation set. In order to create a correlation set, first click on the Correlation icon (up and down green arrow icon) on the JDeveloper, as shown in the following screenshot. Second, click on the green plus sign on the Correlation Sets window, as shown in the following screenshot that will open the Create Correlation Set window. Third, enter the Name and click on OK. Another option to create a correlation set is to create it from Invoke and Receive activities.

Associating the Correlation set

In JDeveloper, double-click on the Receive activity on BPEL on the Design view as shown in step 1 of the preceding screenshot. It will launch the Edit Receive window, as shown in the following screenshot. Click on the Correlations tab and populate the Correlation Set and Initiate values, as shown in steps 2 and 3 of the following screenshot. Click on OK.

主站蜘蛛池模板: 涟源市| 桂阳县| 托里县| 若羌县| 元谋县| 龙川县| 会昌县| 额尔古纳市| 玉田县| 辰溪县| 油尖旺区| 云南省| 凉城县| 深泽县| 陆河县| 乐亭县| 浑源县| 安丘市| 安顺市| 隆德县| 河北省| 亳州市| 新干县| 莲花县| 珠海市| 冕宁县| 湟源县| 襄城县| 厦门市| 广宗县| 屯门区| 醴陵市| 分宜县| 景东| 古浪县| 湘潭市| 望都县| 临夏市| 资兴市| 涿鹿县| 即墨市|