コード例 #1
0
        private int Subscribe(string body) // sends POST method with event handler parameters
        {
            eventsubscribe[] es = new eventsubscribe[1];
            es[0]                         = new eventsubscribe();
            es[0].resource_id             = "any";
            es[0].action                  = action_option.add;
            es[0].type                    = event_type.any;
            m_EventHandler.eventsubscribe = es;

            m_ws.Item = m_EventHandler as eventhandler;

            HttpWebRequest l_request = XmsInterface.CreateRequest("POST", "eventhandlers", "");

//            HttpWebRequest l_request = XmsInterface.CreateRequest("GET", "calls", "");

/*
 *          l_request.Accept =  "application/xml";
 *          l_request.ContentType = "application/xml";
 *
 *          l_request.ContentLength = (XmsInterface.ObjectToString(m_ws)).Length;
 *          l_request.SendChunked = false;
 *          l_request.Expect = null;
 *          l_request.KeepAlive = false;
 *
 *          l_request.ProtocolVersion = HttpVersion.Version10;
 */


            using (Stream l_requestStream = l_request.GetRequestStream())
            {
                XmlSerializer x = new XmlSerializer(typeof(web_service));
                x.Serialize(l_requestStream, m_ws);
            }

            /*
             *        if (body.Length > 0)
             *        {
             *            using (Stream requestStream = l_request.GetRequestStream())
             *            using (StreamWriter writer = new StreamWriter(requestStream))
             *            {
             *                writer.Write(body);
             *            }
             *        }
             *
             */string l_srequest = XmsInterface.RequestToString(l_request, m_ws);

            Logger.Log(l_srequest, true);
            HttpWebResponse l_response = null;

            try
            {
                l_response = (HttpWebResponse)l_request.GetResponse();

                if (l_response.StatusCode != HttpStatusCode.Created)
                {
                    // process response here

                    Logger.Log(XmsInterface.ResponseToString(l_response), false);
                    return(-1);
                }
                l_request.GetRequestStream().Close();
            }
            catch (Exception ex)
            {
                Logger.Log("ERROR: " + ex.Message, false);
                return(-1);
            }

            using (Stream l_responseStream = l_response.GetResponseStream())
            {
                XmlSerializer x = new XmlSerializer(typeof(web_service));
                m_ws = (web_service)x.Deserialize(l_responseStream);
            }
            l_srequest = XmsInterface.ResponseToString(l_response);
            l_response.Close();


            Logger.Log(l_srequest, false);
            Type tp = m_ws.Item.GetType();

            switch (tp.Name)
            {
            case "eventhandler_response":
                eventhandler_response l_ehr = (eventhandler_response)m_ws.Item;
                EventHandler.m_href        = l_ehr.href;
                EventHandler.m_hId         = l_ehr.identifier;
                m_isRunning                = true;
                m_eventThread              = new Thread(EventHandler.EventThread);
                m_eventThread.IsBackground = true;
                m_eventThread.Start();


//                    l_response = (HttpWebResponse)l_request.GetResponse();
//                    m_eventStream = l_response.GetResponseStream();
//                    m_asyncResult = m_eventStream.BeginRead(m_eventBuffer, 0, 512, m_callback, null);

                break;
            }


/*
 *              using (Stream l_requestStream = l_request.GetRequestStream())
 *              {
 *              }
 * //                using (StreamWriter l_writer = new StreamWriter(l_requestStream))
 *
 *
 *              using (Stream l_requestStream = l_request.GetRequestStream())
 *              using (StreamWriter l_writer = new StreamWriter(l_requestStream))
 *              {
 *                  l_writer.Write(a_xmlPayload);
 *              }
 *          }
 *
 *
 *          web_service l_ws = new web_service();
 *          FileStream fs = new FileStream("CsDemo.log", FileMode.Open);
 *          XmlSerializer x = new XmlSerializer(typeof(web_service));
 *          web_service g = new web_service();
 *          g = (web_service)x.Deserialize(fs);
 *          Type tp  = g.Item.GetType();
 *          switch (tp.Name)
 *          {
 *              case "eventhandler_response":
 *                  eventhandler_response l_ehr = (eventhandler_response) g.Item;
 *                  this.m_href = l_ehr.href;
 *                  this.m_hId = l_ehr.identifier;
 *                  break;
 *          }
 *
 *
 *
 *
 *
 *          string it = "";
 * //            it = g.Item.ToString();
 * /*
 *          Console.WriteLine(g.Manager.Name);
 *          Console.WriteLine(g.GroupID);
 *          Console.WriteLine(g.HexBytes[0]);
 *          foreach (Employee e in g.Employees)
 *          {
 *              Console.WriteLine(e.Name);
 *          }
 *
 *
 *
 *          eventsubscribe[] es = new eventsubscribe[1];
 *          es[0] = new eventsubscribe();
 *          es[0].resource_id = "none";
 *          es[0].action = action_option.remove;
 *          es[0].type = event_type.any;
 *          eventhandler eh = new eventhandler();
 *          eh.eventsubscribe = es;
 *
 *          l_ws.Item = eh as eventhandler;
 *
 *
 *          using (StreamWriter sw = new StreamWriter("CsDemo.log"))
 *          {
 *
 *              new XmlSerializer(typeof(web_service)).Serialize(sw, l_ws);
 *          }
 *
 *
 *
 *          string str = "";
 *          using (StreamWriter sw = new StreamWriter(str))//("CsDemo.log"))
 *          {
 *
 *              new XmlSerializer(typeof(eventhandler)).Serialize(sw, eh);
 *          }
 */
            return(0);
        }
