private static void TryAppendText(XmlMappingObject messageObject, string text, int time, int max) { try { string logFileName = GetLogFileName(messageObject); string directoryName = Path.GetDirectoryName(logFileName); if (!Directory.Exists(directoryName)) { Directory.CreateDirectory(directoryName); } using (StreamWriter writer = File.AppendText(logFileName)) { writer.WriteLine(text); writer.Flush(); } } catch { if (time++ < max) { Thread.Sleep(200); TryAppendText(messageObject, text, time, max); } } }
public static T RequestMessage <T>(XmlMappingObject messageObject) where T : XmlMappingObject, new() { string str = messageObject.ToInnerXmlString("body"); string commandCode = CommandDefinition.GetCommandByRequestObjectType(messageObject.GetType()).CommandCode; MessageRequestInfo info2 = new MessageRequestInfo(); MessageRequestInfo.MessageHead head = new MessageRequestInfo.MessageHead(); head.Transcode = commandCode; head.Partnerid = PartnerId; head.Version = Version; head.DateTime = DateTime.Now.ToString("yyyyMMddHHmmss"); info2.Head = head; info2.Body = str; MessageRequestInfo info = info2; string text = info.ToXmlString("msg").Replace(">", ">").Replace("<", "<"); if (!string.IsNullOrEmpty(_xmlDir)) { TryAppendText(messageObject, text, 0, 3); } string requestString = string.Format("transcode={0}&msg={1}&key={2}&partnerid={3}", new object[] { info.Head.Transcode, text, MessageHelper.GetMd5Body(commandCode + text + Key), PartnerId }); string xMl = GetXMl(PostManager.Post(ServiceUrl, requestString, Encoding.UTF8, 0, null, "text/xml")); T local = XmlAnalyzeHelper.AnalyseResponse <T>(xMl, "body"); if (!string.IsNullOrEmpty(_xmlDir)) { TryAppendText(local, xMl, 0, 3); } return(local); }
private static string GetLogFileName(XmlMappingObject messageObject) { string str = DateTime.Now.ToString("yyyyMMddHHmmss"); if (str == _date) { _index++; } else { _date = str; _index = 1; } string str2 = messageObject.GetPrimaryKey().Replace("<", ".").Replace(">", ".").Replace(":", ".").Replace(@"\", ".").Replace("/", ".").Replace("*", ".").Replace("?", ".").Replace("|", ".").Replace("\"", "."); return(Path.Combine(new string[] { _xmlDir, "ZhongMin", CommandDefinition.GetCommandCategory(messageObject.GetCode()), DateTime.Today.ToString("yyyy-MM-dd"), DateTime.Now.Hour.ToString("D2"), string.Format("{0}-{1}-{2}-{3:D3}.xml", new object[] { messageObject.GetCode(), str2, _date, _index }) })); }
public static string GetRequestMessageXml(XmlMappingObject messageObject) { string str = messageObject.ToInnerXmlString("body"); MessageRequestInfo info2 = new MessageRequestInfo(); MessageRequestInfo.MessageHead head = new MessageRequestInfo.MessageHead(); head.Transcode = CommandDefinition.GetCommandByRequestObjectType(messageObject.GetType()).CommandCode; head.Partnerid = PartnerId; head.Version = Version; head.DateTime = DateTime.Now.ToString("yyyyMMddHHmmss"); info2.Head = head; info2.Body = str; MessageRequestInfo info = info2; string str2 = info.ToXmlString("msg").Replace(">", ">").Replace("<", "<"); return(string.Format("transcode={0}&msg={1}&key={2}&partnerid={3}", new object[] { info.Head.Transcode, str2, MessageHelper.GetMd5Body(info.Head.Transcode + str2 + Key), PartnerId })); }
public static string RequestMessage(XmlMappingObject messageObject) { var str = messageObject.ToInnerXmlString("body"); var info2 = new MessageRequestInfo(); var head = new MessageRequestInfo.MessageHead(); head.Transcode = CommandDefinition.GetCommandByRequestObjectType(messageObject.GetType()).CommandCode; head.Partnerid = PartnerId; head.Version = Version; head.DateTime = DateTime.Now.ToString("yyyyMMddHHmmss"); info2.Head = head; info2.Body = str; var info = info2; var str2 = info.ToXmlString("msg").Replace(">", ">").Replace("<", "<"); var requestString = string.Format("transcode={0}&msg={1}&key={2}&partnerid={3}", info.Head.Transcode, str2, MessageHelper.GetMd5Body(info.Head.Transcode + str2 + Key), PartnerId); return(GetXMl(PostManager.Post(ServiceUrl, requestString, Encoding.UTF8, 0, null, "text/xml"))); }