private void ProcessMessage(string ssbMsg) { int transNumber = 0; try { string actionType = this.GetAcitonType(ssbMsg); transNumber = SSBProcessLogBP.CreateLog(ssbMsg, actionType); SSBProcesser processer = _ssbChannel.GetProcesser(actionType); if (processer == null) { this.WriteLog("未找到有效的ActionType,请检查配置"); return; } this.ProcessMessagae(ssbMsg, processer); string referenceKey = this.GetReferenceKey(ssbMsg, processer); SSBProcessLogBP.UpdateLog(transNumber, referenceKey, actionType); this.WriteLog(string.Format("Success , ReferenceKey is {0}", referenceKey)); } catch (Exception ex) { RetryProcessHelper.WriteLog <string>( ssbMsg , transNumber.ToString() , ex.ToString() , string.Concat("MessageAgent:", _ssbChannel.DataCommand)); this.WriteLog(ex.Message); } }
public override string GetReferenceKey(string message, SSBProcesser processer) { message = IPP.Framework.Utility.XmlUtils.RemoveNameSpace(message); string referenceKey = XMLHelper.SelectSingleNode(processer.ReferenceKeyXPath, message); return(referenceKey); }
//[RetryErrorHandling] private void ProcessMessagae(string message, SSBProcesser processer) { string serviceName = processer.ProcessService; if (processer.CallType == CallType.SP) { CommonDA.SPProcess(message, serviceName); } else { RequestMessage req = new RequestMessage(); req.Message = message; req.ActionType = processer.ActionType; //IProcessMessage service = ServiceBroker.GetService<IProcessMessage>(serviceName); //try //{ // service.Process(message, processer.ActionType); //} //finally //{ // ServiceBroker.Close(service); //} if (ConfigHelper.RestServiceConfig.RestServices.Contains(processer.ProcessService)) { RestService restServiceConfig = ConfigHelper.RestServiceConfig.RestServices[processer.ProcessService]; string languageCode = System.Configuration.ConfigurationManager.AppSettings["LanguageCode"]; string companyCode = System.Configuration.ConfigurationManager.AppSettings["CompanyCode"]; ECCentral.Job.Utility.RestClient client = new ECCentral.Job.Utility.RestClient(restServiceConfig.BaseUrl, languageCode); ECCentral.Job.Utility.RestServiceError error; var ar = client.Update(restServiceConfig.RelativeUrl, req, out error); if (error != null && error.Faults != null && error.Faults.Count > 0) { string errorMsg = ""; foreach (var errorItem in error.Faults) { errorMsg += errorItem.ErrorDescription; } ECCentral.Job.Utility.Logger.WriteLog(errorMsg, "JobConsole"); } } else { throw new Exception(string.Format("未找到{0}对应的Rest Service配置!", processer.ProcessService)); } } }
public override string GetReferenceKey(string message, SSBProcesser processer) { string referenceKey = XMLHelper.SelectSingleNode(processer.ReferenceKeyXPath, message); return(referenceKey); }
public abstract string GetReferenceKey(string message, SSBProcesser processer);