コード例 #2
0
        // sends POST method with event handler parameters
        private int Subscribe(string body)
        {
            eventsubscribe[] es = new eventsubscribe[1];
            es[0] = new eventsubscribe();
            es[0].resource_id = "any";
            es[0].action = action_option.add;
            es[0].type = event_type.any;
            m_EventHandler.eventsubscribe = es;

            m_ws.Item = m_EventHandler as eventhandler;

            HttpWebRequest l_request = XmsInterface.CreateRequest("POST", "eventhandlers", "");
            //            HttpWebRequest l_request = XmsInterface.CreateRequest("GET", "calls", "");
            /*
            l_request.Accept =  "application/xml";
            l_request.ContentType = "application/xml";

            l_request.ContentLength = (XmsInterface.ObjectToString(m_ws)).Length;
            l_request.SendChunked = false;
            l_request.Expect = null;
            l_request.KeepAlive = false;

            l_request.ProtocolVersion = HttpVersion.Version10;
            */

            using (Stream l_requestStream = l_request.GetRequestStream())
            {
                XmlSerializer x = new XmlSerializer(typeof(web_service));
                x.Serialize(l_requestStream, m_ws);
            }

              /*
            if (body.Length > 0)
            {
                using (Stream requestStream = l_request.GetRequestStream())
                using (StreamWriter writer = new StreamWriter(requestStream))
                {
                    writer.Write(body);
                }
            }

            */      string l_srequest = XmsInterface.RequestToString(l_request, m_ws);
            Logger.Log(l_srequest, true);
            HttpWebResponse l_response = null;
            try
            {
                l_response = (HttpWebResponse)l_request.GetResponse();

                if (l_response.StatusCode != HttpStatusCode.Created)
                {
                    // process response here

                    Logger.Log(XmsInterface.ResponseToString(l_response), false);
                    return -1;
                }
                l_request.GetRequestStream().Close();
            }
            catch (Exception ex)
            {
                Logger.Log("ERROR: " + ex.Message, false);
                return -1;
            }

            using (Stream l_responseStream = l_response.GetResponseStream())
            {
                XmlSerializer x = new XmlSerializer(typeof(web_service));
                m_ws = (web_service)x.Deserialize(l_responseStream);
            }
            l_srequest = XmsInterface.ResponseToString(l_response);
            l_response.Close();

            Logger.Log(l_srequest, false);
            Type tp = m_ws.Item.GetType();
            switch (tp.Name)
            {
                case "eventhandler_response":
                    eventhandler_response l_ehr = (eventhandler_response)m_ws.Item;
                    EventHandler.m_href = l_ehr.href;
                    EventHandler.m_hId = l_ehr.identifier;
                    m_isRunning = true;
                    m_eventThread =  new Thread(EventHandler.EventThread);
                    m_eventThread.IsBackground = true;
                    m_eventThread.Start();

            //                    l_response = (HttpWebResponse)l_request.GetResponse();
            //                    m_eventStream = l_response.GetResponseStream();
            //                    m_asyncResult = m_eventStream.BeginRead(m_eventBuffer, 0, 512, m_callback, null);

                    break;
            }

            /*
                using (Stream l_requestStream = l_request.GetRequestStream())
                {
                }
            //                using (StreamWriter l_writer = new StreamWriter(l_requestStream))

                using (Stream l_requestStream = l_request.GetRequestStream())
                using (StreamWriter l_writer = new StreamWriter(l_requestStream))
                {
                    l_writer.Write(a_xmlPayload);
                }
            }

            web_service l_ws = new web_service();
            FileStream fs = new FileStream("CsDemo.log", FileMode.Open);
            XmlSerializer x = new XmlSerializer(typeof(web_service));
            web_service g = new web_service();
            g = (web_service)x.Deserialize(fs);
            Type tp  = g.Item.GetType();
            switch (tp.Name)
            {
                case "eventhandler_response":
                    eventhandler_response l_ehr = (eventhandler_response) g.Item;
                    this.m_href = l_ehr.href;
                    this.m_hId = l_ehr.identifier;
                    break;
            }

            string it = "";
            //            it = g.Item.ToString();
            /*
            Console.WriteLine(g.Manager.Name);
            Console.WriteLine(g.GroupID);
            Console.WriteLine(g.HexBytes[0]);
            foreach (Employee e in g.Employees)
            {
                Console.WriteLine(e.Name);
            }

            eventsubscribe[] es = new eventsubscribe[1];
            es[0] = new eventsubscribe();
            es[0].resource_id = "none";
            es[0].action = action_option.remove;
            es[0].type = event_type.any;
            eventhandler eh = new eventhandler();
            eh.eventsubscribe = es;

            l_ws.Item = eh as eventhandler;

            using (StreamWriter sw = new StreamWriter("CsDemo.log"))
            {

                new XmlSerializer(typeof(web_service)).Serialize(sw, l_ws);
            }

            string str = "";
            using (StreamWriter sw = new StreamWriter(str))//("CsDemo.log"))
            {

                new XmlSerializer(typeof(eventhandler)).Serialize(sw, eh);
            }
             */
            return 0;
        }