
DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.
CARTA PORTE V3.1
ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03
.
POSIBLE METODO DE ENVIO O CANCELACION DE CFDI AL PAC
-
- Mensajes: 24
- Registrado: Mar Abr 12, 2011 5:56 pm
Re: POSIBLE METODO DE ENVIO O CANCELACION DE CFDI AL PAC
Alguien ha usado JAVA para la implementación de este Web Service?
Yo lo intente, pero al final dejamos un puente usando un webservice en .NET, y ahora usamos un webservice que invoca a otros webservices XD
El problema que tenemos ahora, son los resultados que nos arrojan los WS del SAT, no hemos obtenido una cancelacion ni una recepcion exitosa.
En java estamos aplicando el SHA1 para obtener el hash de la cadena original. Pero este método regresa 40 caracteres y el SAT dice que el hash que de debe enviar es de solo 20 de longitud, alguno de ustedes tiene un metodo en JAVA para hacer el digest de la cadena original con SHA-1 y que solamente regrese 20 caracteres?
Nota: ya intentamos haciendo un substring tomando los primeros 20 caracteres, pero en realidad no creo q sea la solución.
Yo lo intente, pero al final dejamos un puente usando un webservice en .NET, y ahora usamos un webservice que invoca a otros webservices XD
El problema que tenemos ahora, son los resultados que nos arrojan los WS del SAT, no hemos obtenido una cancelacion ni una recepcion exitosa.
En java estamos aplicando el SHA1 para obtener el hash de la cadena original. Pero este método regresa 40 caracteres y el SAT dice que el hash que de debe enviar es de solo 20 de longitud, alguno de ustedes tiene un metodo en JAVA para hacer el digest de la cadena original con SHA-1 y que solamente regrese 20 caracteres?
Nota: ya intentamos haciendo un substring tomando los primeros 20 caracteres, pero en realidad no creo q sea la solución.
- Dado
- Mensajes: 15981
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: POSIBLE METODO DE ENVIO O CANCELACION DE CFDI AL PAC
Por definicion el SHA1 es un digestivo cuyo resultado son 20 BYTES o su equivalente de 160 BITSposeidon24 escribió:Alguien ha usado JAVA para la implementación de este Web Service?
Yo lo intente, pero al final dejamos un puente usando un webservice en .NET, y ahora usamos un webservice que invoca a otros webservices XD
El problema que tenemos ahora, son los resultados que nos arrojan los WS del SAT, no hemos obtenido una cancelacion ni una recepcion exitosa.
En java estamos aplicando el SHA1 para obtener el hash de la cadena original. Pero este método regresa 40 caracteres y el SAT dice que el hash que de debe enviar es de solo 20 de longitud, alguno de ustedes tiene un metodo en JAVA para hacer el digest de la cadena original con SHA-1 y que solamente regrese 20 caracteres?
Nota: ya intentamos haciendo un substring tomando los primeros 20 caracteres, pero en realidad no creo q sea la solución.
Ahora, la REPRESENTACION HEXADECIMAL de un Byte requiere de DOS CARACTERES (del 00 al FF), y por lo tanto la representacion del resultado de SHA1 es de 40 caracteres.
Hay algoritmos "personalizados" que se basan en el SHA1 y toman por ejemplo 1 de cada 3 caracteres haciendo mas dificil el rompimiento de una clave, pero este NO ES EL CASO DEL SAT
como dijeron por ahi...mis dos centavos
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 24
- Registrado: Mar Abr 12, 2011 5:56 pm
Re: POSIBLE METODO DE ENVIO O CANCELACION DE CFDI AL PAC

