public XIMWrapper(string xim) { XIMDocument = xim; GUIDList = new List <string>(); if (XIMDocument == null) { return; } XIMDocument = XIMDocument.Replace(XIMTransformHelper.TransactionID, XIMTransformHelper.GetTransactionID()); }
private bool SaveSetting() { _message.MappingList.Clear(); List <XIMMappingItem> list = _listViewCtrl.GetCurrentList(); foreach (XIMMappingItem i in list) { _message.MappingList.Add(i); } _message.GWEventType = _gwEventCtrl.Value; _message.HL7EventType = _hl7EventCtrl.Value; XIMTransformHelper.RefreshXSLFileName(_message); return(true); }
internal static void PreLoading() { Log = new Logging(Application.StartupPath + "\\XIMOutbound.log"); LoggingHelper.EnableApplicationLogging(Log); LoggingHelper.EnableXmlLogging(Log); Log.WriteAppStart(AppName); ConfigMgt = new XIMOutboundConfigMgt(); ConfigMgt.FileName = Application.StartupPath + "\\" + ConfigMgt.FileName; if (ConfigMgt.Load()) { Log.Write("Load config succeeded. " + ConfigMgt.FileName); } else { Log.Write(LogType.Error, "Load config failed. " + ConfigMgt.FileName); ConfigMgt.Config = new XIMOutboundConfig(); ConfigMgt.Save(); } XIMTransformHelper.EnableXSLTLogging(Log); SocketHelper.EnableSocketLogging(Log, ConfigMgt.Config.DumpSocketData); }
private bool _entity_OnRequest(string receiveData, ref string sendData) { //receiveData = SocketHelper.DeleteEOF(receiveData, _entity.Config.ReceiveEndSign); //sendData = receiveData.Replace('#', '$'); //return; //using (StreamWriter sw = File.CreateText("d:\\msg.txt")) //{ // sw.Write(receiveData); //} string msgContent = XIMServerHelper.GetMessageContent(receiveData); if (msgContent == null || msgContent.Length < 1) { string strErrMsg = "Request message does not exist in request data"; Program.Log.Write(LogType.Warning, strErrMsg, XIMServerHelper.ModuleName); sendData = XIMServerHelper.GetResponseFailed(XIMTransformHelper.GetTransactionID(), strErrMsg, Program.ConfigMgt.Config.SocketConfig); return(false); } string strName = ""; string strQualifier = ""; string strTransactionID = ""; XIMInboundMessage msgConfig = XIMServerHelper.GetMessageConfiguration(msgContent, ref strName, ref strQualifier, ref strTransactionID); if (msgConfig == null) { string strErrMsg = "Cannot find mapping rule configuration for current message (Name:" + strName + ", Qualifier:" + strQualifier + ")."; Program.Log.Write(LogType.Warning, strErrMsg, XIMServerHelper.ModuleName); sendData = XIMServerHelper.GetResponseFailed(strTransactionID, strErrMsg, Program.ConfigMgt.Config.SocketConfig); return(false); } XMLTransformer transformer = XMLTransformer.CreateFromMessage(msgConfig); if (msgConfig == null) { string strErrMsg = "Cannot find mapping XSL file for current message (XSL File:" + msgConfig.XSLFileName + ")."; Program.Log.Write(LogType.Warning, strErrMsg, XIMServerHelper.ModuleName); sendData = XIMServerHelper.GetResponseFailed(strTransactionID, strErrMsg, Program.ConfigMgt.Config.SocketConfig); return(false); } List <XmlNode> nodeList = new List <XmlNode>(); XIMServerHelper.SplitItem(nodeList, msgContent); Program.Log.Write(nodeList.Count.ToString() + " XIM Item(s) are found in request message", XIMServerHelper.ModuleName); XIMServerHelper.SplitProcedureStep(nodeList); Program.Log.Write(nodeList.Count.ToString() + " XIM Item(s) splited by SPS are found in request message", XIMServerHelper.ModuleName); if (nodeList.Count > 0) { string[] dataSetXmlList = XIMServerHelper.Transform(transformer, nodeList); DataSet dataSet = XIMServerHelper.CreateDataSet(dataSetXmlList); if (dataSet == null) { string strErrMsg = "Failed to transform to Data Set for current message."; Program.Log.Write(LogType.Warning, strErrMsg, XIMServerHelper.ModuleName); sendData = XIMServerHelper.GetResponseFailed(strTransactionID, strErrMsg, Program.ConfigMgt.Config.SocketConfig); return(false); } if (_service.SaveData(msgConfig.Rule, dataSet)) { Program.Log.Write("Save to GC Gateway database succeeded."); sendData = XIMServerHelper.GetResponseSuccess(strTransactionID, Program.ConfigMgt.Config.SocketConfig); return(true); } else { string strErrMsg = "Save to GC Gateway database failed."; Program.Log.Write(LogType.Error, strErrMsg, XIMServerHelper.ModuleName); sendData = XIMServerHelper.GetResponseFailed(strTransactionID, strErrMsg, Program.ConfigMgt.Config.SocketConfig); return(false); } } return(false); }