Imagen

DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.


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

Timbrar con Tralix

Foro dedicado para discutir la parte tecnica de como es el timbrado
[[ FORO CERRADO DEBIDO A QUE YA LA INFORMACION YA NO ES VIGENTE ]]
xml??
Mensajes: 82
Registrado: Mar Jun 14, 2011 2:50 am

Timbrar con Tralix

Mensajepor xml?? » Vie Jul 15, 2011 10:09 pm

Estoy tratando de timbrar con tralix, y solo obtengo errores.

Según yo, como debe de estar me da un error 500 (Failed to classify input to Workflow). Acabo de ver una pagina sobre como timbrar aquí. Pero al cambiar la linea del POST (POST / HTTP/1.1) para que se parezca a la del ejemplo, me da otro error 400 BAD REQUEST.

En el ejemplo dan
POST https://MyHost / HTTP/1.1
Content-Type: text/xml;charset=UTF-8
SOAPAction: "http://StampHost/MyService"
MyNewHEADER: value
Host: StampHost Content-Length: 205

Esto es lo que tengo del header (obviamente pruebas es la dirección completa del servidor de pruebas host.domain.com:port y MyNewHEADER: value tiene mi valor correspondiente).

POST https://pruebas / HTTP/1.1
Content-Type: text/xml;charset=UTF-8
SOAPAction: "http://pruebas/"
MyNewHEADER: value
Host: pruebas
Expect: 100-continue
Accept: */*
Content-Length: 3882

Algo que no hace sentido se como resulta el tamaño de tan solo 205 caracteres, ya que se les envío my Comprobante me da los 3882 caracteres.

El código que tengo en php es:

Código: Seleccionar todo

$process = curl_init('https://pruebas/');
curl_setopt($process, CURLOPT_HTTPHEADER, array('Content-Type: text/xml;charset=UTF-8',
                                    'SOAPAction: "http://pruebas/"',
                                    'MyNewHEADER: value',
                                    'Host: pruebas',
                                    'Expect: 100-continue',
                                    'Accept: */*'));

