public Resultados Cancelar(WSConecFM.requestCancelarCFDI RequestCancelarCFDI, string uuid) { Resultados result = new Resultados(); try { RequestCancelarCFDI.uuid = uuid; // set this before any web requests or WCF calls if (RequestCancelarCFDI.proxy_url != "") { WebRequest.DefaultWebProxy = new WebProxy(new Uri(RequestCancelarCFDI.proxy_url + ":" + RequestCancelarCFDI.proxy_port)) { Credentials = new NetworkCredential(RequestCancelarCFDI.proxy_user, RequestCancelarCFDI.proxy_pass), }; } // Conexion con el WS de Facturacion Moderna BasicHttpBinding binding = new BasicHttpBinding(); setBinding(binding); // Direccion del servicio SOAP de Prueba EndpointAddress endpoint = new EndpointAddress(RequestCancelarCFDI.urlCancelado); // Crear instancia al servisio SOAP de cancelado WSLayoutFacturacionModerna.Timbrado_ManagerPort WSFModerna = new WSLayoutFacturacionModerna.Timbrado_ManagerPortClient(binding, endpoint); // Ejecutar servicio de Cancelado Object response = WSFModerna.requestCancelarCFDI(RequestCancelarCFDI); if (response != null) { XmlDocument xmlDoc = new XmlDocument(); XmlDeclaration xmlDeclaration; XmlElement xmlElementBody; xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "uft-8", "no"); xmlElementBody = xmlDoc.CreateElement("Container"); xmlDoc.InsertBefore(xmlElementBody, xmlDoc.DocumentElement); XmlElement xmlParentNode; xmlParentNode = xmlDoc.CreateElement("responseSoap"); xmlDoc.DocumentElement.PrependChild(xmlParentNode); XmlNode[] nodosXmlResponse = (XmlNode[])response; foreach (XmlNode nodo in nodosXmlResponse) { if (nodo.InnerText.Length >= 1) { XmlElement xmlElemetResponse; xmlElemetResponse = xmlDoc.CreateElement(nodo.Name.ToString()); XmlText xmlTextNode; xmlTextNode = xmlDoc.CreateTextNode(nodo.InnerText.ToString()); xmlParentNode.AppendChild(xmlElemetResponse); xmlElemetResponse.AppendChild(xmlTextNode); } } XmlElement xmlElementMsg = (XmlElement)xmlDoc.GetElementsByTagName("Message").Item(0); result.message = xmlElementMsg.InnerText; result.code = "C000"; result.status = true; return result; } else { result.code = "C00N"; result.message = "El servicio de Cancelado respondio con NULL"; result.status = false; return result; } } catch (Exception e) { result.code = "EX-001"; result.message = "Error: " + e.Message; result.status = false; return result; } }