private void ConsultarDGI(Object parametros, SobreTransito sobreTransito) { string xmlConsulta = ""; string xmlRespuesta = ""; WebServiceDGI webServiceDgi = new WebServiceDGI(parametros); try { //Armar el xml con los datos de para la consulta xmlConsulta = "<ConsultaCFE xmlns=\"http://dgi.gub.uy\"> <IdReceptor>" + sobreTransito.IdReceptor + "</IdReceptor><Token>" + sobreTransito.Token + "</Token> </ConsultaCFE>"; //Invocar el web service xmlRespuesta = webServiceDgi.WSDGI.SendWSDGI(xmlConsulta, clsWSDGI.WsMethod.Query); if (ValidarRespuesta(xmlRespuesta) == false) { //Procesar la respuesta respuestaCertificado.ProcesarRespuesta(xmlRespuesta, CFE.ESTipoReceptor.DGI, sobreTransito.DocEntry); } else { // Elimino sobre con error. //manteUdoSobreTransito.Eliminar(sobreTransito.DocEntry); } } catch (Exception) { //SAPbouiCOM.Framework.Application.SBO_Application.MessageBox("consultarDGI " + ex.ToString()); } }
/// <summary> /// Consume el web service /// </summary> /// <param name="parametros"></param> /// <returns></returns> public string Consumir(object parametros) { string respuesta = ""; WebServiceDGI webServiceDgi = new WebServiceDGI(parametros); ParametrosJobWsDGI parametrosJobWsDGI = parametros as ParametrosJobWsDGI; XmlDocument xmlDocumento = new XmlDocument(); try { if (File.Exists((RutasCarpetas.RutaCarpetaSobresDgi + "\\" + parametrosJobWsDGI.SobreDgi.Nombre + ".xml"))) { xmlDocumento.Load(RutasCarpetas.RutaCarpetaSobresDgi + "\\" + parametrosJobWsDGI.SobreDgi.Nombre + ".xml"); } else if (File.Exists((RutasCarpetas.RutaCarpetaContingenciaSobresDgi + "\\" + parametrosJobWsDGI.SobreDgi.Nombre + ".xml"))) { xmlDocumento.Load(RutasCarpetas.RutaCarpetaContingenciaSobresDgi + "\\" + parametrosJobWsDGI.SobreDgi.Nombre + ".xml"); } //SAPbouiCOM.Framework.Application.SBO_Application.MessageBox("Envio a DGI " + xmlDocumento.InnerXml); respuesta = webServiceDgi.WSDGI.SendWSDGI(xmlDocumento.InnerXml, clsWSDGI.WsMethod.Envelope); //SAPbouiCOM.Framework.Application.SBO_Application.MessageBox("Respuesta " + respuesta); //respuesta = respuesta.Replace("<IDEmisor>0</IDEmisor>", "<IDEmisor>" + xmlDocumento.GetElementsByTagName("DGICFE:Idemisor").Item(0).InnerText + "</IDEmisor>"); //respuesta = respuesta.Replace("<IDEmisor>0</IDEmisor>", "<IDEmisor>" + xmlDocumento.GetElementsByTagName("Idemisor").Item(0).InnerText + "</IDEmisor>"); } catch (Exception) { app.MessageBox("No se pudo enviar a DGI por problemas de conexión, recordar reenvio de documento."); respuesta = ""; } finally { if (webServiceDgi != null) { //Libera de memoria el objeto factura GC.SuppressFinalize(webServiceDgi); GC.Collect(); } if (parametrosJobWsDGI != null) { //Libera de memoria el objeto factura GC.SuppressFinalize(parametrosJobWsDGI); GC.Collect(); } if (xmlDocumento != null) { //Libera de memoria el objeto factura GC.SuppressFinalize(xmlDocumento); GC.Collect(); } } return(respuesta); }