private MSG.Message TransformToCSBDataSetSchemedXDSGWMessage(MSG.Message msg, string msgID) { if (!_entity.Context.ConfigMgr.Config.EnableXMLTransform) { return(msg); } _entity.Context.Log.Write("Begin transforming XDSGW message."); string file = ConfigHelper.GetFullPath(_entity.Context.AppArgument.ConfigFilePath, _entity.Context.ConfigMgr.Config.XSLTFilePath); XMLTransformer t = XMLTransformer.CreateFromFileWithCache(file, _entity.Context.Log); if (t == null) { return(null); } string csbMsgXml = ""; string otherMsgXml = msg.ToXMLString(); if (!t.TransformString(otherMsgXml, ref csbMsgXml, XSLTExtensionTypes.None)) { return(null); } MSG.Message csbMsg = XObjectManager.CreateObject <MSG.Message>(csbMsgXml); if (csbMsg == null) { _entity.Context.Log.Write(LogType.Error, "Cannot deserialize the transformed XML into XDSGW message."); string fname = string.Format("{0}_transformed", msgID); DumpErrorMessage(csbMsgXml, fname); } _entity.Context.Log.Write("Finish transforming XDSGW message."); return(csbMsg); }
public override bool SendMessage(HYS.IM.Messaging.Objects.Message message) { if (message == null || message.Header == null) { _log.Write(LogType.Error, "MSMQSender cannot send NULL message or message without header."); return(false); } string msgIDInfo = "MSMQSender send message id=" + message.Header.ID.ToString(); _log.Write(LogType.Debug, msgIDInfo + " serializing."); string xmlString = message.ToXMLString(); lock (queue) // 20130204 Send() is not thread safe according to msdn. { using (MessageQueueTransaction trans = new MessageQueueTransaction()) { try { _log.Write(LogType.Debug, msgIDInfo + " begin."); trans.Begin(); queue.Send(xmlString, MSMQHelper.GetMessageLabel(message), trans); trans.Commit(); _log.Write(LogType.Debug, msgIDInfo + " end."); return(true); } catch (Exception err) { trans.Abort(); //throw err; _log.Write(LogType.Error, "MSMQSender send message failed."); _log.Write(err); return(false); } } } }
private void listBoxMsg_DoubleClick(object sender, EventArgs e) { MSG.Message msg = this.listBoxMsg.SelectedItem as MSG.Message; MessageBox.Show(msg.ToXMLString()); }
private void DumpErrorMessage(MSG.Message msg, string msgID) { DumpErrorMessage(msg.ToXMLString(), msgID); }