21 Working with Multiple Part Messages in Oracle Mediator
This chapter includes the following sections:
For more information on routing rules, see Creating Oracle Mediator Routing Rules.
21.1 Introduction to Mediator Multipart Message Support
Mediator includes support for working with multipart source and target messages, which include multipart filter expression building, multipart schema validation, and transformations between multipart source and target messages for requests, replies, faults, and callbacks.
The Mediator Editor with a multipart source looks similar to Figure 21-1.
Figure 21-1 Mediator Editor for a Multipart Source

Description of "Figure 21-1 Mediator Editor for a Multipart Source"
21.2 Working with Multipart Request Messages
This section describes how to work with different types of multipart messages.
21.2.1 How to Specify Filter Expressions for Multipart Request Messages
If you specify a filter expression for a multipart message, then the Expression Builder displays all message parts under the in variable, as shown in Figure 21-2:
Figure 21-2 Expression Builder for a Multipart Request Source

Description of "Figure 21-2 Expression Builder for a Multipart Request Source"
21.2.2 How to Add Validations for Multipart Request Messages
If you add a validation for a multiple part message, then the Add Validation dialog displays a list of parts from which you can choose one part, as shown in Figure 21-3. You specify a Schematron file for each request message part. Oracle Mediator then processes the Schematron files for the parts.
Figure 21-3 Add Validation Dialog for a Multipart Request Source

Description of "Figure 21-3 Add Validation Dialog for a Multipart Request Source"
21.2.3 How to Create Transformations for Multipart Request Messages
If you create a new mapper file for a multipart message, then the generated mapper file shows multiple source parts in the XSLT Mapper, as shown in Figure 21-4:
Figure 21-4 XSLT Mapper for a Multipart Request Source

Description of "Figure 21-4 XSLT Mapper for a Multipart Request Source"
21.2.4 How to Assign Values for Multipart Request Messages
If you assign values using a source expression and invoke the Expression Builder from the Assign Value dialog, the Expression Builder displays all message parts under the in variable, as shown in Figure 21-2. This is the same as specifying filter expressions.
21.2.5 How to Work with Multipart Reply, Fault, and Callback Source Messages
The method to create transformations and assign values to multipart reply, fault, and callback source messages is the same as working with request source messages.
Note:
You cannot specify filter expressions or add validations for reply, fault, and callback messages.
21.2.6 How to Work with Multipart Target Messages
If a routing target (that is, a request, reply, fault, or callback) has a multipart message, then the transformation is handled in a slightly different way. This is because the XSLT Mapper does not support multipart targets. In such a case, the Mediator creates and coordinates a separate mapper file for each target part, as shown in Figure 21-5:
Figure 21-5 Request Transformation Map for a Multipart Routing Target

Description of "Figure 21-5 Request Transformation Map for a Multipart Routing Target"