public string Recupera_Token() { //string rutaseed = "c:/tyscom xml/seed/Seed.xml"; CrSeedService maullin = new CrSeedService(); string respuesta = maullin.getSeed(); ///obtener semilla ///obtenertoken y firmar! XmlDocument xmld = new XmlDocument(); xmld.LoadXml(respuesta); string seed = xmld.InnerXml.ToString(); DataSet ds = new DataSet(); ds.ReadXml(XmlReader.Create(new StringReader(seed))); string codeSeed = ds.Tables["RESP_BODY"].Rows[0][0].ToString(); string body = string.Format("<gettoken><item><Semilla>" + codeSeed + "</Semilla></item></gettoken>"); xmld.LoadXml(body); seed = xmld.InnerXml.ToString(); ///// //datos estaticos de prueba ! string a = @"C:\tyscom xml\certificados\fabian.pfx"; string c = "xmay3187"; X509Certificate2 cert = new X509Certificate2(a, c); Metodos m = new Metodos(); string algo = firmarDocumentoSemilla(seed, cert); xmld.LoadXml(algo); // xmld.Save(rutaseed); string signedSeed = algo; ////>2CWDHDQ4MFB9Q //// Luego asigne el valor al metodo GetToken() GetTokenFromSeedService gt = new Proxys.Certificacion.GetTokenFromSeedService(); string valorRespuesta = gt.getToken(signedSeed); //Console.WriteLine(algo); Console.WriteLine(valorRespuesta); XmlDocument token = new XmlDocument(); //retorna token token.LoadXml(valorRespuesta); valorRespuesta = token.GetElementsByTagName("TOKEN")[0].OuterXml; valorRespuesta = valorRespuesta.Replace("<TOKEN>", string.Empty); valorRespuesta = valorRespuesta.Replace("</TOKEN>", string.Empty); return(valorRespuesta); }
public string GETTokenFromSii() { if (Certificate != null) { try { RESPUESTA XmlObject; using (CrSeedService proxyCrSeedService = new CrSeedService()) { string responseCrSeedService = proxyCrSeedService.getSeed(); XmlSerializer serializadorCrSeedService = new XmlSerializer(typeof(RESPUESTA)); using (TextReader readerCrSeedService = new StringReader(responseCrSeedService)) { RESPUESTA xmlObjectCrSeedService = (RESPUESTA)serializadorCrSeedService.Deserialize(readerCrSeedService); if (xmlObjectCrSeedService.RESP_HDR.ESTADO == "00") { string xmlNofirmado = string.Format("<getToken><item><Semilla>{0}</Semilla></item></getToken>", xmlObjectCrSeedService.RESP_BODY.SEMILLA); using (GetTokenFromSeedService proxyGetTokenFromSeedService = new GetTokenFromSeedService()) { string responseGetTokenFromSeedService = proxyGetTokenFromSeedService.getToken(FirmarSeedDigital(xmlNofirmado, Certificate)); XmlSerializer serializadorGetTokenFromSeedService = new XmlSerializer(typeof(RESPUESTA)); using (TextReader readerGetTokenFromSeedService = new StringReader(responseGetTokenFromSeedService)) { XmlObject = (RESPUESTA)serializadorGetTokenFromSeedService.Deserialize(readerGetTokenFromSeedService); if (XmlObject.RESP_HDR.ESTADO == "00") { return(XmlObject.RESP_BODY.TOKEN); } } } } } } } catch (Exception) { throw; } return(null); } else { return(null); } }