public static Message Combine(this Message message, Message oMessage) { Logger.Debug("Step"); var payloadCollectionRoot = message.Payload.Element("PayloadCollection"); if (payloadCollectionRoot == null) { payloadCollectionRoot = new XElement("PayloadCollection", message.Payload); message.SetPayload(payloadCollectionRoot); } payloadCollectionRoot.Add(oMessage.Payload); return(message); }
public void ExceptionHandling(Exception ex, Message message) { //message.SetVariable("ExceptionPayload", message.Payload.ToString()); message.SetPayload("<Exception></Exception>"); }
private static void ExecuteProcess(HttpListenerContext context, Message message) { Logger.DebugFormat("Entry Url={0}", context.Request.Url); IModule module = null; try { // Reflection var plusRoute = new HttpRoute { Host = "+", Path = context.Request.Url.LocalPath, Port = context.Request.Url.Port }; var route = new HttpRoute { Host = context.Request.Url.Host, Path = context.Request.Url.LocalPath, Port = context.Request.Url.Port }; Type type; if (!RoutesConfig.ConfiguredRoutes.TryGetValue(plusRoute, out type)) if (!RoutesConfig.ConfiguredRoutes.TryGetValue(route, out type)) { throw new ModuleConfigurationException(String.Format("Could not find module for route={0}", route), null); } Logger.DebugFormat("Configured Module={0}", type.FullName); var ctor = type.GetConstructor(new Type[0]); module = (IModule) ctor.Invoke(new object[0]); // Process Logger.DebugFormat("Message process executing."); module.Process(message); Logger.DebugFormat("Message process performed."); } catch (Exception e) { Logger.Error(message.ToString(), e); if (module != null) module.ExceptionHandling(e, message); else message.SetPayload(e.ToString()); } }
public static Message LoadModuleResourceXml <T>(this Message message, string relativePath) where T : IModule { return(message.SetPayload(Resources.LoadModuleResourceXml <T>(relativePath).ToString())); }