Table of Contents

Search

  1. Preface
  2. Welcome to Informatica Process Developer
  3. Using Guide Developer for the First Time
  4. Getting Started with Informatica Process Developer
  5. About Interfaces Service References and Local WSDL
  6. Planning Your BPEL Process
  7. Participants
  8. Implementing a BPMN Task or Event in BPEL
  9. Implementing a BPMN Gateway or Control Flow
  10. Using Variables
  11. Attachments
  12. Using Links
  13. Data Manipulation
  14. Compensation
  15. Correlation
  16. What is Correlation
  17. What is a Correlation Set
  18. Creating Message Properties and Property Aliases
  19. Adding a Correlation Set
  20. Deleting a Correlation Set
  21. Adding Correlations to an Activity
  22. Rules for Declaring and Using Correlation Sets
  23. Correlation Sets and Engine-Managed Correlation
  24. Event Handling
  25. Fault Handling
  26. Simulating and Debugging
  27. Deploying Your Processes
  28. BPEL Unit Testing
  29. Creating POJO and XQuery Custom Functions
  30. Custom Service Interactions
  31. Process Exception Management
  32. Creating Reports for Process Server and Central
  33. Business Event Processing
  34. Process Central Forms and Configuration
  35. Building a Process with a System Service
  36. Human Tasks
  37. BPEL Faults and Reports

2. Designer

2. Designer

Message Exchange Declaration

Message Exchange Declaration

Use the Message Exchange Declaration dialog to add, edit, or remove message exchange declarations for the process as a whole or for the current scope.
A message exchange value binds a synchronous receive with its reply. A message exchange value makes an explicit match between a receive and a reply, eliminating any ambiguity among concurrent execution of synchronous receives with the same partner link, port type and operation.
A message exchange is a process or scope property that you can select as an attribute of a receive, onMessage, or onEvent and their matching replies. Declare the message exchange value in this dialog. Then select the value, as needed, in the appropriate receive/reply pairs, onEvent/reply pairs, or onMessage/reply pairs.
When to Use This Declaration
The process and the child scope for a parallel forEach activity implicitly declare a default message exchange value. If a receive or a reply activity does not have a message exchange value explicitly declared on it, it has the default value that is provided by either the process or the parallel forEach's scope, depending on where the receive or reply is nested. You can still use explicit message exchange values on receives, replies, and onMessages within a parallel forEach.
The message exchange value can also be useful in multiple receive/reply, onEvent/reply or onMessage/reply pairs in a flow that have the same partner link, port type, and operation. By adding a message exchange value to the pairs, you can avoid receiving the bpel:conflictingRequest fault.
A process is required to reply to any synchronous message exchanges (receives or onMessage) it receives during execution. If there isn't one, the process faults has a bpel:missingReply fault. Each scope that declares a message exchange value tracks its active message exchanges to ensure that a reply executes prior to the scope completing.
When you add a new message exchange value, the default name is MessageExchange_1. You can edit this value, if desired.
If a message exchange declared in an inner scope has the same value as one declared an outer scope, or in the process, the inner scope's declaration overrides the outer scope's or process' declaration. Receives, onEvents, onMessages, and replies in different scopes can be matched only by using the outermost scope's message exchange declaration.


Updated March 30, 2020