Página 1 de 1

Integración Tralix con PowerBuilder

Publicado: Jue May 07, 2015 8:52 pm
por FranciscoAlcibar
Hola qué tal buenas tardes.

Ojalá alguien pueda echarme un lazo.

Estoy tratando de integrar un paquete de timbrado de Tralix meidante PowerBuilder 10.5 Build 4523 pero no logro consumir el servicio.

Lo tengo todo hecho, pues antes timbrábamos con otro PAC, sólo que el WSDL de Tralix no muestra alguna función mediante la cual puede uno enviarle un archivo XML o un string que contenga el mismo y devolverlo timbrado... más bien el WSDL muestra un objecto con una función llamada "timbradocfd" y una serie de objectos para construir el XML, de modo tal que al llamar a la función "timbradocfd" nos devuelve un objecto llamado "timbrefiscaldigital" que es el nodo "<tfd:TimbreFiscalDigital>" de un CFDI.

Hasta allí ningún problema construí el objeto con mis valores, hice la conexión con el SOAPClient nativo de PowerBuilder y éste me devuelve que pudo conectarse sin problemas, tanto al ambiente de pruebas como al de producción.

Sin embargo, no encuentro cómo enviar la llamada CustomerKey y cómo añadir, mediante la estructura mostrada en el WSDL de Tralix, las etiquetas:

"<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.sat.gob.mx/cfd/3">
<soapenv:Header/>
<soapenv:Body>
</soapenv:Body>
</soapenv:Envelope>"

Que requiere Tralix, para que dentro de ellas coloque mi XML armado. Repito, la estructura del WSDL de Tralix no me muestra dónde agregar dichas etiquetas.

Si intentamos ejecutar la request así, sin CustomerKey y sin las etiquetas "soapenv" en el programa SoapUI nos devuelve el mensaje de: "<errorMessage>Failed to classify input to Workflow.</errorMessage>", no obstante en PowerBuilder nos devuelve el mensaje de "Unknow error, problem with SoapClient".

Así pues, la pregunta es: ¿alguien ha integrado un paquete de Tralix con PowerBuilder? Si pudieran enviarme ejemplos de código se los agradecería mucho. O quizá en algún otro lenguaje como Visual Basic, C/C++, PHP, etc.

De antemano muchas gracias.

Saludos.

Re: Integración Tralix con PowerBuilder

Publicado: Vie May 08, 2015 10:58 am
por droid
Yo uso el comando curl para enviar el xml a tralix.

Primero genero un archivo (cmd_curl.txt) con los siguientes parametros

Código: Seleccionar todo

-k
-H="Content-Type:text/xml;charset=utf-8"
-H=SOAPAction:"urn:TimbradoCFD"
-H=CustomerKey:1df2ecee9754dffsdfsfgheb26a1f048
-d @pruebas.xml
-s
-0
-X=POST
--url=https://pruebastfd.tralix.com:7070
-o=output.txt


el parametro -d le indico el archivo xml que deseo enviar, en este caso el --url muestro el url de pruebas de tralix

y despues ejecuto el comando : curl -K cmd_curl.txt y con esto funciona bien.

Nota el xml a enviar ya contiene:
"<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.sat.gob.mx/cfd/3">
<soapenv:Header/>
<soapenv:Body>
</soapenv:Body>
</soapenv:Envelope>"


Y nos regresa en el archivo de salida output.txt lo siguiente

Código: Seleccionar todo

<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soa
penv:Body><tfd:TimbreFiscalDigital FechaTimbrado="2014-06-16T12:36:59" UUID="EA0
D0081-4532-9F58-E41E-8D1DA3B0148E" noCertificadoSAT="00001000000203771120" sello
CFD="bH7DEFEEQY8j9ejTnu30vVxo3YgOotLyCwZSCmBI0j2nl+kmNZkozvyBgOKBRN3PqU7Iq5443rl
AFukMviQllGt0x2yl/CpSJ0QD4xzeLuZAEipGgYfdc8vctW8hO1YstFgoNN2NMYXyiBa1CqxvbW8XUKB
Zgeh5jZx4mYX3C6o=" selloSAT="SUKSoyz7vJ1yIjz/k76umbWzPNidOOGhYigyLGlOGisqki41JVI
U21sRMr0kvvxzqJYASvHvspdgEoCZnuaNr+E7WguKRuKJGr3ai1QuGytqKk3iM3SXoZ0B1Cox5xXk+Ye
c6GW6L/KMW0si/41taKFK/dq01DUxbpAk66qhC4g=" version="1.0" xsi:schemaLocation="htt
p://www.sat.gob.mx/TimbreFiscalDigital http://www.sat.gob.mx/TimbreFiscalDigital
/TimbreFiscalDigital.xsd" xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/></soapenv:Body></soapenv:
Envelope>