receiveアクティビティのエントリと中間プロセスのreceiveアクティビティで同じ操作を使用する方法

次の例に示すように、相関セットを作成するとします。Oracle BPEL Process Managerに対するすべてのメッセージは、同じ操作名にルーティングされます。メッセージの相関IDは同じとなります。インタフェースWSDLでは、アクティビティのエントリ(receiveInput)と中間プロセスのreceiveアクティビティ(Continue_Receive)が区別されません。すべてのメッセージはinitiate操作を使用して処理されます。すべてのメッセージをルーティングするシングル・インスタンスが作成されます。

このことは、同じパートナ・リンクについて異なる操作名を定義する必要があった11g リリース1 11.1.1.6より前のリリースとは異なります。プロセスで2つの操作を公開する必要があり、コール元で適切な操作名を選択する必要がありました。

<receive name="receiveInput" partnerLink="client" portType="client:BPELProcess1"
 operation="initiate" variable="inputVariable" createInstance="yes">
 <correlations>
  <correlation initiate="yes" set="CorrelationSet_1"/>
 </correlations>
</receive>

<!-- Asynchronous callback to the requester. (Note: the callback location and
 correlation id is transparently handled using WS-addressing.) -->
<assign name="Assign_1">
 <copy>
  <from variable="inputVariable" part="payload"
 query="/client:BPELProcess1ProcessRequest/client:input"/>
  <to variable="Invoke_1_initiate_InputVariable" part="payload"
 query="/ns1:BPELProcess2ProcessRequest/ns1:input"/>
 </copy>
</assign>

<receive name="Continue_Receive" partnerLink="client"
 portType="client:BPELProcess1" operation="initiate" variable="inputVariable"
 createInstance="no">
 <correlations>
  <correlation initiate="no" set="CorrelationSet_1"/>
 </correlations>
</receive>

イベント配信ネットワーク(EDN)のビジネス・イベントの場合、receiveアクティビティのエントリと中間プロセスのreceiveアクティビティの両方で、operation属性をbpelx:eventNameに置換します。

bpelx:eventName="ns3:initiateEvent"/>

次の情報が、DLV_AGGREGATION表に保持されます。

  • 対話ID

  • ドメイン名

  • コンポーネント名とタイプ

  • コンポジット名、ラベルおよびリビジョン

  • 状態

  • 受信日

  • CIキー

  • 主キー

この情報は、パージ・スクリプトを使用してこの表から、またはOracle Enterprise Manager Fusion Middleware Controlの「自動パージ」ページから削除できます。これらのオプションの両方の詳細は、『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』を参照してください。