Network Deployment (Distributed operating systems), v8.0 > Develop and deploying applications > Develop Service integration > Program mediations > Add mediation function to handler code
Work with the message context
We can work with the message properties to affect the way a message is mediated. Before you start this task, you should read about how information is carried in the mediation context in Mediation context information
Interface SIMessageContext has a superinterface MessageContext. Methods in MessageContext allow you to manage a set of message properties, which enable handlers in a handler chain to share processing-related state. Most importantly, you can get the value of a specific property from the MessageContext by using the method getProperty, and you can set the name and value of a property associated with the MessageContext by using the method setProperty. We can also view the names of the properties in this MessageContext and remove a property (that is, a name-value pair) from the MessageContext.
At mediation runtime, all of the user-defined properties that have been set during configuration for the current mediation (see Configure mediation context properties) are applied to the MediationContext property set.
Procedure
- Locate the point in your mediation handler where you insert the functional mediation code, in the method handle (MessageContext context). As you are working with the MessageContext methods that give you access to message properties, you do not have to cast the interface to SIMessageContext unless you are also interested in the methods provided by SIMessageContext.
- Get the SIMessage from the MessageContext object. For example, SIMessage message = ((SIMessageContext)context).getSIMessage();
- Retrieve or set properties, by using the MessageContext methods. For instance, if a property has been defined during configuration with the name streetName, the type String, and the value "Main Street" your code to retrieve and print the street name might look like this:
Example
public boolean handle(MessageContext context) throws MessageContextException { ........ { /* Retrieve the street name property */ String myStreetName; myStreetName = (String) getProperty(streetName); /* Display property value */ System.out.println(myStreetName); } }
Mediation context information