// Cumulocity Subscribe - Request - Response public SubscribeResponse[] DeviceCloudSubscribe(SubscribeRequest subscribeRequest, string service_url) { SubscribeResponse[] subscribeResp = new SubscribeResponse[0]; try { HttpWebRequest request = deviceCloudHttpRequest(service_url); DataContractJsonSerializer ser = new DataContractJsonSerializer(subscribeRequest.GetType()); MemoryStream ms = new MemoryStream(); ser.WriteObject(ms, subscribeRequest); String json = Encoding.UTF8.GetString(ms.ToArray()); StreamWriter writer = new StreamWriter(request.GetRequestStream()); ms.Close(); writer.Write(json); writer.Close(); using (var httpwebResponse = (HttpWebResponse)request.GetResponse()) { using (var reader = new StreamReader(httpwebResponse.GetResponseStream())) { JavaScriptSerializer js = new JavaScriptSerializer(); string responseJsonText = reader.ReadToEnd(); subscribeResp = js.Deserialize <SubscribeResponse[]>(responseJsonText); // ========================== ServiceEventSource.Current.ServiceMessage(this, "Subscribe to Cumulocity succeeded - {0}", subscribeResp[0].successful); // ========================== reader.Close(); } } request.Abort(); } catch (Exception e) { // ========================== ServiceEventSource.Current.ServiceMessage(this, "Exception caught - {0} - unknown error during Subscribe request", System.Convert.ToString(e)); // ========================== //System.Diagnostics.Trace.WriteLine("Exception caught" + System.Convert.ToString(e), "Error"); subscribeResp[0].successful = false; subscribeResp[0].error = "Exeption - unknown error during Subscribe request"; } return(subscribeResp); }
// Cumulocity Subscribe - Request - Response public SubscribeResponse[] DeviceCloudSubscribe(SubscribeRequest subscribeRequest, string service_url) { SubscribeResponse[] subscribeResp = new SubscribeResponse[0]; try { HttpWebRequest request = deviceCloudHttpRequest(service_url); DataContractJsonSerializer ser = new DataContractJsonSerializer(subscribeRequest.GetType()); MemoryStream ms = new MemoryStream(); ser.WriteObject(ms, subscribeRequest); String json = Encoding.UTF8.GetString(ms.ToArray()); StreamWriter writer = new StreamWriter(request.GetRequestStream()); ms.Close(); writer.Write(json); writer.Close(); using (var httpwebResponse = (HttpWebResponse)request.GetResponse()) { using (var reader = new StreamReader(httpwebResponse.GetResponseStream())) { JavaScriptSerializer js = new JavaScriptSerializer(); string responseJsonText = reader.ReadToEnd(); subscribeResp = js.Deserialize<SubscribeResponse[]>(responseJsonText); // ========================== ServiceEventSource.Current.ServiceMessage(this, "Subscribe to Cumulocity succeeded - {0}", subscribeResp[0].successful); // ========================== reader.Close(); } } request.Abort(); } catch (Exception e) { // ========================== ServiceEventSource.Current.ServiceMessage(this, "Exception caught - {0} - unknown error during Subscribe request", System.Convert.ToString(e)); // ========================== //System.Diagnostics.Trace.WriteLine("Exception caught" + System.Convert.ToString(e), "Error"); subscribeResp[0].successful = false; subscribeResp[0].error = "Exeption - unknown error during Subscribe request"; } return subscribeResp; }