/// <summary> /// 装车验证 /// </summary> /// <param name="ID">明细ID</param> /// <param name="errMsg">错误人yth</param> /// <returns></returns> public bool Verify(string ID, out string errMsg) { errMsg = string.Empty; //传递参数:操作员及当前操作时间 lbParameter[] parms = { new lbParameter() { name = "cUser1", value = BLL.Common.Instance.UserInfo.name }, new lbParameter() { name = "dDate1", value = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") } }; bizProcessResult bpResult = Common.Instance.execBizProcess("ERP_MM_Order0_tDetail_M8", ID, parms, null); //bizProcessResult bpResult = Soap.Instance.execBizProcess("ERP_MM_Order0_tDetail_M8", ID, parms, null,out errMsg); if (bpResult.result <= 0) { errMsg = bpResult.message; return(false); } return(true); }
/// <summary> /// 用户登录 /// </summary> /// <param name="userId"></param> /// <param name="password"></param> /// <param name="errMsg"></param> /// <returns></returns> public bool Login(string userId, string password, out string errMsg) { errMsg = string.Empty; //登录前初始化用户信息 userInfo = new userInfo(); bool flag = false; flag = adminLogin(out errMsg); if (!flag) { return(flag); } //参数数组 lbParameter[] parms = { new lbParameter() { name = "userid", value = userId }, new lbParameter() { name = "password", value = password } }; //判断用户名及密码是否正确 1 代表成功,2代表失败 bizProcessResult result = execBizProcess("tUser_M2", "", parms, null); //bizProcessResult result = Soap.Instance.execBizProcess("tUser_M2", "", parms, null, out errMsg); if (result.result == 1) //(result.result > 0) { return(GetUserInfo(userId, out errMsg)); } else { errMsg = result.message; return(false); } }
/// <summary> /// 执行对象流程 /// </summary> /// <param name="serviceURL"></param> /// <param name="sessionId"></param> /// <param name="bizProcessName"></param> /// <param name="id"></param> /// <param name="parms"></param> /// <param name="variables"></param> /// <returns></returns> public bizProcessResult execBizProcess(string bizProcessName, string id, lbParameter[] parms, lbParameter[] variables, out string errMsg) { errMsg = string.Empty; bizProcessResult result = null; //根据URL创建请求对象 HttpWebRequest webRequest = (HttpWebRequest)HttpWebRequest.Create(serviceURL); webRequest.Method = "POST"; webRequest.ContentType = "text/xml;charset=\"utf-8\""; ////报文格式 ///* //<q0:execBizProcess> // <sessionId>$sessionId</sessionId> // <bizProcessName>$bizProcessName</bizProcessName> // <id>$id</id> // <params>$params</params> // <variables>$variables</variables> //</q0:execBizProcess> // * // * * StringBuilder soap = new StringBuilder(); soap.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); soap.Append("<soapenv:Envelope xmlns:q0=\"http://ws.livebos.apex.com/\" xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">"); soap.Append("<soapenv:Header>"); soap.Append("</soapenv:Header>"); soap.Append("<soapenv:Body>"); soap.Append("<q0:execBizProcess>"); soap.Append("<sessionId>{0}</sessionId>"); soap.Append("<bizProcessName>{1}</bizProcessName>"); soap.Append("<id>{2}</id>"); soap.Append("{3}"); soap.Append("{4}"); soap.Append("</q0:execBizProcess>"); soap.Append("</soapenv:Body> "); soap.Append("</soapenv:Envelope>"); string strparms = GetSoapArrayString(Serialize(parms), "lbParameter", "params"); string strvariables = GetSoapArrayString(Serialize(variables), "lbParameter", "variables"); //转换成字节数组 byte[] bytes = Encoding.UTF8.GetBytes(string.Format(soap.ToString(), Common.Instance.SessionId, bizProcessName, id, strparms, strvariables)); webRequest.ContentLength = bytes.Length; Stream stream = webRequest.GetRequestStream(); stream.Write(bytes, 0, bytes.Length); stream.Flush(); stream.Close(); try { HttpWebResponse webResponse = webRequest.GetResponse() as HttpWebResponse; if (webResponse.StatusCode == HttpStatusCode.OK) { //获取返回结果流 Stream tempStraem = webResponse.GetResponseStream(); StreamReader sr = new StreamReader(tempStraem, Encoding.UTF8); //获取结果 string res = sr.ReadToEnd(); sr.Close(); //关闭读取器 tempStraem.Close(); //关闭流 //把结果先转换为xml文件 查询<LbeResult>节点,然后把它该节点再转换为类对象 XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(res); XmlNode node = xmlDoc.SelectSingleNode("//BizProcessResult"); res = node.OuterXml.Replace("BizProcessResult", "bizProcessResult"); //把xml转换成lbeResult对象 result = Deserialize(res, typeof(bizProcessResult)) as bizProcessResult; } } catch (WebException ex) { HttpWebResponse response = ex.Response as HttpWebResponse; StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8); //获取结果 errMsg = sr.ReadToEnd(); } return(result); }