使用消息上下文

可以使用消息属性来影响消息的调解方式。

开始之前

开始执行此任务之前,应该阅读调解上下文信息以了解如何在调解上下文中传送信息。

关于此任务

接口 SIMessageContext 具有超级接口 MessageContext。MessageContext 中的方法使您能够管理一组消息属性,这些属性使处理程序链中的处理程序能够共享与处理相关的状态。最重要的是,您可以使用 getProperty 方法从 MessageContext 中获取特定属性的值,并且可以使用 setProperty 方法来设置与 MessageContext 相关联的属性的名称和值。还可以查看此 MessageContext 中属性的名称以及从 MessageContext 中移除属性(即,“名称/值”对)。

在调解运行时,配置期间已经为当前调解设置的所有用户定义的属性(请参阅配置调解上下文属性)将应用于 MediationContext 属性集。

过程

  1. 在调解处理程序的方法 handle (MessageContext context) 中找到要插入功能性调解代码的位置。因为您正在使用的 MessageContext 方法允许您访问消息属性,所以不必将接口强制转型为 SIMessageContext,除非您对 SIMessageContext 提供的方法也感兴趣。
  2. 从 MessageContext 对象中获取 SIMessage。例如,SIMessage message = ((SIMessageContext)context).getSIMessage();
  3. 使用 MessageContext 方法来检索或设置属性。例如,如果配置期间已使用名称 streetName、类型 String 和值“Main Street”定义某个属性,那么用来检索和打印街道名称的代码可能类似于以下内容:

示例

public boolean handle(MessageContext context) throws MessageContextException {
	
			........			
		{
								/* Retrieve the street name property */
								String myStreetName;
								myStreetName = (String) getProperty(streetName);
				
								/* Display property value */
							WSSubject.setRunAsSubject(mySubject);
				
		}
}

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjy1503
文件名:tjy1503.html