Table of Contents

Search

  1. Preface
  2. Part 1: Using Process Developer
  3. Part 2: Creating and Modifying Processes
  4. Part 3: Functions, Events, Errors, and Correlation
  5. Part 4: Testing and Deployment
  6. Part 5: Process Central and Process Server (On-Premises)

Process Developer

Process Developer

Engine-Managed Correlation

Engine-Managed Correlation

Select this policy assertion as described in Adding Policy Assertions.
There are two ways that Process Server can correlate messages that are received by a BPEL process: correlation sets and engine-managed correlation policy assertions. A correlation set uses message properties defined within a WSDL and BPEL process. Engine-managed correlation relies on WS-Addressing references in the SOAP header of a message to correlate a received message with the correct process instance.
If you use engine-manage correlation, you need only specify a policy assertion on a My Role partner link. Select a My Role partner link that is associated with a Partner Role in the same partner link. The engine-managed correlation policy assertion directs the Process Server to use WS-Addressing to transmit replyTo endpoint references during transmissions to the partner.
Policy Assertion Example
<myRole allowedRoles="" binding="RPC" service="ManagedCorrelationServiceA"> <wsa:Metadata> <wsp:Policy xmlns:abp="http://schemas. active-endpoints.com/ws/2005/12/policy" xmlns:wsp="http://schemas.xmlsoap.org /ws/2004/09/policy"> <abp:engineManagedCorrelationPolicy/> </wsp:Policy> </wsa:Metadata> </myRole>
How Partner Services Handle Engine Managed Correlation Messages
Often a partner service implemented the WSA SOAP Binding details to automatically handle engine managed correlation messages. The service extracts information from the SOAP header and uses it to reply back to Process Server.
The message Process Server sends to the service is constructed similarly to the following example. Note that the SOAP header contains a
<wsa:ReplyTo>
element including a
<wsa:ReferenceProperties>
element containing the conversation Id for the correlation:
Outbound Message from Process Server
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org /soap/envelope/" xmlns:xsd="http://www.w3.org/2001 /XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Header> ...
<wsa:ReplyTo xmlns:abx="http://www.activebpel.org/bpel/extension" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing"> <wsa:Address>http://localhost:8080/active-bpel/services /ManagedCorrelationServiceA</wsa:Address> <wsa:ReferenceProperties> <abx:conversationId>1:/process/partnerLinks /partnerLink[@name='requestPLT'] </abx:conversationId> </wsa:ReferenceProperties> </wsa:ReplyTo>
... </soapenv:Header> <soapenv:Body> ... </soapenv:Body> </soapenv:Envelope>
When a service receives a message, it should extract the SOAP header
<wsa:ReferenceProperties
> and reply with a similarly formatted SOAP header. If the service you are calling is not replying as expected, use the following example to understand the expectations of Process Server for receiving an engine managed correlation message.
Inbound Message Process Server Expects
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org /soap/envelope/" xmlns:xsd="http://www.w3.org/2001 /XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Header> ... <abx:conversationID
xmlns:abx=
"http://www.activebpel.org/bpel/extension"
>
1:/process/partnerLinks
/partnerLink[@name='requestPLT'
]
</abx:conversationId>
... </soapenv:Header> <soapenv:Body> ... </soapenv:Body> </soapenv:Envelope>
For details on correlation sets, see Correlation.

0 COMMENTS

We’d like to hear from you!