Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }