Hola todos!!
Pues como siempre pidiendo ayuda, que digo, AUXILIO. como algunos de ustedes se darán cuenta he estado intentando conectar mi ERP al WS de FacturaTECH, (soy de Colombia) y pues…aunque alguna vez lo logré, ahora no he sido capaz de hacerlo mediante xmlHttpRequest.
De tanto probar y probar, intenté hacerlo en otro lenguaje y lo intenté con Python y para mi sorpresa pues fue muy sencillo… logré conectarme sin problemas al WS.
El asunto es que no se que tan viable es la interacción entre Velneo y Python, es decir:
¿Puedo ejecutar código Python desde Velneo?
¿De poderse, podría capturar valores de retorno de Python para procesar en Velneo?
¿Qué puede estarme fallando desde Velneo con xmlHttpRequest… si con Python solo uso el header Content-type y un body formateado tal cual FacturaTECH lo requiere ?
Se que querrían mas datos:
el objeto xmlHttpRequest me devuelve un readyState=4 pero un errorCode=99 y ningún valor en statusText ni en responseText
He hecho pruebas con SOAPUI y con POSTMAN y en ambas herrameintas me da conexión correcta.
esta es la url del WS: https://ws.facturatech.co/21/index.php?wsdl
///--------------------------------------
var xhr = new XMLHttpRequest();
xhr.open(“POST”, url, false);
xhr.setRequestHeader(‘Content-Type’, ‘text/xml;charset=UTF-8’);
//xhr.setRequestHeader(‘Host’, ‘ws.facturatech.co’);
xhr.send(data);
///--------------------------------------
ESTE ES el body:
//----------------------------------
data=<soapenv:Envelope xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=“http://www.w3.org/2001/XMLSchema” xmlns:soapenv=“http://schemas.xmlsoap.org/soap/envelope/” xmlns:ns=“urn:https://ws.facturatech.co/21”>soapenv:Header/soapenv:Body<ns:FtechAction.uploadInvoiceFile soapenv:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/”>GesTEC728739f533f0b84d1008404badb41bbda4edb1260f8b82b0b13d067344501ffdPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48RkFDVFVSQSB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIj48RU5DPjxFTkNfMT5JTlZPSUM8L0VOQ18xPjxFTkNfMj45MDExNDMzMTE8L0VOQ18yPjxFTkNfMz45MDAxOTIzMTYtMDwvRU5DXzM+PEVOQ180PlVCTCAyLjE8L0VOQ180PjxFTkNfNT5ESUFOIDIuMTwvRU5DXzU+PEVOQ182PlRDRkEyPC9FTkNfNj48RU5DXzc+MjAyMC0wMy0zMTwvRU5DXzc+PEVOQ184PjEzOjU1OjI3LTA1OjAwPC9FTkNfOD48RU5DXzk+MDE8L0VOQ185PjxFTkNfMTA+Q09QPC9FTkNfMTA+PEVOQ18xMT48L0VOQ18xMT48RU5DXzEyPjwvRU5DXzEyPjxFTkNfMTM+PC9FTkNfMTM+PEVOQ18xND48L0VOQ18xND48RU5DXzE1PjI8L0VOQ18xNT48RU5DXzE2PjIwMjAtMDQtMzA8L0VOQ18xNj48RU5DXzE3PjwvRU5DXzE3PjxFTkNfMTg+PC9FTkNfMTg+PEVOQ18xOT48L0VOQ18xOT48RU5DXzIwPjI8L0VOQ18yMD48RU5DXzIxPjEwPC9FTkNfMjE+PEVOQ18yMj48L0VOQ18yMj48L0VOQz48RU1JPjxFTUlfMT4xPC9FTUlfMT48RU1JXzI+OTAxMTQzMzExLTE8L0VNSV8yPjxFTUlfMz4zMTwvRU1JXzM+PEVNSV80PjQ4PC9FTUlfND48RU1JXzU+MTwvRU1JXzU+PEVNSV82PkZBQ1RVUkFURUNIIFNBLiBERSBDVjwvRU1JXzY+PEVNSV83PkZBQ1RVUkFURUNIIFNBLiBERSBDVjwvRU1JXzc+PEVNSV84PjwvRU1JXzg+PEVNSV85PjwvRU1JXzk+PEVNSV8xMD48L0VNSV8xMD48RU1JXzExPjA1PC9FTUlfMTE+PEVNSV8xMj48L0VNSV8xMj48RU1JXzEzPk1FREVMTM1OPC9FTUlfMTM+PEVNSV8xND4wNTAwMjE8L0VNSV8xND48RU1JXzE1PkNPPC9FTUlfMTU+PEVNSV8xNj43MDcxPC9FTUlfMTY+PEVNSV8xNz48L0VNSV8xNz48RU1JXzE4PjwvRU1JXzE4PjxFTUlfMTk+QW50aW9xdWlhPC9FTUlfMTk+PEVNSV8yMD48L0VNSV8yMD48RU1JXzIxPkNPTE9NQklBPC9FTUlfMjE+PEVNSV8yMj4xPC9FTUlfMjI+PEVNSV8yMz4wNTAwMTwvRU1JXzIzPjxFTUlfMjQ+RkFDVFVSQVRFQ0ggU0EuIERFIENWPC9FTUlfMjQ+PEVNSV8yNT42MjAxPC9FTUlfMjU+PFRBQz48VEFDXzE+Ty00ODwvVEFDXzE+PC9UQUM+PERGRT48REZFXzE+MDUwMDE8L0RGRV8xPjxERkVfMj4wNTwvREZFXzI+PERGRV8zPkNPPC9ERkVfMz48REZFXzQ+MDUwMDIxPC9ERkVfND48REZFXzU+Q09MT01CSUE8L0RGRV81PjxERkVfNj5BbnRpb3F1aWE8L0RGRV82PjxERkVfNz5NRURFTEzNTjwvREZFXzc+PERGRV84PjwvREZFXzg+PC9ERkU+PElDQz48SUNDXzE+Tk0xMjM0NTY3ODwvSUNDXzE+PC9JQ0M+PENERT48Q0RFXzE+MTwvQ0RFXzE+PENERV8yPkZBQ1RVUkFURUNIIFNBLiBERSBDVjwvQ0RFXzI+PENERV8zPjMxMCA1MDEgMTQgODg8L0NERV8zPjxDREVfND5oamNvbXB1dGFkb3Jlc0Bob3RtYWlsLmNvbTwvQ0RFXzQ+PENERV81PjwvQ0RFXzU+PENERV82PjwvQ0RFXzY+PC9DREU+PEdURT48R1RFXzE+MDE8L0dURV8xPjxHVEVfMj5JVkE8L0dURV8yPjwvR1RFPjwvRU1JPjxBRFE+PEFEUV8xPjI8L0FEUV8xPjxBRFFfMj45MDAxOTIzMTY8L0FEUV8yPjxBRFFfMz4xMzwvQURRXzM+PEFEUV80PjQ5PC9BRFFfND48QURRXzU+MTI8L0FEUV81PjxBRFFfNj5QUkVOREVSSUEgRUwgMTI8L0FEUV82PjxBRFFfNz5QQU9MQSBUUlVKSUxMTzwvQURRXzc+PEFEUV84PlBBT0xBIFRSVUpJTExPPC9BRFFfOD48QURRXzk+UEFPTEEgVFJVSklMTE88L0FEUV85PjxBRFFfMTA+PC9BRFFfMTA+PEFEUV8xMT4wNTwvQURRXzExPjxBRFFfMTI+PC9BRFFfMTI+PEFEUV8xMz5UQVJBWsE8L0FEUV8xMz48QURRXzE0PjA1MDAxMDwvQURRXzE0PjxBRFFfMTU+Q088L0FEUV8xNT48VENSPjxUQ1JfMT5PLTQ5PC9UQ1JfMT48L1RDUj48SUxBPjxJTEFfMT5QQU9MQSBUUlVKSUxMTzwvSUxBXzE+PElMQV8yPjkwMDE5MjMxNjwvSUxBXzI+PElMQV8zPjEzPC9JTEFfMz48SUxBXzQ+MDwvSUxBXzQ+PC9JTEE+PERGQT48REZBXzE+Q088L0RGQV8xPjxERkFfMj4wNTwvREZBXzI+PERGQV8zPjA1MDAxMDwvREZBXzM+PERGQV80PjA1NzkwPC9ERkFfND48REZBXzU+Q09MT01CSUE8L0RGQV81PjxERkFfNj5BbnRpb3F1aWE8L0RGQV82PjxERkFfNz5UQVJBWsE8L0RGQV83PjxERkFfOD48L0RGQV84PjwvREZBPjxDREE+PENEQV8xPjE8L0NEQV8xPjxDREFfMj5QQU9MQTwvQ0RBXzI+PENEQV8zPjwvQ0RBXzM+PENEQV80PjwvQ0RBXzQ+PENEQV81PjwvQ0RBXzU+PENEQV82PjwvQ0RBXzY+PC9DREE+PEdUQT48R1RBXzE+MDE8L0dUQV8xPjxHVEFfMj5JVkE8L0dUQV8yPjwvR1RBPjwvQURRPjxUT1Q+PFRPVF8xPjI1MDQ3LjYyPC9UT1RfMT48VE9UXzI+Q09QPC9UT1RfMj48VE9UXzM+MTkwNDcuNjI8L1RPVF8zPjxUT1RfND5DT1A8L1RPVF80PjxUT1RfNT4yNjAwMC4wMDwvVE9UXzU+PFRPVF82PkNPUDwvVE9UXzY+PFRPVF83PjI2MDAwLjAwPC9UT1RfNz48VE9UXzg+Q09QPC9UT1RfOD48L1RPVD48VElNPjxUSU1fMT5mYWxzZTwvVElNXzE+PFRJTV8yPjE5MDQ3LjYyPC9USU1fMj48VElNXzM+Q09QPC9USU1fMz48SU1QPjxJTVBfMT4wMTwvSU1QXzE+PElNUF8yPjE5MDQ3LjYyPC9JTVBfMj48SU1QXzM+Q09QPC9JTVBfMz48SU1QXzQ+OTUyLjM4PC9JTVBfND48SU1QXzU+Q09QPC9JTVBfNT48SU1QXzY+NS4wMDwvSU1QXzY+PC9JTVA+PC9USU0+PERSRj48RFJGXzE+MTIzNDU2Nzg5MCBUaXBvOiBERU1PPC9EUkZfMT48RFJGXzI+MjAxOS0xMS0xMTwvRFJGXzI+PERSRl8zPjIwMjAtMTItMzE8L0RSRl8zPjxEUkZfND5UQ0ZBPC9EUkZfND48RFJGXzU+MTwvRFJGXzU+PERSRl82PjUwMDAwMDA8L0RSRl82PjwvRFJGPjxNRVA+PE1FUF8xPjEwPC9NRVBfMT48TUVQXzI+MTwvTUVQXzI+PE1FUF8zPjIwMjAtMDQtMzA8L01FUF8zPjwvTUVQPjxJVEU+PElURV8xPjE8L0lURV8xPjxJVEVfMz4xLjAwPC9JVEVfMz48SVRFXzQ+OTQ8L0lURV80PjxJVEVfNT4yMDAwMC4wMDwvSVRFXzU+PElURV82PkNPUDwvSVRFXzY+PElURV83PjE5MDQ3LjYyPC9JVEVfNz48SVRFXzg+Q09QPC9JVEVfOD48SVRFXzExPlBST1RFQ1RPUkVTICBNVUxUSSBOT1MrSkFCT04gSU5USU1PIDExME1MPC9JVEVfMTE+PElURV8xNz4wODY0PC9JVEVfMTc+PElURV8xOT4yMDAwMC4wMDwvSVRFXzE5PjxJVEVfMjc+MS4wMDwvSVRFXzI3PjxJVEVfMjg+VU5EPC9JVEVfMjg+PElBRT48SUFFXzE+PC9JQUVfMT48SUFFXzI+PC9JQUVfMj48SUFFXzM+PC9JQUVfMz48SUFFXzQ+PC9JQUVfND48L0lBRT48L0lURT48SVRFPjxJVEVfMT4yPC9JVEVfMT48SVRFXzM+MS4wMDwvSVRFXzM+PElURV80Pjk0PC9JVEVfND48SVRFXzU+NjAwMC4wMDwvSVRFXzU+PElURV82PkNPUDwvSVRFXzY+PElURV83PjYwMDAuMDA8L0lURV83PjxJVEVfOD5DT1A8L0lURV84PjxJVEVfMTE+TEVDSEUgREUgTUFHTkVTSUEgUEhJTExJUFMgU1VTUEVOU0lPTiAxMjBNTDwvSVRFXzExPjxJVEVfMTc+MDcyNDwvSVRFXzE3PjxJVEVfMTk+NjAwMC4wMDwvSVRFXzE5PjxJVEVfMjc+MS4wMDwvSVRFXzI3PjxJVEVfMjg+VU5EPC9JVEVfMjg+PElBRT48SUFFXzE+PC9JQUVfMT48SUFFXzI+PC9JQUVfMj48SUFFXzM+PC9JQUVfMz48SUFFXzQ+PC9JQUVfND48L0lBRT48L0lURT48L0ZBQ1RVUkE+</ns:FtechAction.uploadInvoiceFile></soapenv:Body></soapenv:Envelope>
//----------------------------------------
Mil gracias por la ayuda que me puedan prestar