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の管理』を参照してください。