Mapping the Properties tree

In a message map, you can transform elements in the Properties tree by using transforms such as the Move transform to copy a value, or the Assign transform to set a value of an element. You can also use elements in the Properties tree as input data to your transformations.

About this task

The Properties tree holds information about the characteristics of the message. For more information, see Message tree structure.

By default, when you create a new map, the Graphical Data Mapping editor includes the Properties tree in the input assembly and in the output message assembly. Depending on the output domain, it can define transforms to update some output elements. Then, copies all the unchanged elements from the input Properties tree to the output Properties tree. If the input and output messages are in the same domain, the transform is a Move transform that copies all elements unchanged.

This figure shows the Properties tree that is added by the Graphical Data Mapping editor when there is no change in domains between the input message and the output message.

Note: If your mapping does not have any requirements to make changes to the output Properties tree, remove the Properties tree from the output message assembly. The Mapping node will propagate the Properties tree unchanged. If you are also not reading any values from the Properties tree, you can remove the Properties tree from the input message assembly.

When you map messages between unlike domains, it might be necessary to set the MessageSet, the MessageType, and the MessageFormat elements in the output Properties tree. The fields that need setting are dependent on the target parser associated with the output message domain. When you create a new map, the Graphical Data Mapping editor will place a Move with Overrides transform group with Assign transforms that set default values for these elements in the output.

For example, if the target domain is JSON and the source is SOAP, the Graphical Data Mapping editor defines an Override to reset the MessageSet, the MessageType, and the MessageFormat, and move unchanged the rest of the Properties tree elements from input to output.

This figure shows the Properties tree that is added by the Graphical Data Mapping editor when there is no change in domains between the input message and the output message.

Note: When you map to a message in the SOAP domain and you have used the Cast function to qualify the xsd:any in the SOAP Body to a message type defined by a message set format, you must set the MessageSet, the MessageType, and the MessageFormat properties to the values for that message set in the Properties tree.

Procedure

You can complete any of the following mapping tasks when you add the Properties tree to a message map:

  1. Use Property elements to define conditional expressions that determine if a transform can be applied anywhere in the map. For more information, see Defining an XPath conditional expression for a transform.
  2. Use the Assign transform to set a fixed value without the use of input data.
  3. Use transforms to calculate or set the value of an output message element from the value of elements in the Properties tree.

    For example, you can use the Move transform to copy an input element value to the output element.

  4. Use transforms to calculate the value of a Properties tree element based on the value of elements available in other parts of the message.
  5. Use the value of elements defined in the Properties tree to insert, update, or delete data in a database. You can also use the value of a Property element in the definition of a Where clause of a Select transform.
    • Use the transform Insert to add new data to one or more tables in a database.
    • Use the transform Delete to delete data in one or more tables in a database.
    • Use the transform Update to update data in one or more tables in a database.
    • Use the Database Routine transform to update, insert, or delete data in a database by using store procedures.

What to do next

  1. Define transforms in the message map to set the value of the output elements. For more information, see Specifying a transform (mapping operation).
  2. Deploy the map and verify that the output message is valid. For more information, see Deploying message maps.