Crear WebService con Velneo

Hola:
Estoy intentando crear desde Velneo una especie de Webservice. Creo un proceso con acceso remoto y escribiendo por ejemplo desde el navegador: http://localhost/VelneoWeb/pedidos.pro?PEDIDO=23&CLIENTE=Juan
Recibo en las variables PEDIDO y CLIENTE los valores indicados.
Ahora quiero pasar a una variable CONTENIDOXML el contenido de un fichero XML por ejemplo el siguiente poniendo:

http://localhost/VelneoWeb/pedidos.pro?CONTENIDOXML=<stockrequest
date=“29/08/2019 18:00” id=“923475-9028374-5908-2375” action=“check”


















pero no funciona a menos que quite los signos <

Si fuera yo quien enviara el texto los podría quitar pero es un tercero el que necesita conectarse a mi “WebServer” por llamarlo de alguna manera.

Es posible esto que quiero hacerlo con Velneo?

Hola rpaton.

Ya te imaginarás que en la URL de una consulta Web no puedes enviar lo que quieras, existen unas normas de codificación (y de longitud) para poder transmitir información a través de una consulta Get HTTP.

Consulta la tabla de codificación en https://www.w3schools.com/tags/ref_urlencode.asp.

En javascript tienes las funciones encodeURIComponent y encodeURI para estos menesteres.

Saludos
Paco Satué

Hola Paco:

Utilizo el siguiente código para enviar un POST:

importClass(“XMLHttpRequest”);
var url=‘http://localhost/velneoWeb/vbytearray2xml.pro’;
var xhr = new XMLHttpRequest();
xhr.open(“POST”, url, false);
xhr.setRequestHeader(‘Content-Type’, ‘text/xml’);
xhr.send(“Hola”);

alert(xhr.response);

Y esto es lo que hay en vbytearray2xml.pro que es un proceso accesible por web en javascrip para retomar una respuesta al que hace el POST:

importClass( “VRequest” );
importClass( “VResponse” );

var uriBody = “”;

var uriBody = theRequest.body();

var Respu = theResponse.setBody( “jjjjjjjjj” );

return Respu ;

pero no llega respuesta a xhr.response

¿Qué puedo estar haciendo mal?

Saludos.

Ricardo Patòn

Hola:

 Ya he encontrado el error:

 Con el siguiente código ya recibo respuesta:

importClass( “VRequest” );
importClass( “VResponse” );
var uriBody = “”;
var uriBody = theRequest.body();
theResponse.setBody( uriBody );
var Respu = theResponse.body();

return Respu ;

Saludos.

Ricardo Patón