示例#1
0
        public string TestDateTime(string date)
        {
            DateTime outDateTomorrow;

            DateTime result = TMyServiceWebConnector.TestDateTime((DateTime)THttpBinarySerializer.DeserializeObject(date,
                                                                                                                    "binary"), out outDateTomorrow);

            return(THttpBinarySerializer.SerializeObjectWithType(outDateTomorrow) + "," + THttpBinarySerializer.SerializeObjectWithType(result));
        }
示例#2
0
        /// <summary>
        /// call a webconnector
        /// </summary>
        public List <object> CallWebConnector(
            string AModuleName,
            string methodname,
            SortedList <string, object> parameters, string expectedReturnType)
        {
            NameValueCollection Parameters = ConvertParameters(parameters);

            string result;

            try
            {
                result = THTTPUtils.PostRequest(ServerURL + "/server" + AModuleName + ".asmx/" + methodname.Replace(".", "_"), Parameters);
            }
            catch (Exception e)
            {
                if (e.Message == THTTPUtils.SESSION_ALREADY_CLOSED)
                {
                    TLogging.Log("session has already been closed!");
                }

                throw;
            }

            if (expectedReturnType == "void")
            {
                // did we get a positive response at all? yes, otherwise we would have gotten an exception
                return(null);
            }

            if ((result == null) || (result.Length == 0))
            {
                throw new Exception("invalid response from the server");
            }

            result = TrimResult(result);

            List <object> resultObjects = new List <object>();

            if (expectedReturnType == "list")
            {
                string[] resultlist = result.Split(new char[] { ',' });

                foreach (string o in resultlist)
                {
                    string[] typeAndVal = o.Split(new char[] { ':' });
                    resultObjects.Add(THttpBinarySerializer.DeserializeObject(typeAndVal[0], typeAndVal[1]));
                }
            }
            else
            {
                resultObjects.Add(THttpBinarySerializer.DeserializeObject(result, expectedReturnType));
            }

            return(resultObjects);
        }
示例#3
0
        /// <summary>
        /// create a UIConnector on the server
        /// </summary>
        public static string CreateUIConnector(
            string AModuleName,
            string classname,
            SortedList <string, object> parameters)
        {
            NameValueCollection Parameters =
                ConvertParameters(parameters);

            string result = THTTPUtils.PostRequest(ServerURL + "/server" + AModuleName + ".asmx/Create_" + classname, Parameters);

            result = TrimResult(result);

            TLogging.LogAtLevel(4, String.Format("CreateUIConnector called for Module '{0}' and Class '{1}'",
                                                 AModuleName, classname));

            return(THttpBinarySerializer.DeserializeObject(result, "System.String").ToString());
        }