private string TryFormatXml(string content) { if (string.IsNullOrEmpty(content)) { return(content); } string result; try { XmlDocument xmlDocument = new SafeXmlDocument(); xmlDocument.LoadXml(content); StringBuilder stringBuilder = new StringBuilder(); using (XmlWriter xmlWriter = XmlWriter.Create(stringBuilder, new XmlWriterSettings { Indent = true, Encoding = Encoding.UTF8 })) { xmlDocument.WriteTo(xmlWriter); } result = stringBuilder.ToString(); } catch (XmlException) { result = content; } return(result); }
// Token: 0x06000A7A RID: 2682 RVA: 0x00028ED0 File Offset: 0x000270D0 internal static SafeXmlDocument GetManifest(SafeXmlDocument xmlDoc) { if (ExtensionDataHelper.xmlSchemaSet.Count == 0) { ExtensionDataHelper.xmlSchemaSet = new XmlSchemaSet(); foreach (string text in SchemaConstants.SchemaNamespaceUriToFile.Keys) { string schemaUri = Path.Combine(ExchangeSetupContext.InstallPath, "bin", SchemaConstants.SchemaNamespaceUriToFile[text]); ExtensionDataHelper.xmlSchemaSet.Add(text, schemaUri); } } xmlDoc.Schemas = ExtensionDataHelper.xmlSchemaSet; xmlDoc.Validate(new ValidationEventHandler(ExtensionDataHelper.InvalidManifestEventHandler)); string uri; string text2; if (!ExtensionDataHelper.TryGetOfficeAppSchemaInfo(xmlDoc, "http://schemas.microsoft.com/office/appforoffice/", out uri, out text2)) { throw new OwaExtensionOperationException(Strings.ErrorInvalidManifestData(Strings.ErrorReasonManifestSchemaUnknown)); } XmlNamespaceManager xmlNamespaceManager = new XmlNamespaceManager(xmlDoc.NameTable); xmlNamespaceManager.AddNamespace("owe", uri); SafeXmlDocument safeXmlDocument = null; string xpath = "//owe:OfficeApp"; XmlNode xmlNode = xmlDoc.SelectSingleNode(xpath, xmlNamespaceManager); if (xmlNode != null) { safeXmlDocument = new SafeXmlDocument(); safeXmlDocument.PreserveWhitespace = true; safeXmlDocument.LoadXml(xmlNode.OuterXml); } return(safeXmlDocument); }
protected override XmlDocument WindowsLiveIdMethod(LiveIdInstanceType liveIdInstanceType) { XmlDocument xmlDocument = null; using (AppIDServiceAPISoapServer appIDServiceAPISoapServer = LiveServicesHelper.ConnectToAppIDService(liveIdInstanceType)) { base.WriteVerbose(Strings.AppIDServiceUrl(appIDServiceAPISoapServer.Url.ToString())); if (!string.IsNullOrEmpty(this.Uri)) { new Uri(this.Uri, UriKind.RelativeOrAbsolute); string text = string.Format(GetWindowsLiveIdApplicationIdentity.AppIDFindTemplate, this.Uri); string xml = appIDServiceAPISoapServer.FindApplication(text); XmlDocument xmlDocument2 = new SafeXmlDocument(); xmlDocument2.LoadXml(xml); XmlNode xmlNode = xmlDocument2.SelectSingleNode("AppidData/Application/ID"); if (xmlNode == null) { base.WriteVerbose(Strings.AppIdElementIsEmpty); throw new LiveServicesException(Strings.AppIdElementIsEmpty); } base.WriteVerbose(Strings.FoundAppId(xmlNode.InnerText)); this.AppId = xmlNode.InnerText; } if (!string.IsNullOrEmpty(this.AppId)) { xmlDocument = new SafeXmlDocument(); xmlDocument.LoadXml(appIDServiceAPISoapServer.GetApplicationEntity(new tagPASSID(), this.AppId)); } } return(xmlDocument); }
// Token: 0x0600079F RID: 1951 RVA: 0x0001C338 File Offset: 0x0001A538 internal static ResponseContent GetResponseInformation(string responseXml) { XmlDocument xmlDocument = new SafeXmlDocument(); try { xmlDocument.LoadXml(responseXml); } catch (Exception innerException) { throw new PswsProxyException(Strings.PswsResponseIsnotXMLError(responseXml), innerException); } ResponseContent responseContent = new ResponseContent(); XmlNamespaceManager pswsNamespaceManager = ObjectTransfer.GetPswsNamespaceManager(xmlDocument); XmlElement xmlElementMustExisting = ObjectTransfer.GetXmlElementMustExisting(xmlDocument, "/rt:entry/rt:content/m:properties", pswsNamespaceManager); responseContent.Id = ObjectTransfer.GetChildXmlElementMustExisting(xmlElementMustExisting, "ID").InnerText; responseContent.Command = ObjectTransfer.GetChildXmlElementMustExisting(xmlElementMustExisting, "Command").InnerText; responseContent.Status = (ExecutionStatus)Enum.Parse(typeof(ExecutionStatus), ObjectTransfer.GetChildXmlElementMustExisting(xmlElementMustExisting, "Status").InnerText); responseContent.OutputXml = ObjectTransfer.GetChildXmlElementMustExisting(xmlElementMustExisting, "Output").InnerText; responseContent.Error = ObjectTransfer.GetErrorRecord(ObjectTransfer.GetChildXmlElementMustExisting(xmlElementMustExisting, "Errors")); responseContent.ExpirationTime = DateTime.Parse(ObjectTransfer.GetChildXmlElementMustExisting(xmlElementMustExisting, "ExpirationTime").InnerText); responseContent.WaitMsec = int.Parse(ObjectTransfer.GetChildXmlElementMustExisting(xmlElementMustExisting, "WaitMsec").InnerText); return(responseContent); }
public static bool TryExtractDecryptionCertificateSKIFromEncryptedXml(string encryptedData, out string requiredCertificateSKI, out Exception exception) { RmsUtil.ThrowIfParameterNull(encryptedData, "encryptedData"); requiredCertificateSKI = null; exception = null; try { XmlDocument xmlDocument = new SafeXmlDocument(); xmlDocument.LoadXml(encryptedData); using (XmlNodeList elementsByTagName = xmlDocument.GetElementsByTagName("X509SKI")) { if (elementsByTagName.Count > 0) { byte[] value = Convert.FromBase64String(elementsByTagName[0].InnerText); requiredCertificateSKI = BitConverter.ToString(value); return(true); } } exception = new XmlException("X509SKI node not found in encrypted XML document"); } catch (FormatException ex) { exception = ex; } catch (XmlException ex2) { exception = ex2; } return(false); }
public MarkupParser() { SafeXmlDocument safeXmlDocument = new SafeXmlDocument(); safeXmlDocument.LoadXml("<linkLabel></linkLabel>"); this.xml = safeXmlDocument.DocumentElement; }
internal virtual ExtensionData GetExtensionDataForInstall(IRecipientSession adRecipientSession) { SafeXmlDocument safeXmlDocument = new SafeXmlDocument(); safeXmlDocument.PreserveWhitespace = true; safeXmlDocument.LoadXml(this.ManifestXml); return(ExtensionData.CreateForXmlStorage(this.AppId, this.MarketplaceAssetID, this.MarketplaceContentMarket, this.Type, this.Scope, this.Enabled, this.AppVersion, DisableReasonType.NotDisabled, safeXmlDocument, this.AppStatus, this.Etoken)); }
protected virtual XmlDocument DecryptKeyBlobXml(string encryptedXmlString) { XmlDocument xmlDocument = new SafeXmlDocument(); xmlDocument.LoadXml(encryptedXmlString); EncryptedXml encryptedXml = new EncryptedXml(xmlDocument); encryptedXml.DecryptDocument(); this.ThrowIfKeyBlobXmlFailsSchemaValidation(xmlDocument); return(xmlDocument); }
: super(securityToken, true /* addTimestamp */) { EwsUtilities.ValidateParam(securityToken, "securityToken"); EwsUtilities.ValidateParam(securityTokenReference, "securityTokenReference"); SafeXmlDocument doc = new SafeXmlDocument(); doc.PreserveWhitespace = true; doc.LoadXml(securityTokenReference); this.keyInfoNode = new KeyInfoNode(doc.DocumentElement); }
protected override XmlDocument WindowsLiveIdMethod(LiveIdInstanceType liveIdInstanceType) { XmlDocument xmlDocument = null; using (NamespaceServiceAPISoapServer namespaceServiceAPISoapServer = LiveServicesHelper.ConnectToNamespaceService(liveIdInstanceType)) { base.WriteVerbose(Strings.NamespaceServiceUrl(namespaceServiceAPISoapServer.Url.ToString())); string namespaceAttributes = namespaceServiceAPISoapServer.GetNamespaceAttributes(this.Namespace, string.Empty); xmlDocument = new SafeXmlDocument(); xmlDocument.LoadXml(namespaceAttributes); } return(xmlDocument); }
// Token: 0x060007AA RID: 1962 RVA: 0x0001C97C File Offset: 0x0001AB7C private static IEnumerable <string> GetPSObjectSerializedData(string serializationData) { XmlDocument xmlDoc = new SafeXmlDocument(); xmlDoc.LoadXml(serializationData); XmlNamespaceManager nsmgr = ObjectTransfer.GetOutputNamespaceManager(xmlDoc); XmlElement objectsElement = ObjectTransfer.GetXmlElementMustExisting(xmlDoc, "Objs", nsmgr); foreach (XmlElement objectElement in ObjectTransfer.GetChildXmlElements(objectsElement, "Obj")) { yield return(objectElement.OuterXml); } yield break; }
internal static string RetrieveCodesInPostAndPreActions(string workflowName, string xaml, string codeBehind) { XmlDocument xmlDocument = new SafeXmlDocument(); xmlDocument.LoadXml(xaml); string result; using (XmlNodeList elementsByTagName = xmlDocument.GetElementsByTagName(workflowName)) { List <string> functionNames = DDIVUtil.RetrievePostAndPreActions(elementsByTagName[0]); result = DDIVUtil.RetrieveCodeFunctions(codeBehind, functionNames); } return(result); }
/** * @将xml转为WxPayData对象并返回对象内部的数据 * @param string 待转换的xml串 * @return 经转换得到的Dictionary * @throws WxPayException */ public SortedDictionary <string, object> FromXml(string xml) { if (string.IsNullOrEmpty(xml)) { Log.Error(this.GetType().ToString(), "将空的xml串转换为WxPayData不合法!"); throw new WxPayException("将空的xml串转换为WxPayData不合法!"); } SafeXmlDocument xmlDoc = new SafeXmlDocument(); xmlDoc.LoadXml(xml); XmlNode xmlNode = xmlDoc.FirstChild;//获取到根节点<xml> XmlNodeList nodes = xmlNode.ChildNodes; foreach (XmlNode xn in nodes) { XmlElement xe = (XmlElement)xn; m_values[xe.Name] = xe.InnerText;//获取xml的键值对到WxPayData内部的数据中 } try { object code; //2015-06-29 错误是没有签名 //有時候會回"公益404",會變成「指定的索引鍵不在字典中」 if (m_values["return_code"] != "SUCCESS") { return(m_values); } CheckSign();//验证签名,不通过会抛异常 } catch (WxPayException ex) { throw new WxPayException(ex.Message); } return(m_values); }
private void ResponseMsg(string weixin)// 服务器响应微信请求 { string resxml = ""; try { //XmlDocument doc = new XmlDocument(); SafeXmlDocument doc = new SafeXmlDocument(); doc.LoadXml(weixin);//读取xml字符串 XmlElement root = doc.DocumentElement; ExmlMsg xmlMsg = GetExmlMsg(root); string messageType = xmlMsg.MsgType;//获取收到的消息类型。文本(text),图片(image),语音等。 switch (messageType) { //当消息为文本时 case "text": string con = xmlMsg.Content.Trim(); resxml = Reply.reply(con, xmlMsg.ToUserName, xmlMsg.FromUserName, xmlMsg.CreateTime); break; case "event": if (!string.IsNullOrEmpty(xmlMsg.EventName) && (xmlMsg.EventName == "subscribe" || xmlMsg.EventName == "SCAN")) { Hashtable ht = new Hashtable(); ht["ToUserName"] = xmlMsg.ToUserName; ht["FromUserName"] = xmlMsg.FromUserName; ht["CreateTime"] = xmlMsg.CreateTime; ht["MsgType"] = xmlMsg.MsgType; ht["Event"] = xmlMsg.EventName; ht["EventKey"] = xmlMsg.EventKey; bool zizhu = (string.IsNullOrEmpty(xmlMsg.EventKey) || xmlMsg.EventKey.IndexOf("last_trade_no") >= 0); //是否为自主关注 ht["Independent"] = zizhu; ht["Url"] = page.Request.Url.ToString(); DataFactory.SqlDataBase().InsertByHashtable("Wx_CallbackLog", ht); resxml = "error"; if (zizhu) { if (xmlMsg.ToUserName.ToString() == "gh_4305dc154099") { //升维商户平台自己关注推送信息 resxml = Reply.Automatic_SewaFocus(xmlMsg.ToUserName, xmlMsg.FromUserName, xmlMsg.CreateTime); } else { resxml = Reply.AutonomyFollow(xmlMsg.ToUserName, xmlMsg.FromUserName, xmlMsg.CreateTime); //自主关注 } break; } string[] keys = xmlMsg.EventKey.Split('@'); if (keys.Length < 2) { break; } switch (xmlMsg.EventName) { case "subscribe": //用户未关注时,进行关注后的事件推送 if (keys[1] == "codeimg") //账单二维码 1、类型 2、Adminhotelid 3、账单号 { resxml = Reply.zd_subscribe(xmlMsg.ToUserName, keys[3], xmlMsg.FromUserName, xmlMsg.CreateTime, keys[2]); } else if (keys[1] == "3") //扫描二维码回复事件 3 { string userid = keys[2]; resxml = Reply.ScanUserCode(xmlMsg.ToUserName, userid, xmlMsg.FromUserName, xmlMsg.CreateTime); } else if (keys[1] == "4") //扫描酒店/门店二维码回复事件 { resxml = Reply.UnHotelFocusWelfare(xmlMsg.ToUserName, keys[2], xmlMsg.FromUserName, xmlMsg.CreateTime); } break; case "SCAN": //用户已关注时的事件推送 if (keys[1] == "codeimg") //账单二维码 { resxml = Reply.zd_subscribe(xmlMsg.ToUserName, keys[3], xmlMsg.FromUserName, xmlMsg.CreateTime, keys[2]); } else if (keys[1] == "3") //扫描二维码回复事件 3 { string userid = keys[2]; resxml = Reply.ScanUserCode(xmlMsg.ToUserName, userid, xmlMsg.FromUserName, xmlMsg.CreateTime); // Log.Info("已关注(扫描推广二维码):", ToUserName); //resxml = Reply.FocusWelfare(xmlMsg.ToUserName, xmlMsg.EventKey.ToString().Split('@')[2], xmlMsg.FromUserName, xmlMsg.CreateTime); } else if (keys[1] == "4") //扫描酒店/门店二维码回复事件 3 { resxml = Reply.HotelFocusWelfare(xmlMsg.ToUserName, keys[2], xmlMsg.FromUserName, xmlMsg.CreateTime); } break; default: break; } } else if (xmlMsg.EventName == "unsubscribe") //取消订阅 { Hashtable ht = new Hashtable(); ht["ToUserName"] = xmlMsg.ToUserName; ht["FromUserName"] = xmlMsg.FromUserName; ht["CreateTime"] = xmlMsg.CreateTime; ht["MsgType"] = xmlMsg.MsgType; ht["Event"] = xmlMsg.EventName; ht["EventKey"] = xmlMsg.EventKey; ht["Independent"] = "0"; ht["Url"] = page.Request.Url.ToString(); DataFactory.SqlDataBase().InsertByHashtable("Wx_CallbackLog", ht); } break; case "image": //2 回复图片消息 break; case "voice": //回复语音消息 break; case "vedio": //回复视频消息 break; case "music": //回复音乐消息 break; case "news": //回复图文消息 break; case "location": //上报地理位置事件 break; case "link": break; default: break; } } catch (Exception ex) { resxml = ex.Message; Log.Info("消息类型适配器ResponseMsg()", ex.Message); } // Log.Info("返回给微信内容:", "------" + resxml + "------"); page.Response.Write(resxml); page.Response.End(); }
/// <summary> /// 发送短信 /// </summary> /// <param name="Phone"></param> /// <param name="Number"></param> /// <param name="num"></param> /// <param name="AdminHotelid"></param> /// <returns></returns> public static bool SendSms(string Phone, string Number, int num, string AdminHotelid) { string content = ""; string HotelName = ""; string SendMoney = "0.08"; string sql_name = string.Format(@"SELECT Name from Hotel_Admin where AdminHotelid='{0}'", AdminHotelid); DataTable ds_name = DataFactory.SqlDataBase().GetDataTableBySQL(new StringBuilder(sql_name)); if (ds_name != null && ds_name.Rows.Count > 0) { HotelName = ds_name.Rows[0]["Name"].ToString(); } string sql = string.Format(@"SELECT ID , Userid , Account , Password , URL , OrganizationID , Name , SingleMoney , AdminHotelid from SmsParameter where AdminHotelid='{0}'", AdminHotelid); DataTable ds = DataFactory.SqlDataBase().GetDataTableBySQL(new StringBuilder(sql)); if (ds != null && ds.Rows.Count > 0) { SendMoney = ds.Rows[0]["SingleMoney"].ToString(); //if (num == 1) //{ // content = "您正在" + HotelName + "进行免费注册验证,验证码:" + Number + ",请输入验证码完成注册。【" + ds.Rows[0]["name"] + "】"; // if (AdminHotelid == "1") // { // content = "您正在" + HotelName + "进行登录,验证码:" + Number + ",请输入验证码完成登录。【" + ds.Rows[0]["name"] + "】"; // } //} //else if (num == 2) //{ // content = "你在" + HotelName + "进行了修改手机绑定,验证码:" + Number + ",请输入验证码完成修改。【" + ds.Rows[0]["name"] + "】"; //} //else if (num == 3) //{ // content = "您正在" + HotelName + "进行免费注册验证,验证码:" + Number + ",请输入验证码完成注册。【" + ds.Rows[0]["name"] + "】"; //} //else if (num == 4) //{ // content = Number; //} //else if (num == 5) //{ // content = "您正在智订云进行了忘记密码,验证码:" + Number + ",请输入验证码完成修改。【智订云】"; //} if (num == 1) { content = "您正在智订云移动PMS进行免费注册验证,验证码:" + Number + ",请输入验证码完成注册。【智订云】"; if (AdminHotelid == "1") { content = "您正在登录智订云移动PMS,验证码:" + Number + ",请按页面提示进行输入。【智订云】"; } } else if (num == 2) { content = "你在智订云移动PMS进行了修改手机绑定,验证码:" + Number + ",请输入验证码完成修改。【智订云】"; } else if (num == 3) { content = "您正在智订云移动PMS进行免费注册验证,验证码:" + Number + ",请输入验证码完成注册。【智订云】"; } else if (num == 4) { content = Number; } else if (num == 5) { content = "您正在智订云进行了忘记密码,验证码:" + Number + ",请输入验证码完成修改。【智订云】"; } string param = "action=send&userid=" + ds.Rows[0]["Userid"] + "&account=" + ds.Rows[0]["account"] + "&password="******"password"] + "&mobile=" + Phone + "&content=" + EncodeConver(content); string url = ds.Rows[0]["url"].ToString(); string result = TemplateMessage.PostWebRequest(url, param); SafeXmlDocument xmlDoc = new SafeXmlDocument(); try { xmlDoc.LoadXml(result); //读取Activity节点下的数据。SelectSingleNode匹配第一个Activity节点 XmlNode root = xmlDoc.SelectSingleNode("//returnsms");//当节点Workflow带有属性是,使用SelectSingleNode无法读取 if (root != null) { string RetureState = (root.SelectSingleNode("returnstatus")).InnerText; string ErrorDescribe = (root.SelectSingleNode("message")).InnerText; string RetureBalance = root.SelectSingleNode("remainpoint").InnerText; string SequenceId = root.SelectSingleNode("taskID").InnerText; string SuccessCounts = root.SelectSingleNode("successCounts").InnerText; if (int.Parse(SuccessCounts) > 0)//发送成功添加记录到短信记录表 { Hashtable ht = new Hashtable(); ht["MessageType"] = 0; ht["Number"] = "DX" + System.DateTime.Now.ToString("yyMMddHHmmss") + Number; ht["Code"] = Number; // ht["ReceiveType"] = 3; //接收对象类型 ht["ReceiveObject"] = "个人(验证码)"; //接收对象 ht["SendNum"] = 1; //发送短信数量 ht["SendUser"] = "******"; ht["SendContent"] = content; //发送内容 ht["SendType"] = 0; //发送类型(0、即时 1、实时) ht["SendMoney"] = SendMoney; ht["DeductionType"] = 1; //扣费类型(0赠送扣除 1营销费扣除 2费用不足够抵扣) ht["SingleMoney"] = SendMoney; //单条短信费用 ht["MulTiple"] = 1; //短信倍数 ht["State"] = 1; //状态(1审核中、2部分成功、3发送失败、4发送成功) ht["RetureState"] = RetureState; ht["ErrorDescribe"] = ErrorDescribe; ht["RetureBalance"] = RetureBalance; ht["SequenceId"] = SequenceId; ht["SuccessCounts"] = SuccessCounts; ht["PhoneSubmit"] = Phone; ht["HotelName"] = HotelName; ht["AdminHotelid"] = AdminHotelid; bool IsOk = DataFactory.SqlDataBase().Submit_AddOrEdit("SendRecord", "ID", "", ht); return(true); } else {//失败记录 Hashtable ht = new Hashtable(); ht["MessageType"] = 0; ht["Number"] = "DX" + System.DateTime.Now.ToString("yyMMddHHmmss") + Number; ht["Code"] = Number; // ht["ReceiveType"] = 3; //接收对象类型 ht["ReceiveObject"] = "个人(验证码)"; //接收对象 ht["SendNum"] = 1; //发送短信数量 ht["SendUser"] = "******"; ht["SendContent"] = content; //发送内容 ht["SendType"] = 0; //发送类型(0、即时 1、实时) ht["SendMoney"] = SendMoney; ht["DeductionType"] = 1; //扣费类型(0赠送扣除 1营销费扣除 2费用不足够抵扣) ht["SingleMoney"] = SendMoney; //单条短信费用 ht["MulTiple"] = 1; //短信倍数 ht["State"] = 3; //状态(1审核中、2部分成功、3发送失败、4发送成功) ht["PhoneSubmit"] = Phone; ht["HotelName"] = HotelName; ht["AdminHotelid"] = AdminHotelid; bool IsOk = DataFactory.SqlDataBase().Submit_AddOrEdit("SendRecord", "ID", "", ht); return(false); } } else { Console.WriteLine("the node is not existed"); return(false); } } catch (Exception e) { //显示错误信息 Console.WriteLine(e.Message); return(false); } } else { // 解析 Result return(false); } }