/// <summary> /// 执行回写方法 /// </summary> /// <param name="_Url">Webservice Url 传null,系统默认url</param> /// <param name="MethodType">方法类型 POST GET SOAP</param> /// <param name="MethodName">方法名</param> /// <param name="Parms">参数集合</param> /// <param name="Msg">消息</param> /// <returns></returns> public ReturnMessage Execute_WriteBack_Method(string _Url, string MethodType, string MethodName, Hashtable Parms, out string Msg) { Msg = string.Empty; ReturnMessage RMsg = new ReturnMessage(); XmlDocument xd = new XmlDocument(); if (!string.IsNullOrEmpty(_Url)) { m_url = _Url; } try { switch (MethodType) { case WebMethodType.GET: xd = this.Execute_GetWebService(MethodName, Parms, out Msg); break; case WebMethodType.POST: xd = this.Execute_PostWebService(MethodName, Parms, out Msg); break; default: xd = this.Execute_SoapWebService(MethodName, Parms, null, out Msg); break; } string strReturnValue = xd.InnerText; try { XmlDocument xdoc = new XmlDocument(); xdoc.LoadXml(strReturnValue); XmlNode objHeadNode = xdoc.SelectSingleNode("//Head"); RMsg.form_no = objHeadNode.SelectSingleNode("form_no").InnerText.Trim(); RMsg.Status = Convert.ToBoolean(objHeadNode.SelectSingleNode("Status").InnerText.Trim()); RMsg.Message = objHeadNode.SelectSingleNode("Message").InnerText.Trim(); XmlNode objBodyNode = xdoc.SelectSingleNode("//Body"); if (objBodyNode.ChildNodes.Count > 0) { RMsg.Entity = objBodyNode.InnerXml.ToString().Trim(); } } catch (Exception ex) { Msg = @"返回值格式不正确,请检查!正确格式: <FlowER> <Head> <form_no>表单号</form_no> <Status>状态</Status> <Message>消息</Message> </Head> <Body> <ContractMaterial> <OID>编号</OID> <NAME>姓名</NAME> </ContractMaterial> </Body> </FlowER>"; throw new Exception(Msg); } } catch (Exception ex) { RMsg.Status = false; RMsg.Message = ex.Message; Msg = ex.Message; } return(RMsg); }
/// <summary> /// 执行Check方法 /// </summary> /// <param name="_Url">Webservice Url 传null,系统默认url</param> /// <param name="MethodType">方法类型 POST GET SOAP</param> /// <param name="MethodName">方法名</param> /// <param name="Parms">参数集合</param> /// <param name="Msg">消息</param> /// <returns></returns> public ReturnMessage Execute_Check_Method(string _Url, string MethodType, string MethodName, Hashtable Parms, out string Msg) { Msg = string.Empty; ReturnMessage RMsg = new ReturnMessage(); XmlDocument xd = new XmlDocument(); if (!string.IsNullOrEmpty(_Url)) { m_url = _Url; } try { LogHelp.WriteInfoLog("JLFFormWebService", "Execute_Check_Method:" + MethodName + "(执行Payroll接口)"); switch (MethodType) { case WebMethodType.GET: xd = this.Execute_GetWebService(MethodName, Parms, out Msg); break; case WebMethodType.POST: xd = this.Execute_PostWebService(MethodName, Parms, out Msg); break; default: xd = this.Execute_SoapWebService(MethodName, Parms, null, out Msg); break; } string strReturnValue = xd.InnerText; try { LogHelp.WriteInfoLog("JLFFormWebService", "Execute_Check_Method:" + MethodName + "(调用成功,解析返回结果)"); XmlDocument xdoc = new XmlDocument(); xdoc.LoadXml(strReturnValue); XmlNode objHeadNode = xdoc.SelectSingleNode("//Head"); RMsg.form_no = objHeadNode.SelectSingleNode("form_no").InnerText.Trim(); RMsg.Status = Convert.ToBoolean(objHeadNode.SelectSingleNode("Status").InnerText.Trim()); RMsg.Message = objHeadNode.SelectSingleNode("Message").InnerText.Trim(); LogHelp.WriteInfoLog("JLFFormWebService", "Execute_Check_Method:" + MethodName + "(解析返回结果成功)"); } catch (Exception ex) { Msg = @"返回值格式不正确,请检查!正确格式: <FlowER> <Head> <form_no>表单号</form_no> <Status>状态</Status> <Message>消息</Message> </Head> <Body> </Body> </FlowER>"; LogHelp.WriteInfoLog("JLFFormWebService", "Execute_Check_Method:" + MethodName + "(解析返回结果失败:" + Msg + ")"); throw new Exception(Msg); } } catch (Exception ex) { RMsg.Status = false; RMsg.Message = ex.Message; Msg = ex.Message; LogHelp.WriteInfoLog("JLFFormWebService", "Execute_Check_Method:" + MethodName + "(调用异常:" + Msg + ")"); } return(RMsg); }