/// <summary> /// 注销 /// </summary> /// <param name="errMsg"></param> /// <returns></returns> public bool Logout(out string errMsg) { errMsg = string.Empty; lbeResult result = service.logout(sessionId); if (result.result > 0) { sessionId = string.Empty; return(true); } else { errMsg = result.message; return(false); } }
/// <summary> /// 修改数据 /// </summary> /// <param name="objectName">查询的对象名</param> /// <param name="id">要修改的记录ID</param> /// <param name="parms"> 传入的数据集合 </param> /// <returns></returns> public lbeResult update(string serviceURL, string sessionId, string objectName, string id, lbParameter[] parms, out string errMsg) { errMsg = string.Empty; lbeResult result = null; //根据URL创建请求对象 HttpWebRequest webRequest = (HttpWebRequest)HttpWebRequest.Create(serviceURL); webRequest.Method = "POST"; webRequest.ContentType = "text/xml;charset=\"utf-8\""; ////查询报文格式 ///* //<q0:update> // <sessionId>$sessionId</sessionId> // <objectName>$objectName</objectName> // <id>$id</id> // <params>$params</params> //</q0:update> // * // * * 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:update>"); soap.Append("<sessionId>{0}</sessionId>"); soap.Append("<objectName>{1}</objectName>"); soap.Append("<id>{2}</id>"); soap.Append("{3}"); soap.Append("</q0:update>"); soap.Append("</soapenv:Body> "); soap.Append("</soapenv:Envelope>"); string strparams = GetSoapArrayString(Serialize(parms), "lbParameter", "params"); //转换成字节数组 byte[] bytes = Encoding.UTF8.GetBytes(string.Format(soap.ToString(), Common.Instance.SessionId, objectName, id, strparams)); 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("//LbeResult"); res = node.OuterXml.Replace("LbeResult", "lbeResult"); //把xml转换成lbeResult对象 result = Deserialize(res, typeof(lbeResult)) as lbeResult; } } catch (WebException ex) { HttpWebResponse response = ex.Response as HttpWebResponse; StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8); //获取结果 errMsg = sr.ReadToEnd(); } return(result); }