Exemple #1
0
 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);
         }
     }
 }
Exemple #2
0
        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("&gt;", ">").Replace("&lt;", "<");

            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);
        }
Exemple #3
0
        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 }) }));
        }
Exemple #4
0
        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("&gt;", ">").Replace("&lt;", "<");

            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("&gt;", ">").Replace("&lt;", "<");
            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")));
        }