Cómo recuperar el TOKEN del SII
Bueno finalmente solo está faltando la recuperación
del TOKEN del SII para poder autenticado en el SII. El TOKEN no es otra cosa
que una cadena de caracteres que indica que el proceso de autenticación fue
satisfactorio, lo que significa para nosotros que ya podemos operar en el SII
sin necesidad de ingresar tu User y Password.
Para poder recuperar el Token es necesario contar
con la clase GetTokenFromSeedService la cual expone el método GetToken().
Si no dispones de ella te recomiendo que leas el tutorial
completo para saber cómo crearla. De todas formas les dejo el link para que la
bajen y puedan agregarla directamente a sus proyectos.
También debe contar con el documento xml que representa la
semilla firmada. Un ejemplo de ella es este código:
1234567890123 8slcL05kmrM8NGw4I9NSfRqYA9E= jlbzatIIBLW8AjH++5uVTTrGIMVwGButuoAR88y/hvSc1+6/eW1K864fK3cKi76oArqk7lAM4pPokoXme0JT/hRXXGo6ecuKzO18z2WfPWwgnN0f3ac03TDu7PwfqiDG9mhQpYfIkNp6GNJIiqlg9PG2w1fOJ1QoypsrQmKq6YU= 2Pb4kEB19m7NmOUYew9f36325yrTLTPMU7qzYG2A0/BsubxDdgQw2Op0x6zXvOVX sYI9KkPXtD5orKJMjwxYRv9wUWdyiE776Rv4ljfJO7EQhIK1fDQDnPt0HefBS06Xzg2QLBvLR+pe1vc6C02Dr99v+lnLA8mnZiJlRHndhNU= AQAB MIIF1DCCBLygAwIBAgIDAQNtMA0GCSqGSIb3DQEBBQUAMIHGMQswCQYDVQQG EwJDTDEYMBYGA1UEChMPQWNlcHRhLmNvbSBTLkEuMTgwNgYDVQQLEy9BdXRv cmlkYWQgY2VydGlmaWNhZG9yYSBDbGFzZSAzIHBlcnNvbmEgbmF0dXJhbDFD MEEGA1UEAxM6QWNlcHRhLmNvbSBBdXRvcmlkYWQgY2VydGlmaWNhZG9yYSBD bGFzZSAzIHBlcnNvbmEgbmF0dXJhbDEeMBwGCSqGSIb3DQEJARYPaW5mb0Bh Y2VwdGEuY29tMB4XDTAxMDkyNTIxMDgxMloXDTAyMDkyNTIxMDgxMlowgZ8x CzAJBgNVBAYTAkNMMRgwFgYDVQQKEw9BY2VwdGEuY29tIFMuQS4xLDAqBgNV BAsTI0NlcnRpZmljYWRvIENsYXNlIDMgUGVyc29uYSBOYXR1cmFsMRwwGgYJ KoZIhvcNAQkBFg1uY2hlbGVAc2lpLmNsMSowKAYDVQQDEyFOSUNPTEFTIFpB UFJJQU4gQ0hFTEVCSUZTS0kgQkFFWkEwgZ8wDQYJKoZIhvcNAQEBBQADgY0A MIGJAoGBANj2+JBAdfZuzZjlGHsPX9+t9ucq0y0zzFO6s2BtgNPwbLm8Q3YE MNjqdMes17zlV7GCPSpD17Q+aKyiTI8MWEb/cFFncohO++kb+JY3yTuxEISC tXw0A5z7dB3nwUtOl84NkCwby0fqXtb3OgtNg6/fb/pZywPJp2YiZUR53YTV AgMBAAGjggJyMIICbjAdBggrBgEEAbVrDwQRFg9BY2VwdGEuY29tIFMuQS4w JQYDVR0RBB4wHKAaBggrBgEEAcEBAaAOFgwxMC40MTEuODcxLTIwDwYIKwYB Jh0z1DR3Pl3xOiaFIjSXsQO2PSzcA3wZXYF+KDrMul8e5lAF2NNiLmMVtXEx ZykMaTGGWS0ZETDhJmBwEZGpP4+lt/JhgwF1Sb6wdrXp7MFCJUc1Tj+/5JqH 1kP0E63/hVElrcP0g8Zn8Z+vr/PMGW1kKgE0IyS4iJ8eIhNSK5phFyKJUn0l BmIZX7u89d5u7X8=
El cómo generar el archivo xml y cómo firmarlo se
describe en el capitulo Como
firmar la semilla del SII. Lo importante de este archivo es que debe ser
pasado al método GetToken() En formato string, sin ningún tipo de
modificaciones. Muchos de nosotros al trabajar con documentos xml tendemos a
organizarlos de forma que su lectura sea clara para el desarrollador. Sin
embargo los documentos xml al ser generados son solo representaciones de datos
de forma lineal. En el caso de la semilla firmada esta debe ser pasada al método
de la misma forma que se firmó, pues cualquier modificación entre ambos eventos
invalidará la firma subyacente en el documento.
Ejemplo: Sí la semilla firmada se encuentra
alojada en un objeto XmlDocument traspase el contenido usando este paso:
#region Recuperar TOKEN //// //// Suponiendo que el objeto XmlDocument ( XMLDOM ) contenga //// la semilla firmada, esta debería ser la forma de recuperar //// el valor string. string signedSeed= XmlDocument.InnerXml; //// //// Luego asigne el valor al metodo GetToken() Proxys.Produccion.GetTokenFromSeedService gt = new Proxys.Produccion.GetTokenFromSeedService(); string valorRespuesta = gt.getToken(signedSeed); #endregion
El Resultado de valorRespuesta es el valor regresado por el SII que nos indicará si el proceso fue correcto.
Estimado todo este tema de la factura electronica se puede realizar en visual 6.0
ResponderEliminarHernan efectivamente todos estos procesos son suceptibles de ejecutarse en vb 6.0, la diferencia es que .net ofrece algo de comodidad para realizarlo. Otra diferencia es que debes utilizar librerias externas para realizar computos de criptologia.
EliminarOk Marcelo muchas gracias, creo que voy a pasar el código de la aplicación a visual .net , tengo otra consulta todos estos procesos de autentificacion, solo se hacen una vez al inicio o por cada factura que uno vaya emitiendo.
ResponderEliminarDesde ya muchas gracias
Saludos
Hernan,
EliminarCuando tienes un set de DTEs o un libro de compra y venta electrónico puedes recuperar el trackid y enviarlos, por cada dte no vale la pena generar una session, pero si tienes 1 o mas lo depositas en el SETDTE y los envias con un solo trackid. Lo mismo para los libros ( IECV )
buenos tutoriales, es cosa de fijarse en el seed y funka de maravilla xD
ResponderEliminar<img srchttp://img24.imageshack.us/img24/8185/ct7m.png
Gracias por tu comentario, espero que la informaciòn te ayude en tus proyectos
EliminarConsulta, en Facturacion Electronica de Argentina el token dura 12 horas, con el SII, cuanto dura el token?
ResponderEliminarGracias!
En Chile la duraciòn del TOKEN es de 2 minutos mas o menos
EliminarMuchas gracias por compartir esta información tan relevante para nosotros los desarrolladores.
EliminarTengo una duda, esta información la chequeaste? debido a que he hecho pruebas en el ambiente de certificación y con una misma semilla (con el mismo Token) me ha durado mas de 30 minutos.
Hola Marcelo puedes ayudarme. Mira obtengo esto como respuesta al solicitar el token.
ResponderEliminar-03
Error (12) parse ERROR validacion contra CA
el xml firmado es este:
137366887806yw7QxweUreu30WQnnUjj7UDQk=R4wd6VC5/fHjIjbDZxVEdA+8NBeHvn0IsIHMdA5IkmnIp4jK95VSdjFMWhsUqL4X14wEq/4cqYCJBDCXSk+vLg==wmO/ssiV9XzqFAbBJYpLaGnQw1Z/EfC0G32r7KsULC8nVw+UniJ1SkfcPfWvYrKyS9UXLAgCpI260rJyZ9z4ow==AQABMIIDCzCCAfOgAwIBAgIJANE0l0SzBeBlMA0GCSqGSIb3DQEBBQUAMIGaMQswCQYDVQQGEwJDTDERMA8GA1UECBMIU2FudGlhZ28xETAPBgNVBAcTCFNhbnRpYWdvMSAwHgYDVQQKExdBdXRvcmlkYWQgQ2VydGlmaWNhZG9yYTEUMBIGA1UECxMLUHJ1ZWJhcyBEVEUxETAPBgNVBAMTCGR0ZS10ZXN0MRowGAYJKoZIhvcNAQkBFgtlbWFpbEBjYS5jbDAeFw0wOTEyMDMyMDE0NDFaFw0xOTEyMDEyMDE0NDFaMIGNMQswCQYDVQQGEwJDTDERMA8GA1UECBMIU2FudGlhZ28xETAPBgNVBAcTCFNhbnRpYWdvMREwDwYDVQQKEwhBY21lIEluYzEUMBIGA1UECxMLRmFjdHVyYWNpb24xETAPBgNVBAMTCHRlc3QtZHRlMRwwGgYJKoZIhvcNAQkBFg1lbWFpbEBhY21lLmNsMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMJjv7LIlfV86hQGwSWKS2hp0MNWfxHwtBt9q+yrFCwvJ1cPlJ4idUpH3D31r2KyskvVFywIAqSNutKycmfc+KMCAwEAAaMnMCUwIwYDVR0RBBwwGqAYBggrBgEEAYZAAaAMFgoxMDAwMDAwMC04MA0GCSqGSIb3DQEBBQUAA4IBAQAwKBNVtzO7qmA5gbSXPANQBh2ziuVjKJp3Xj4sHmTZViVGYdrIJKwTdK/oSMWxQ6R+X6tHsT7vy9cgrdBvEt/KV8jP/3+yJE+pPam7udRjaBYbVDQ63r3zKK7QNR3eOnJ1t7FxHUiDfhIR2+ZKuC//LAiuQcofh2CcfKzni5GJcmbyT91ZvQn/k1DFHusLt86alSNJ7moSwg7RYDZjkHVoUyRlyTDoy2XCci9lFWxk9lyrGJDL6OCl8n0BDSnD+bI+hsIpskKMLfDqs/MvHPGOpzN2iuWau+lncGt2aCXSCd0I5V7Z0MZYI6eMY+mwZmPAewe1/4IksLDIFBLC8njM
No sé que estoy haciendo mal. Agradeceria tu ayuda.
Saludos y gracias
Mandame el xml al correo abaddon.1974@gmail.com
Eliminarlo reviso y te cuento
Hola! ¿Lograron resolver este problema? me está lanzando lo mismo y no puedo solucionarlo. Saludos!
EliminarHola Marcelo:
EliminarEstoy usando para firmar el contribuyente1.p12 que viene en las librerias de NIC bajadas de github, y me de el mismo error:
Error (12) parse ERROR validacion contra CA
Mi consulta es
- ¿esto pasa por que la firma del contribuyente1.p12 ya no es valida en el sitio de Test de SII?
- ¿tengo que usar una que este aprobada por el SII para el ambiente de pruebas?
Muchas gracias por sus aportes, son una gran ayuda!!!
Abrazo!
Este comentario ha sido eliminado por el autor.
ResponderEliminarBueno no salieron las etiquetas del xml...(?)
ResponderEliminarHola Marcelo, Primero que todo te felicito por el tutorial, gracias por compartir conocimientos.
ResponderEliminarEstoy con el siguiente problema, al solicitar el token el sii me devuelve lo sgte.:
02 XML Invalido (SAXException), funcion valSignedXml
La estructura del xml la he obtenido del mismo manual del sii, también utilizé el xml de esta página pero tampoco.
Gracias de antemano
sss
Hola Marcelo, sabes tuve problemas con recuperar el token porque me salia un error 06 que decia basicamente que no encontraba el elemento "Semilla". El problema es que en el metodo "FirmarSemilla" hay una "s" minuscula para semilla y debe ser con la "S" mayuscula:
ResponderEliminarMira asi me da error 06:
string body = string.Format("{0}", double.Parse(seed).ToString());
Asi me funciona bien:
string body = string.Format("{0}", double.Parse(seed).ToString());
es un detalle pero se puede perder algo de tiempo buscando el problema.
por cierto quiero agradecerte todo este gran aporte que haz hecho!!!!
Saludos
Lo siento, el bloggler me borro el codigo, lo que quise decir fue asi:
ResponderEliminarMira asi me da error 06:
string body = string.Format("<gettoken><item><semilla>{0}</semilla></item></gettoken>", double.Parse(seed).ToString());
Asi me funciona bien:
string body = string.Format("<gettoken><item><Semilla>{0}</Semilla></item></gettoken>", double.Parse(seed).ToString());
Correcto estimado, me daba el mismo error y era la "S" mayuscula en el tag de semilla... gracias y saludos
EliminarQuerido Marcelo, quiero agradecerte muchisimo por la ayuda que nos has brindado, gracias a tu guia he podido realizar correctamente el proceso de autenticacion automatica, quisiera hacerte una consulta, al parecer cada vez que genero esta autenticacion genero una nueva cesion en el servicio "al entrar mediante explorador me dice que hay demasiadas cesiones abiertas que en 2 horas vuelva", la pregunta es como puedo cerrar una cesion abierta mediante autenticacion automatica?, desde ya muchas gracias.
ResponderEliminarMarcelo,
ResponderEliminarPrimero que nada te quiero felicitar por el tremendo espíritu altruísta que tienes, ciertamente hay pocos como tú que comparten este conocimiento y tan bien explicado.
Dicho esto, te quería hacer una consulta (si es posible)
Mira, desarrollé una solución al pié de la letra como nos enseñaste y funcionó de maravilla no sin uno que otro tropiezo, finalmente me tomó 3 noches completar correctamente todo lo que explicas.
En este mento tengo solucionado el tema de Semilla y Token en forma existosa (00).
Inicialmente me encuentro en la siguiente página https://zeus.sii.cl/AUT2000/InicioAutenticacion/IngresoRutClave.html?https://palena.sii.cl/cgi_dte/consultaDTE/wsDTEConsRecContHtml.cgi de SII (estoy utilizando un control WebBrowser embebido en mi formulario Windows C#) entonces una vez que me autentifico correctamente y el token me retorna "00" - Token Creado.
Esta es la consulta: Como envío ese dato a la página para que al hacer WebBrowser.Navigate("...") vaya a la página siguiente después de seleccionar el certificado? es decir a la siguiente página : https://palena.sii.cl/cgi_dte/consultaDTE/wsDTEConsRecContHtml.cgi
De antemano quiero expresar mi admiración por tu tremendo trabajo.
Muchas Gracias Marcelo
Franco Gomara
Que tal Marcelo. La verdad me ayudo mucho la guia. Ya tengo el token. Lo que necesito hacer es facturar. Tengo una aplicacion que genera la factura. Desde AFIP argentina mando los datos de la factura y la afip de devuelve un numero y como se valido esa factura. Como deberia seguir ahora para facturar. Porque vi mucha documentacion pero no se cual seria el paso proximo. Muchas gracias
ResponderEliminarMaximiliano
EliminarConsitnua timbrando y firmando el documento, luego debes ensobrarlo en un documento EnvioDTE y firmar el envio. Eso dejara listo el documento para ser enviado al SII.
me retorna el estado 10 en la respuesta desde SII, y no hay ninguna información para resolverlo, ¿alguien sabe?
ResponderEliminar5.2.2 Los Estados de Salida de GetTokenFromSeed son:
EliminarEstado Detalle Estado
00 Token Creado
01 XML Inválido (IOException), función valSignedXml
02 XML Inválido (SAXException), función valSignedXml
03 XML Inválido (ParserConfigurationException), función valSignedXml
04 XML Inválido, elemento “Signature” no existe, función valSignedXml
05 XML Inválido, firma invalida, función valSignedXml
06 XML Inválido, elemento “Semilla” no existe, función getSeed
07 ERROR (MessageException).
08 ERROR RETORNO :
"PARAMETROS INCORRECTOS"
"TIME-OUT DEL SEED"
"NO GENERA TOKEN func:CreaToken"
"NO PUEDO ACT. SEED CON TOKEN"
"TIME-OUT del SEED"
"NO Existe SEED"
09 ERROR (MessageException).
10 ERROR RETORNO:
"ERROR RETORNO DATOS"
"NO PUEDO CREAR O ACT. TOKEN"
11 XML Inválido, elemento “Certificate” no existe, función getCertificado
12 ERROR (12) (MessageException)
21 Firma invalida( La llave pública no coincide con la del certificado).
-3 Error en Autenticación
-07 Error (12) parse ERROR en Validación del RUT (verificar que el usuario se
encuentre registrado en el SII con la opción de autenticación mediante
Hola,
ResponderEliminarEstoy intentando la autenticación con el el SII, pero la respuesta que me retorna es incongruente con los ejemplos que muestran, porque combina el status 10 con la glosa del error 11
10
XML Inválido, elemento "Certificate" no existe, función getCertificado
Podría ayudarme con la posible causa del error. Ya he comparado la semilla firmada con los ejemplos publicados y no hay diferencia, exceptuando el contenido del certificado claro
Me salió ese mensaje cuando usé un certificado expirado.
EliminarEstimados:
ResponderEliminaralguien puede decirme las causa del error 10 ERROR: RETORNO DATOS?
Estimado Pablo
EliminarEn que lenguaje estas trabajando, puedes enviar me la rutina para revisarla.
Gracias
Marcelo, ya lo solucione... ocupo el lenguaje GENERO-4js.
Eliminarahora tengo otro problema y es el POST del UPLOAD que me da el error Bad MIME in Content-Type.
archivo UPLOAD:
POST /cgi_dte/UPL/DTEUpload HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/ms-excel, application/msword, */*
Referer: http://www.qusoft.cl
Accept-Language: es-cl
Content-Type: multipart/form-data; boundary=3dr435cdr56we23
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; PROG 1.0; Windows NT 5.0; YComp 5.0.2.4)
Host: maullin.sii.cl:443
Content-Length: 12035
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: TOKEN=MHP7S8VI0SANX
--3dr435cdr56we23
Content-Disposition: form-data; name="rutSender"
8041521
--3dr435cdr56we23
Content-Disposition: form-data; name="dvSender"
4
--3dr435cdr56we23
Content-Disposition: form-data; name="rutCompany"
76046719
--3dr435cdr56we23
Content-Disposition: form-data; name="dvCompany"
7
--3dr435cdr56we23
Content-Disposition: form-data; name="archivo"; filename="E341012042017.xml"
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
--3dr435cdr56we23--
Estimado, estoy trabajando en el mismo lenguaje, haciendo exactamente lo mismo.
EliminarMe puedes ayudar?
Me puedes mandar el trozo de código para la firma y la obtención del token?
Con respecto al token aparte de parsear el xml de respuesta viene con algún tipo de encriptación? (Algo asi lei en el manual)
ResponderEliminarHola Marcelo, primero que nada agradecerte por este blog que ha servido de tanta ayuda para muchas personas, yo una de ellas.
ResponderEliminarEn este momento quería preguntarte a ver si me podrías ayudarme con el siguiente error. Ya logre rescatar la Semilla y Firmarla, pero al momento de rescatar el Token me aparece estado 10, que corresponde al "Error de Retorno de Datos", pero en la Glosa me aparece "XML Inválido, elemento "Certificate" no existe, función getCertificado". No se si tienes información a que se deben estos errores? O como podría corregirlos. Trabajo en VB.NET.
Muchas gracias por todo de antemano,
Saludos.
Estimado,
EliminarEste problema generalmente es por que no llegas a ver el web services, por esta razón te dice elemento certificate no existe. de todas formas sería bueno ver el documento xml semilla + firma que estas generando para saver si esta correcto.
Llamame a la noche y veamoslo 997800285
Estimado, de casualidad resolvió su problema con el xml generado semilla + firma? Tengo dudas de como realizar este proceso en Vb.net
EliminarEstimados al consumir el WS, me devuelve el siguiente error:
ResponderEliminarNo such operation 'getToken'
Hola alguien me puede ayudar? al consultar con SoapUI obtengo el siguiente error:
ResponderEliminarsoapenv:Server.userException
org.xml.sax.SAXParseException: Content is not allowed in prolog.
Estimado,
EliminarQue framework estas utilizando? este error se produce algunas veces por una actualización de seguridad de windows..
Windows 10 con sus actualizaciones instaladas
EliminarEstimado, de seguro es el problema de las actualizaciones de windows. Te recomiendo lo siguiente:
Eliminar- Crea un archivo txt en tu escritorio
- copia las lineas que voy a poner aqui
- cambia la extensión del archivo de txt a reg
- ejecuta como administrador
Esto debería solucianor tu problema
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]
"SchSendAuxRecord"=dword:00000000
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SchSendAuxRecord"=dword:00000000
Este error generalmente se produce por espacios o caracteres no permitidos antes de que comience el XML. Fíjate en la primera linea del XML, debe comenzar con:
EliminarHola Marcelo, que buena iniciativa tu página, quisiera consultarte como hago para firmar la semilla que genera el WS del SII, estoy haciendo pruebas con el SOAPUI para conocer el funcionamiento de los WS, generé la semilla con el https://maullin.sii.cl/DTEWS/CrSeed.jws y luego trate de generar el token colocando la semilla en el https://maullin.sii.cl/DTEWS/GetTokenFromSeed.jws pero me da error 11, adicional me gustaría saber si alguien ha implementado estos WS desde SAP ABAP.
ResponderEliminarEspero puedas ayudarme!
Estimad(@)
EliminarPara poder firmar la semilla debes utilizar la siguiente secuencia.
http://lenguajedemaquinas.blogspot.cl/2013/02/como-firmar-la-semilla.html
Espero que esta información te ayude.
Cualquier cosa me indicas
Atte.
Marcelo Rojas Rojas
Este comentario ha sido eliminado por el autor.
ResponderEliminarEstimado, disculpe hice todos los pasos que dices pero cuando genero el Token, me dice Estado 10 XML Invalido, elemento Certificate no existe, función getCertificado. y no encuentro el problema ya que el XML que genero al Firmar la Semilla es igual al tuyo, espero me puedas ayudar. Saludos y Gracias
ResponderEliminarComo dije arriba, a mi me salió ese mensaje cuando usé un certificado expirado. Quizas sea eso.
EliminarHola. Leí en esta página que alguien tuvo un problema al obtener el token, debido al código 11. A mí también me está pasando este problema y no sé por qué. Aparentemente debe faltar algo pero no qué qué es. Aquí está el XML de la semilla, por si te sirve para algún indicio de por qué pasa esto:
ResponderEliminar016980287622
fdki0iYrdQdgz1ZbokmD5Jx74pQ=
It7EiG4Xytu9oPqSoHa3pYpfTU0snLMjIBvYzzBkIiI4Lpw+ODuMoKWOsyrHMNt7xWggshLmfPK8
pa3tvHd8ASTgNAQINj+jNE/Ls8lpzrdPYUBGuITECzLqFgAdatbRulx8oxrLYBWNML0t/sGoho8A
qYyLkBkL23xoZp90j54=
tehRi+bUAfuUOI49ptyZJnCMgyG9sNcjhwAt7Sb4/+hZtsL8FZjAz8bPw+ZIWuXVJXJfz/4vps+i
FDFJjEkRdg9+4U0cm1r+Gz4zUyts3c5hbiS9CDwn5cLbvSUOb6oENc9Vl//SoRJles9mW8QVD5ev
WjvZTidyWXeYwVARl6c=
AQAB
MIIGSDCCBTCgAwIBAgIKQa1J+AAAAA2AITANBgkqhkiG9w0BAQUFADCB0jELMAkGA1UEBhMCQ0wx
HTAbBgNVBAgTFFJlZ2lvbiBNZXRyb3BvbGl0YW5hMREwDwYDVQQHEwhTYW50aWFnbzEUMBIGA1UE
ChMLRS1DRVJUQ0hJTEUxIDAeBgNVBAsTF0F1dG9yaWRhZCBDZXJ0aWZpY2Fkb3JhMTAwLgYDVQQD
EydFLUNFUlRDSElMRSBDQSBGSVJNQSBFTEVDVFJPTklDQSBTSU1QTEUxJzAlBgkqhkiG9w0BCQEW
GHNjbGllbnRlc0BlLWNlcnRjaGlsZS5jbDAeFw0xOTAzMjkyMDQzNDRaFw0yMDAzMjgyMDQzNDRa
MIHJMQswCQYDVQQGEwJDTDEqMCgGA1UECAwhUkVHScOTTiBNRVRST1BPTElUQU5BIERFIFNBTlRJ
QUdPMREwDwYDVQQHEwhTYW50aWFnbzEgMB4GA1UEChMXTUFOVUVMIEdBUkNJQSBST0RSSUdVRVox
CjAIBgNVBAsMASoxIDAeBgNVBAMTF01BTlVFTCBHQVJDSUEgUk9EUklHVUVaMSswKQYJKoZIhvcN
AQkBFhxhbHZhcm8uZ2FyY2lhLmZyZXpAZ21haWwuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
iQKBgQC16FGL5tQB+5Q4jj2m3JkmcIyDIb2w1yOHAC3tJvj/6Fm2wvwVmMDPxs/D5kha5dUlcl/P
/i+mz6IUMUmMSRF2D37hTRybWv4bPjNTK2zdzmFuJL0IPCflwtu9JQ5vqgQ1z1WX/9KhEmV6z2Zb
xBUPl69aO9lOJ3JZd5jBUBGXpwIDAQABo4ICqTCCAqUwggFPBgNVHSAEggFGMIIBQjCCAT4GCCsG
AQQBw1IFMIIBMDAtBggrBgEFBQcCARYhaHR0cDovL3d3dy5lLWNlcnRjaGlsZS5jbC9DUFMuaHRt
MIH+BggrBgEFBQcCAjCB8R6B7gBFAGwAIAByAGUAcwBwAG8AbgBkAGUAcgAgAGUAcwB0AGUAIABm
AG8AcgBtAHUAbABhAHIAaQBvACAAZQBzACAAdQBuACAAcgBlAHEAdQBpAHMAaQB0AG8AIABpAG4A
ZABpAHMAcABlAG4AcwBhAGIAbABlACAAcABhAHIAYQAgAGQAYQByACAAaQBuAGkAYwBpAG8AIABh
AGwAIABwAHIAbwBjAGUAcwBvACAAZABlACAAYwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAuACAA
UABvAHMAdABlAHIAaQBvAHIAbQBlAG4AdABlACwwHQYDVR0OBBYEFB8Mk8MItpi2HvkoOch33h2l
1lUkMAsGA1UdDwQEAwIE8DAjBgNVHREEHDAaoBgGCCsGAQQBwQEBoAwWCjA0NjkwODI5LTUwHwYD
VR0jBBgwFoAUeOE+n9ISs3o8jc0wDlOzQykHs1UwPgYDVR0fBDcwNTAzoDGgL4YtaHR0cDovL2Ny
bC5lLWNlcnRjaGlsZS5jbC9lY2VydGNoaWxlY2FGRVMuY3JsMDoGCCsGAQUFBwEBBC4wLDAqBggr
BgEFBQcwAYYeaHR0cDovL29jc3AuZWNlcnRjaGlsZS5jbC9vY3NwMD0GCSsGAQQBgjcVBwQwMC4G
JisGAQQBgjcVCILcgy+Fk4xmhdWdF4Li3CeB7+w8YYPmtRODo70hAgFkAgEEMCMGA1UdEgQcMBqg
GAYIKwYBBAHBAQKgDBYKOTY5MjgxODAtNTANBgkqhkiG9w0BAQUFAAOCAQEAnyYfNOV4Rt5a3Wlw
P7+FSL1CNb8Ir/gVILXRhH3BHUCDGZGRrJ7/13T0Qcpk53YbURfmBhjuzTvKS9U2d0w4uJzIBmEV
re617G1wNS9jDja1UbQdsz4lbmcF+cpxc1CT6z5Ae2VDkIzq0SiLLuLFttY4dlJ9t+dlf5VlMALS
85kZZXDDy8vu0H2xqORLArwlqv77bahPVv3iufHMdig3flSkqr9AkgYHe5gpdSfoPBHzmCnJYyWF
xN10g6r1/vtxHetNe60tkrWn46L3kZvVsjVU4nBW4MLpdZ3yu1/OXI2+81moWL0N7U93VpH4S/vH
mrmTGX6TL2AnzOFyPz/W4w==
Además, al intentar probar con SoapUI usando el XML de arriba como parámetro de entrada, obtengo la siguiente respuesta:
soapenv:Server.userException
org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
Gracias de antemano :)
Perdón, así es el XML de entrada para la solicitud del token:
Eliminar<?xml version="1.0" encoding="UTF-8"?>
<getToken xmlns="http://www.sii.cl/SiiDte">
<Item>
<Semilla>016980287622</Semilla>
</Item>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>fdki0iYrdQdgz1ZbokmD5Jx74pQ=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>It7EiG4Xytu9oPqSoHa3pYpfTU0snLMjIBvYzzBkIiI4Lpw+ODuMoKWOsyrHMNt7xWggshLmfPK8
pa3tvHd8ASTgNAQINj+jNE/Ls8lpzrdPYUBGuITECzLqFgAdatbRulx8oxrLYBWNML0t/sGoho8A
qYyLkBkL23xoZp90j54=</SignatureValue>
<KeyInfo>
<KeyValue>
<RSAKeyValue>
<Modulus>tehRi+bUAfuUOI49ptyZJnCMgyG9sNcjhwAt7Sb4/+hZtsL8FZjAz8bPw+ZIWuXVJXJfz/4vps+i
FDFJjEkRdg9+4U0cm1r+Gz4zUyts3c5hbiS9CDwn5cLbvSUOb6oENc9Vl//SoRJles9mW8QVD5ev
WjvZTidyWXeYwVARl6c=</Modulus>
<Exponent>AQAB</Exponent>
</RSAKeyValue>
</KeyValue>
<X509Data>
<X509Certificate>MIIGSDCCBTCgAwIBAgIKQa1J+AAAAA2AITANBgkqhkiG9w0BAQUFADCB0jELMAkGA1UEBhMCQ0wx
HTAbBgNVBAgTFFJlZ2lvbiBNZXRyb3BvbGl0YW5hMREwDwYDVQQHEwhTYW50aWFnbzEUMBIGA1UE
ChMLRS1DRVJUQ0hJTEUxIDAeBgNVBAsTF0F1dG9yaWRhZCBDZXJ0aWZpY2Fkb3JhMTAwLgYDVQQD
EydFLUNFUlRDSElMRSBDQSBGSVJNQSBFTEVDVFJPTklDQSBTSU1QTEUxJzAlBgkqhkiG9w0BCQEW
GHNjbGllbnRlc0BlLWNlcnRjaGlsZS5jbDAeFw0xOTAzMjkyMDQzNDRaFw0yMDAzMjgyMDQzNDRa
MIHJMQswCQYDVQQGEwJDTDEqMCgGA1UECAwhUkVHScOTTiBNRVRST1BPTElUQU5BIERFIFNBTlRJ
QUdPMREwDwYDVQQHEwhTYW50aWFnbzEgMB4GA1UEChMXTUFOVUVMIEdBUkNJQSBST0RSSUdVRVox
CjAIBgNVBAsMASoxIDAeBgNVBAMTF01BTlVFTCBHQVJDSUEgUk9EUklHVUVaMSswKQYJKoZIhvcN
AQkBFhxhbHZhcm8uZ2FyY2lhLmZyZXpAZ21haWwuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB
iQKBgQC16FGL5tQB+5Q4jj2m3JkmcIyDIb2w1yOHAC3tJvj/6Fm2wvwVmMDPxs/D5kha5dUlcl/P
/i+mz6IUMUmMSRF2D37hTRybWv4bPjNTK2zdzmFuJL0IPCflwtu9JQ5vqgQ1z1WX/9KhEmV6z2Zb
xBUPl69aO9lOJ3JZd5jBUBGXpwIDAQABo4ICqTCCAqUwggFPBgNVHSAEggFGMIIBQjCCAT4GCCsG
AQQBw1IFMIIBMDAtBggrBgEFBQcCARYhaHR0cDovL3d3dy5lLWNlcnRjaGlsZS5jbC9DUFMuaHRt
MIH+BggrBgEFBQcCAjCB8R6B7gBFAGwAIAByAGUAcwBwAG8AbgBkAGUAcgAgAGUAcwB0AGUAIABm
AG8AcgBtAHUAbABhAHIAaQBvACAAZQBzACAAdQBuACAAcgBlAHEAdQBpAHMAaQB0AG8AIABpAG4A
ZABpAHMAcABlAG4AcwBhAGIAbABlACAAcABhAHIAYQAgAGQAYQByACAAaQBuAGkAYwBpAG8AIABh
AGwAIABwAHIAbwBjAGUAcwBvACAAZABlACAAYwBlAHIAdABpAGYAaQBjAGEAYwBpAPMAbgAuACAA
UABvAHMAdABlAHIAaQBvAHIAbQBlAG4AdABlACwwHQYDVR0OBBYEFB8Mk8MItpi2HvkoOch33h2l
1lUkMAsGA1UdDwQEAwIE8DAjBgNVHREEHDAaoBgGCCsGAQQBwQEBoAwWCjA0NjkwODI5LTUwHwYD
VR0jBBgwFoAUeOE+n9ISs3o8jc0wDlOzQykHs1UwPgYDVR0fBDcwNTAzoDGgL4YtaHR0cDovL2Ny
bC5lLWNlcnRjaGlsZS5jbC9lY2VydGNoaWxlY2FGRVMuY3JsMDoGCCsGAQUFBwEBBC4wLDAqBggr
BgEFBQcwAYYeaHR0cDovL29jc3AuZWNlcnRjaGlsZS5jbC9vY3NwMD0GCSsGAQQBgjcVBwQwMC4G
JisGAQQBgjcVCILcgy+Fk4xmhdWdF4Li3CeB7+w8YYPmtRODo70hAgFkAgEEMCMGA1UdEgQcMBqg
GAYIKwYBBAHBAQKgDBYKOTY5MjgxODAtNTANBgkqhkiG9w0BAQUFAAOCAQEAnyYfNOV4Rt5a3Wlw
P7+FSL1CNb8Ir/gVILXRhH3BHUCDGZGRrJ7/13T0Qcpk53YbURfmBhjuzTvKS9U2d0w4uJzIBmEV
re617G1wNS9jDja1UbQdsz4lbmcF+cpxc1CT6z5Ae2VDkIzq0SiLLuLFttY4dlJ9t+dlf5VlMALS
85kZZXDDy8vu0H2xqORLArwlqv77bahPVv3iufHMdig3flSkqr9AkgYHe5gpdSfoPBHzmCnJYyWF
xN10g6r1/vtxHetNe60tkrWn46L3kZvVsjVU4nBW4MLpdZ3yu1/OXI2+81moWL0N7U93VpH4S/vH
mrmTGX6TL2AnzOFyPz/W4w==</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</getToken>
Además, ya pude probar por SoapUI y me dio el mismo resultado.
Marco:
Eliminarla única diferencia y afecta es el Encoding
?xml version="1.0" encoding="ISO-8859-1"?
Hola, a mí me sale el error 10 con la glosa del 11 al intentar obtener el «token». Quisiera saber si conoces una posible solución, he intentado varias cosas pero nada me resulta, y la verdad, es que estos errores no dejan nada claro. Lo estoy desarrollando con PHP.
ResponderEliminarNo hay caso, da error 11 todo el tiempo en certificacion
ResponderEliminar