コード例 #1
0
        /// <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);
            }
        }
コード例 #2
0
ファイル: Soap.cs プロジェクト: i-sync/CargoVerify
        /// <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);
        }