21 Working with Multiple Part Messages in Oracle Mediator

This chapter describes how to define routing rules for multiple part (multipart) messages for an Oracle Mediator service component, including defining filters, transformations, and validations.

This chapter includes the following sections:

For more information on routing rules, see Chapter 20, "Creating Oracle Mediator Routing Rules."

21.1 Introduction to Mediator Multipart Message Support

Mediator includes support for importing multipart WSDL files in the Mediator Editor and 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 follows
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 follows
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 follows
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 follows
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 follows
Description of "Figure 21-5 Request Transformation Map for a Multipart Routing Target"