Eso es lo que no nos queda del todo claro. 20 o 40?
- Dado
- Mensajes: 15981
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: POSIBLE METODO DE ENVIO O CANCELACION DE CFDI AL PAC
Aver con piedritas y palitos......poseidon24 escribió:Entonces, al web service del SAT se envía el digest con SHA-1 (20 caracteres) o como tu dices la representación en hexadecimal de ese digest (40 caracteres)?
Eso es lo que no nos queda del todo claro. 20 o 40?
El SHA1 son 20 NUMEROS DECIMALES.....VA DE NUEVO....SON 20 NUMEROS DECIMALES que solo pueden tener un valor del 0 al 255, a eso en computacion se le llama BYTE
Ejemplo de SHA1 = (193) (82) (145) (89) (200) (02) (93) (45) (198) (32) (84) (229) (02) (49) (134) (20) (76) (149) (56) (229)
(20 NUMEROS decimales que solo pueden tener un valor del 0 al 255)
OK. los numeros del 0 al 255 se pueden representar matematicamente con una notacion que se llama hexadecimal usando del cero al 9 y las letras A a la F, esto es mas largo de explicar pero cada NUMERO DECIMAL se puede representar con DOS CARACTERES HEXADECIMALES obteniendo lo siguiente*
Ejemplo de SHA1 = (C1) (52) (A4) (4F) (20) (F0) (C3) (32) (45) (19) (23) (2A) (8B) (B2) (90) (28) (8F) (23) (AC) (0C)
(20 NUMEROS hexadecimales que solo pueden tener un valor del 0 al 255)
Ahora si quitas los parentesis y los espacios te queda
Ejemplo de SHA1 = C152A44F20F0C3324519232A8BB290288F23AC0C
(20 NUMEROS hexadecimales que solo pueden tener un valor del 0 al 255 REPRESENTADO CON 40 CARACTERES)
*la conversion decimal<->hexadecimal que se muestra no esta bien calculada, solo es para fines pictograficos
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 24
- Registrado: Mar Abr 12, 2011 5:56 pm
Re: POSIBLE METODO DE ENVIO O CANCELACION DE CFDI AL PAC
Buenas Tardes!
Por fin ya obtuvimos todas las respuestas posibles del WS de Recepción del Acuse.
Ahora tenemos problema con el WS de Cancelacion, leyendo este mismo hilo, vi que algunos resolvieron lo del Error 302 -Sello mal formado o invalido, llenando la propiedad Signature.
Hasta ahí bien, pero, con que se llena esa propiedad? El sello de timbrado? Sello del emisor? Se usa una codificación especial?
La invocación a los WS del SAT lo hacemos desde .NET (c#)
Saludos!
Por fin ya obtuvimos todas las respuestas posibles del WS de Recepción del Acuse.
Ahora tenemos problema con el WS de Cancelacion, leyendo este mismo hilo, vi que algunos resolvieron lo del Error 302 -Sello mal formado o invalido, llenando la propiedad Signature.
Hasta ahí bien, pero, con que se llena esa propiedad? El sello de timbrado? Sello del emisor? Se usa una codificación especial?
La invocación a los WS del SAT lo hacemos desde .NET (c#)
Saludos!
-
- Mensajes: 24
- Registrado: Mar Abr 12, 2011 5:56 pm
Re: POSIBLE METODO DE ENVIO O CANCELACION DE CFDI AL PAC
Alguien sabe en que quedo esto? Siempre como se hizo para obtener el SignatureValue ?edifact escribió:A todos o a cualquier guru en la materia:
Hola que tal... estamos en eso precisamente... si utilizamos certificados de LCO y el ejemplo que anexa el SAT, sobre eso estamos haciendo la prueba... por que??
Por que al consumir el WS si funciona!!! aunque el codigo que arroja es el <205 - El UUID NO EXISTE>
¿Por que? Por que no existe asi de facil no existe, pero es el ejemplo del SAT, si existiera en el blob entonces nos daria EXITO <201>
::INTENTAMOS REPRODUCIR EXACTAMENTE EL MISMO EJEMPLO QUE ANEXA EL SAT::
Cuando suceda esto, estamos del otro lado
Proceso:
Ya canonicalizamos <SignedInfo> aplicando Sha1 y tenemos el <Digestvalue> finalmente y estamos seguros que hasta ahi estamos bien.
¿Por que? por que nos da igual al ejemplo del SAT. Goood!
Aqui esta el problema:
Tenemos la idea y hemos probado con varias cosas obtener el <Signaturevalue> y por supuesto al consumir el WS de cancelacion obtenemos <302>
Esto deriva en decir que esta incorrecto el resultado de <Signaturevalue>
Sera que ya tienes la mecanica de calculo para obtener <Signaturevalue> en forma correcta?
Que version de canonicalizacion estas empleando?
En que lenguaje estas desarrollando?
Saludos
Mau
-
- Mensajes: 39
- Registrado: Jue Ene 20, 2011 9:47 am
Re: POSIBLE METODO DE ENVIO O CANCELACION DE CFDI AL PAC
Tengo problemas para enviar al blobstore del SAT en java , de casualidad no sabes que configuración se hace?poseidon24 escribió:Buenas Tardes!
Por fin ya obtuvimos todas las respuestas posibles del WS de Recepción del Acuse.
Ahora tenemos problema con el WS de Cancelacion, leyendo este mismo hilo, vi que algunos resolvieron lo del Error 302 -Sello mal formado o invalido, llenando la propiedad Signature.
Hasta ahí bien, pero, con que se llena esa propiedad? El sello de timbrado? Sello del emisor? Se usa una codificación especial?
La invocación a los WS del SAT lo hacemos desde .NET (c#)
Saludos!
Saludos
-
- Mensajes: 6
- Registrado: Mié Ene 26, 2011 11:50 am
Re: POSIBLE METODO DE ENVIO O CANCELACION DE CFDI AL PAC
Actualmente yo tengo el problema que no puedo cancelar inmediatamente después de que envío un CFDI al SAT; debo de esperar entre 2 y 3 horas para poder cancelarlo y me regrese un acuse de cancelación
-
- Mensajes: 29
- Registrado: Mar May 17, 2011 10:22 am
Re: POSIBLE METODO DE ENVIO O CANCELACION DE CFDI AL PAC
Hola,
Alguien tendrá el catalogo de errores que devuelve el sat, o en su defecto me podrían decir que es el error 300
Gracias de antemano
Alguien tendrá el catalogo de errores que devuelve el sat, o en su defecto me podrían decir que es el error 300
Gracias de antemano
-
- Mensajes: 29
- Registrado: Mar May 17, 2011 10:22 am
Re: POSIBLE METODO DE ENVIO O CANCELACION DE CFDI AL PAC
apardo escribió:Hola,
Alguien tendrá el catalogo de errores que devuelve el sat, o en su defecto me podrían decir que es el error 300
Gracias de antemano
ya encontre el catalogo de errores en el anexo 20,anteproyecto anexo 20 y en la siguiente liga de preguntas frecuentes
ftp://ftp2.sat.gob.mx/asistencia_ftp/pu ... recTec.pdf
pero en ninguno viene el error 300
este es la respuesta que recibo
Código: Seleccionar todo
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
- <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <CancelaCFDResponse xmlns="http://cancelacfd.sat.gob.mx">
- <CancelaCFDResult CodEstatus="300" Fecha="2011-06-01T16:39:33.35505" RfcEmisor="ZUN100623663">
- <Signature Id="SelloSAT" 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/2001/04/xmldsig-more#hmac-sha512" />
- <Reference URI="">
- <Transforms>
- <Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
<XPath>not(ancestor-or-self::*[local-name()='Signature'])</XPath>
</Transform>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha512" />
<DigestValue>9YijncFjuw6u/sdTFND9LpPD4RE/y5p/vZrPtb5lckOga7/cprQR1E+zA/KAYzVtT4muPWTSKYKzONrwAwUy6w==</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>hi1DGAll/PQok4ypT/lQd6InbJBhxfIehPCWdoiCpj+fdPhcoJhx/SPya6jIf385m9QggmzfJEQHDqnsimedug==</SignatureValue>
- <KeyInfo>
<KeyName>00001088888800000093</KeyName>
- <KeyValue>
- <RSAKeyValue>
<Modulus>yxMvUucuS+s3aeWTFZvJrrFWIdes7kIDJmO7DA5DP+ZTapofNt37fgeIHlTUdAVvd/fDKhfiwNSh+vbrNbD58X3UEdQor3ngb6zpjrDjgYsedckPLv6fro4DO0NXLCdALFqhN8ARyX77kYBnvIj1fOSVp401Vc3urLUtiEm16Kle3tOyWhfjgFzdK3oAIXF8oeei/GburWbJnpP+NeGaHVE5bkxLCBp5757nKVonXwzpfpEGuBp204NGkI2/jyA2EH8wyRN4yUvzjT7IJYrHng23klRDlJoRYwa98QQPdQSTpcrlNu8nLhpQdI/zMTLoNF2NiBCkQNuAMacKhnvlVw==</Modulus>
<Exponent>AQAB</Exponent>
</RSAKeyValue>
</KeyValue>
</KeyInfo>
</Signature>
</CancelaCFDResult>
</CancelaCFDResponse>
</s:Body>
</s:Envelope>
Nota
Estoy usando el servicio de pruebas
con rfc y certificado de Pruebas
Tambien noto que no viene como "Acuse" no se si sea bueno o malo
