Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Enviar un Documento Xml transformado a byte[] en base 64

1,743 views
Skip to first unread message

taniabl

unread,
Dec 15, 2012, 6:44:10 AM12/15/12
to
¡ Hola !
Estoy realizando facturación electrónica para la empresa(C# vs.
2010) y debo enviar el documento Xml firmado a un Web Service java convertido a
byte[] base64 pero no me funciona estoy utilizando lo siguiente

string myLRuta = @"C:e-biznessSRIFC26_001_001_000000049.XML";
XmlDocument myLXmlDocFirmado= new XmlDocument();
myLXmlDocFirmado.Load(myLRuta);


byte[] bytes = null;
var Output = Encoding.UTF8.GetBytes(myLXmlDocFirmado.OuterXml);

string myLXmlBase64 = Convert.ToBase64String(Output);
bytes = Convert.FromBase64String(myLXmlBase64);


ec.gob.sri.celcer.RecepcionComprobantesService myFServicio = new
ec.gob.sri.celcer.RecepcionComprobantesService();

ec.gob.sri.celcer.respuestaSolicitud xmlRespuesta =
(ec.gob.sri.celcer.respuestaSolicitud)myFServicio.validarComprobante(bytes);

El webservice debe devolverme el documento autorizado pero me devuelve con
estado Devuelta y no me retorna los mensajes de error que arrojo la
validación, en la institución que me autoriza me dicen que
posiblemente estoy enviando mal convertido o que estoy poniendo caracteres que
dañan el archivo y es por eso que me falla el envio
Hay algun otro método que pueda utilizar para esta
transformación??
Adicionalmente probe lo siguiente pero el resultado fue el mismo
byte[] bytes = null;
using (MemoryStream memoryStream = new MemoryStream())
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(XmlDocument));
xmlSerializer.Serialize(memoryStream, myLXmlDocFirmado);
//bytes = memoryStream.GetBuffer();
bytes = memoryStream.ToArray();
string myLValor64 = System.Text.Encoding.UTF8.GetString(memoryStream.ToArray())
;
bytes = Convert.FromBase64String(myLValor64);
}

rolan...@gmail.com

unread,
Apr 8, 2013, 6:20:22 PM4/8/13
to
Hola Tania, tengo el mismo problema que tú. Me podrías comentar si lograste encontrar la solución?

juni...@gmail.com

unread,
Nov 27, 2013, 1:07:42 PM11/27/13
to
Saludos, Disculpen la molestia... pero alguno tiene esa solución, por q parece q es un error generalizado....

maba...@gmail.com

unread,
Jan 10, 2014, 3:49:00 PM1/10/14
to
El sábado, 15 de diciembre de 2012 06:44:10 UTC-5, taniabl escribió:
Tania, saludos lograste resolver este problema?

jorge.b...@gmail.com

unread,
Jan 22, 2014, 12:28:33 PM1/22/14
to
Encoding.UTF8.GetBytes(string)

shu...@gmail.com

unread,
Mar 11, 2014, 10:36:13 PM3/11/14
to

mstd...@gmail.com

unread,
Apr 3, 2014, 3:30:46 PM4/3/14
to
Hola taniabl yo tengo el mismo problema, encontraste alguna solución.

Saludos


El sábado, 15 de diciembre de 2012 06:44:10 UTC-5, taniabl escribió:

josimar.r...@gmail.com

unread,
Apr 12, 2014, 11:47:22 AM4/12/14
to
Hola talvez alguien me puede ayudar como generar el arreglo de bytes para enviar al sri, tengo ese problema y no encuentro como resolverlo, el web service del sri solamente me envia la respuesta de DEVUELTA... gracias...

nelvega...@gmail.com

unread,
May 9, 2014, 11:00:22 AM5/9/14
to
El sábado, 15 de diciembre de 2012 06:44:10 UTC-5, taniabl escribió:

Russvell Jesus Soto Gamarra

unread,
May 29, 2014, 12:35:16 PM5/29/14
to
Hola ya pudiste resolver el tema que tenias pendiente, si te devuelve un mensaje si haces esto.

xmlRespuesta.estado

Yo estoy en lo mismo y hasta ahora no he podido encontrar nada.

Saludos
Jesus

Russvell Jesus Soto Gamarra

unread,
May 29, 2014, 2:19:30 PM5/29/14
to
Hola hasta la linea de codigo que tienes solo te devuelve el estado por ejemplo como RECIBIDO después de eso se tiene que usar el otro web service https://celcer.sri.gob.ec/comprobantes-electronicos-ws/AutorizacionComprobantes?wsdl, según que estoy investigando le tienes que enviar la clave de acceso ya con eso te dan la respuesto si fue autorizado o no, no se si estoy en lo correcto pero si tengo algo te paso.

Saludos

Jesus

Russvell Jesus Soto Gamarra

unread,
May 29, 2014, 2:57:55 PM5/29/14
to
Hola te dejo todo el código que tengo para que veas, porque la transformación lo hago correcto y me da como mensaje RECIBIDO.

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(@"D:\FirmarXML\Fact1Jesus.xml");
StringBuilder rawXml = new StringBuilder();
rawXml.Append(GetXmlString(xmlDoc));
string xml = rawXml.ToString();
byte[] bytes = Encoding.UTF8.GetBytes(xml);

RecepcionComprobantesService RecepComp = new RecepcionComprobantesService();
respuestaSolicitud xmlRespuesta = (respuestaSolicitud)RecepComp.validarComprobante(bytes);
Console.WriteLine(xmlRespuesta.estado);

//Funcion para conversion
static string GetXmlString(XmlDocument xmlDoc)
{

// Now create StringWriter object to get data from xml document.
StringWriter sw = new StringWriter();
XmlTextWriter xw = new XmlTextWriter(sw);
xmlDoc.WriteTo(xw);
return sw.ToString();
}
Yo hasta ahí llegue ya no avance mas por ahi vi que lo hicieron en otro lenguaje pero no doy.
Message has been deleted

sediso...@gmail.com

unread,
Jan 28, 2015, 3:46:01 PM1/28/15
to
Hola Tania como estas?? te cuento q también estoy en sto de la Facturación Electrónica, no se si me podrías ayudar en el firmado del documento xml

espam...@gmail.com

unread,
Oct 6, 2017, 1:31:35 PM10/6/17
to
Gracias :)

EDU MARLON CONTRERAS ZAMBRANO

unread,
Oct 27, 2020, 12:40:27 PM10/27/20
to
El viernes, 6 de octubre de 2017 a la(s) 12:31:35 UTC-5, espam...@gmail.com escribió:
> Gracias :)
alguien le salió el servicio
0 new messages