curl_setopt($process, CURLOPT_CUSTOMREQUEST, "POST https://pruebas");
curl_setopt($process, CURLOPT_RETURNTRANSFER, true);
curl_setopt($process, CURLOPT_POST, true);
curl_setopt($process, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($process, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($process, CURLINFO_HEADER_OUT, true);
curl_setopt($process, CURLOPT_CERTINFO, true);
curl_setopt($process, CURLOPT_HEADER, true);
curl_setopt($process, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($process, CURLOPT_VERBOSE, true);
curl_setopt($process, CURLOPT_NOPROGRESS, false);
curl_setopt($process, CURLOPT_POSTFIELDS, $env->saveXML());

$timbre = curl_exec($process);



Cualquier ayuda seria útil, ya que los de soporte técnico no responden excepto que sea una falla de servicio
Última edición por xml?? el Vie Jul 15, 2011 10:38 pm, editado 1 vez en total.

Avatar de Usuario
Dado
Mensajes: 15838
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Timbrar con Tralix

Mensajepor Dado » Vie Jul 15, 2011 10:36 pm

Segun el acuerdo de confidencialidad que firme con Tralix (y que seguramente tu tambien firmaste) no podemos hacer publica la informacion, PERO! si podemos compartirla con nuestros asesores (Clausula Cuarta parrafo dos del contrato NDA)

Asi que enviame un mail para ASESORARTE, mi direccion aparece abajo
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!

apardo
Mensajes: 29
Registrado: Mar May 17, 2011 10:22 am

Re: Timbrar con Tralix

Mensajepor apardo » Vie Jul 22, 2011 11:44 am

No se si ya pudiste resolver tu problema, ami me llego a dar con varios otros pacs porque el certificado y/o el numero de certificado y/o el rfc y/o Archivos con el que generaste el Sello(Key Cer Contraseña privada etc etc) no correpondian


Saludos

xml??
Mensajes: 82
Registrado: Mar Jun 14, 2011 2:50 am

Re: Timbrar con Tralix

Mensajepor xml?? » Vie Jul 29, 2011 12:16 am

Gracias, ese es un error bastante común.

El problema tienen que ver con el SOAPAction. Sin decir mucho en publico, si tienes un error 500 (Failed to classify input to Workflow) al timbrar con Tralix, busca SOAPAction en el wsdl, y pon ese valor para el SOAPAction en tu header (en otras palabras no esta correcto el manual que te mandan).

wilson
Mensajes: 3
Registrado: Sab Ago 06, 2011 1:01 am

Re: Timbrar con Tralix

Mensajepor wilson » Sab Ago 06, 2011 1:07 am

Que tal Foro!!

de antemano agradezco la atención al presente y les comento…

Estoy intentado timbrar con Tralix en su ambiente de pruebas sin obtener ninguna respuesta positiva,
lo único que recibo es el siguiente error: Timbre = [HTTP/1.1 100 CONTINUE HTTP/1.1 408 REQUEST TIMEOUT Content-Length: 0 ]

Leí arriba y me percaté de que la forma en la que están tratando de conectarse al servicio en el ejemplo, es muy parecido al mío.

Esta es la manera como estoy intentando conectar con el servicio:

$process = curl_init( 'https://prueba' );
curl_setopt( $process, CURLOPT_HTTPHEADER, array( 'Content-Type: text/xml;charset=UTF-8',
'SOAPAction: "valor SOAPAction del wsdl"',
'User-Agent: xxxx xxxx xxxx,
'MyNewHEADER: value',
'Host: prueba',
'Content-Length: xxxx',
'Expect: 100-continue',
'Accept: */*' ));
curl_setopt( $process, CURLOPT_CUSTOMREQUEST, "POST https://prueba" );
curl_setopt( $process, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $process, CURLOPT_POST, true );
curl_setopt( $process, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt( $process, CURLOPT_SSL_VERIFYHOST, false );
curl_setopt( $process, CURLINFO_HEADER_OUT, true );
curl_setopt( $process, CURLOPT_CERTINFO, true );
curl_setopt( $process, CURLOPT_HEADER, true );
curl_setopt( $process, CURLOPT_FOLLOWLOCATION, true );
curl_setopt( $process, CURLOPT_VERBOSE, true );
curl_setopt( $process, CURLOPT_NOPROGRESS, false );
curl_setopt( $process, CURLOPT_POSTFIELDS, $env->saveXML() );

$timbre = curl_exec( $process );


Cualquier ayuda será de gran utilidad, ya que el soporte técnico no responde si la falla no es con respecto al servicio, bueno, en realidad no contestan nada ni telefonos ni mensajes ni tickets.

Un saludo y gracias de nuevo.

xml??
Mensajes: 82
Registrado: Mar Jun 14, 2011 2:50 am

Re: Timbrar con Tralix

Mensajepor xml?? » Sab Ago 06, 2011 1:58 am

Las diferencias que encuentro son
'Content-Length: xxxx', (curl debe poner esta linea automáticamente, si lo haces muy grande quizá te da el error)
No creo que haga diferencia pero tienes un espacio entre los dos puntos (:) y el valor

Muchas de las opciones no son necesarias. Yo las había puesto para ver que pasaba. Usa curl_getinfo($process) para ver mas.

Obviamente estos son distintos
'User-Agent: xxxx xxxx xxxx', (yo no uso User-Agent, y te falta el apóstrofe)
'MyNewHEADER: value',

Tratando de cubrir todas las posibilidades no olvides el puerto en tu dirección (prueba) y no se si como armas el xml ($env) pueda hacer diferencia

Avatar de Usuario
Dado
Mensajes: 15838
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Timbrar con Tralix

Mensajepor Dado » Sab Ago 06, 2011 7:39 am

Este es un ejemplo de los encabezados que debe llevar tu request, verifica UNO POR UNO que coincida con los que estas enviando :

(Request-Line):POST / HTTP/1.0
Host:pruebastfd.tralix.com:7070
Keep-Alive:300
Connection:keep-alive
User-Agent:Mozilla/4.0
Content-Type:text/xml;charset=UTF-8
Content-Length:4841
CustomerKey:dca91e87dd718998289fybyf92y83fbyf98
SOAPAction:"urn:TimbradoCFD"


NOTA, tal como lo comenta el usuario "xml??" en Content-Length:4841 deberia ponerlo automatico ya que este dato ES VARIABLE y define el tamaño del mensaje, el CustomerKey pon el que te haya dado Tralix y por ultimo en User-Agent no importa mucho el valor, puede ser cualquier cosa
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!

wilson
Mensajes: 3
Registrado: Sab Ago 06, 2011 1:01 am

Re: Timbrar con Tralix

Mensajepor wilson » Dom Ago 07, 2011 4:28 pm

Muchas gracias por responder.

he acomodado de nuevo de acuerdo a las observaciones que me comentan de esta manera:

$process = curl_init('https://pruebasxxx.dominio.com:puerto');
curl_setopt($process, CURLOPT_HTTPHEADER, array('Content-Type:text/xml;charset=UTF-8',
'SOAPAction:"urn:valor SOAPAction del wsdl"',
'CustomerKey:mi clave proporcionada',
'Host:pruebasxxx.dominio.com:puerto',
'User-Agent:Mozilla/4.0',
'Expect: 100-continue',
'Accept: */*'));

curl_setopt($process, CURLOPT_CUSTOMREQUEST, "POST pruebasxxx.dominiocom:puerto HTTP/1.0");
curl_setopt($process, CURLOPT_RETURNTRANSFER, true);
curl_setopt($process, CURLOPT_POST, true);
curl_setopt($process, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($process, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($process, CURLINFO_HEADER_OUT, true);
curl_setopt($process, CURLOPT_CERTINFO, true);
curl_setopt($process, CURLOPT_HEADER, true);
curl_setopt($process, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($process, CURLOPT_VERBOSE, true);
curl_setopt($process, CURLOPT_NOPROGRESS, false);
curl_setopt($process, CURLOPT_POSTFIELDS, $env->saveXML());

$timbre = curl_exec($process);


y ahora tengo esto en el header(lo he obtrenido con el comando curl_getinfo):

POST pruebasxxx.dominio.com:puerto HTTP/1.0 / HTTP/1.1
Content-Type:text/xml;charset=UTF-8
SOAPAction:"urn:valor SOAPAction del wsdl"
CustomerKey:mi calve proporcionada
Host:pruebastfd.dominio.com:puerto
User-Agent:Mozilla/4.0
Expect: 100-continue
Accept: */*
Content-Length: 3899

El problema es que ahora obtengo una respuesta como la que le ponìa en el principio de este hilo al usuario xml:

Timbre = [HTTP/1.1 500 INTERNAL SERVER ERROR Connection: Close Content-Length: 70 Content-Type: text/xml;charset=utf-8 <errorMessage> Failed to classify input to Workflow. </errorMessage> ] HTTP/1.1 500 INTERNAL SERVER ERROR Connection: Close Content-Length: 70 Content-Type: text/xml;charset=utf-8 Failed to classify input to Workflow.

alguna idea? serà que estoy poniendo opciones de más o que tenga algún error el alguna parte?
de antemano muchas gracias por la ayuda y espero puedan darme una mano.
un saludo cordial.

xml??
Mensajes: 82
Registrado: Mar Jun 14, 2011 2:50 am

Re: Timbrar con Tralix

Mensajepor xml?? » Dom Ago 07, 2011 5:14 pm

Tu header no es igual al que te dio Dado, comparalos y ajusta tu programa para que sean iguales. El esta usando valores correctos y reales. Tienes un problema en la linea del post en el header (quita la linea del post). También, yo tuve este error (500) y tiene que ver con el soapaction.

Avatar de Usuario
Dado
Mensajes: 15838
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Timbrar con Tralix

Mensajepor Dado » Dom Ago 07, 2011 7:42 pm

Tienes que hacer coincidir los header e-x-a-c-t-a-m-e-n-t-e, *no* parecido, *no* "mejor" sino EXACTA Y PERFECTAMENTE IGUAL (con las excepciones que te marque en el mensaje anterior)

Por ejemplo tu pones :
Host:pruebastfd.dominio.com:puerto

pero debe ser
Host:pruebastfd.tralix.com:7070

tu pones
SOAPAction:"urn:valor SOAPAction del wsdl"

pero debe ser:
SOAPAction:"urn:TimbradoCFD"

tu pones
Accept: */* (y esto????, en serio amigo, NO INVENTES)

HAZLO **EXACTAMENTE** IGUAL AL EJEMPLO QUE TE PONGO
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!


Volver a “Envio para Timbrado”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados