public async static Task <string> ConsumirServicioPostAsync <T>(string strUrl, T objeto) { string strResponse = string.Empty; try { WebRequest Webrequest; WebResponse response; Webrequest = WebRequest.Create(strUrl); Webrequest.Method = "POST"; Webrequest.ContentType = "application/json"; ////Para aceptar el certificado de pruebas //ServicePointManager.ServerCertificateValidationCallback //= delegate (Object obj, X509Certificate certificate, X509Chain //chain, SslPolicyErrors errors) //{ // return (true); //}; using (var streamWriter = new StreamWriter(Webrequest.GetRequestStream())) { JsonSerializerSettings jsonConfiguracion = new JsonSerializerSettings() { DateFormatHandling = DateFormatHandling.MicrosoftDateFormat }; string json = JsonConvert.SerializeObject(objeto, jsonConfiguracion); streamWriter.Write(json); streamWriter.Flush(); streamWriter.Close(); } response = await Webrequest.GetResponseAsync(); Stream streamResponse = response.GetResponseStream(); StreamReader streamReader = new StreamReader(streamResponse); strResponse = streamReader.ReadToEnd(); } catch (Exception ex) { Errores err = new Errores(); err.SetError(ex, "ConsumirServicioPostAsync"); } return(strResponse); }
/// <summary> /// /// </summary> /// /// <typeparam name="T"></typeparam> /// <param name="strUrl"> URL del servicio sin incluir parametros </param> /// <param name="objeto"> Object de una clase especifica (dataSet, etc) - en funcion a los parametros // en caso de no tener la necesidad o no tener la clase creamos un "dictionary" </param> /// <returns></returns> public static string ConsumirServicioPost <T>(string strUrl, T objeto) { string strResponse = "false"; try { WebRequest Webrequest; HttpWebResponse response; Webrequest = WebRequest.Create(strUrl); Webrequest.Method = "POST"; Webrequest.ContentType = "application/json"; using (var streamWriter = new StreamWriter(Webrequest.GetRequestStream())) { JsonSerializerSettings jsonConfiguracion = new JsonSerializerSettings() { DateFormatHandling = DateFormatHandling.MicrosoftDateFormat }; string json = JsonConvert.SerializeObject(objeto, jsonConfiguracion); streamWriter.Write(json); streamWriter.Flush(); streamWriter.Close(); } response = (HttpWebResponse)Webrequest.GetResponse(); Stream streamResponse = response.GetResponseStream(); StreamReader streamReader = new StreamReader(streamResponse); strResponse = streamReader.ReadToEnd(); } catch (Exception ex) { strResponse = "false"; Errores err = new Errores(); err.SetError(ex, "ConsumirServicioPost"); } return(strResponse); }