Ejecutar un EXE y esperar a que termine


([N1] leonardo daniel velazquez fuentes) #1

Hola a todos, pues resulta que aquel webservice que les platique no puede ser accesido via XMLRequest por el tema de los arrays…, asi que me dijeron haz un programita en .net…

hace mucho tiempo desarrolle en PowerBuilder una aplicacion que necesitaba importar unos DBF’s… pero esos DBF’s traian algo de basura, asi que habia que limpiarlos, y escribi un programita en VFox que abria cada tabla y la iba limpiando, cuando ejecutaba ese EXE al usuario de PB le aparecia una ventana de espere y se iban marcando con palomita las tablas que ya estaban limpias, terminaba y regresaba al sistema en PowerBuilder… esa funcionalidad se consiguio con la API de windows, especificamente con shell32.dll y kernel32.dll…

Es esto posible en Velneo, sin tanto rollo ???

Declaracion de funciones externas en PB, contienen estructuras de datos y variables para su uso interno

Function Boolean CreateProcess ( String lpApplicationName, String lpCommandLine, &
	long lpProcessAttributes, long lpThreadAttributes, Boolean bInheritHandles, &
	long dwCreationFlags, long lpEnvironment, String lpCurrentDirectory, &
	STARTUPINFO lpStartupInfo, Ref PROCESS_INFORMATION lpProcessInformation &
	) Library "kernel32.dll" Alias For "CreateProcessW"
	
Function long WaitForSingleObject ( long hHandle, long dwMilliseconds ) Library "kernel32.dll"

Function Boolean CloseHandle ( long hObject ) Library "kernel32.dll"

Function Boolean GetExitCodeProcess ( long hProcess, Ref long lpExitCode ) Library "kernel32.dll"

Function Boolean TerminateProcess ( long hProcess, long uExitCode ) Library "kernel32.dll"
	
Function boolean ShellExecuteEx ( Ref SHELLEXECUTEINFO lpExecInfo ) &
      Library "shell32.dll" Alias For "ShellExecuteExW"

([N3] pacosatu) #2

Hola leonardo daniel velazquez fuentes.

Primero una cuestión ¿Qué tiene que ver XMLRequest con los arrays de XML?
Yo no soy experto en XML y mucho menos en serializar arrays, pero creo que el problema está en cómo construir, serializar y/o codificar el string XML que debemos enviar mediante un REQUEST HTTP.

Me gustaría saber la razón que te han dado para necesitar hacerlo con .NET. Nos servirá a los demás para futuros proyectos.

En segundo lugar, en Velneo existe el comando “Lanzar aplicación” con la posibilidad de hacerlo síncrono o asíncrono mediante el primer parámetro.

Saludos
Paco Satué


([N1] leonardo daniel velazquez fuentes) #3

Paco me podrias pasar tu correo para enviarte la informacion y veas tu mismo el WSDL y en promiles no me supieron dar respuesta a enviar varias ciudades por donde pasara el viaje, los ejemplos que tienen ahi son en .net y es un arreglo ke se mete al objeto viaje, estuve probando con RestInSoap y hay un metodo sencillo donde metes el estado y te trae las localidades, dependiente del segundo parametro, paradas en ciudades, paradas en areas de descanso, y otra mas… ademas de enviar los datos de la cuenta, pass, cia. y responde perfecto, pero no me han podido explicar como serializar 2 o mas ciudades en el XMLRequest…

[quote quote=43821]Hola leonardo daniel velazquez fuentes.

Primero una cuestión ¿Qué tiene que ver XMLRequest con los arrays de XML?
Yo no soy experto en XML y mucho menos en serializar arrays, pero creo que el problema está en cómo construir, serializar y/o codificar el string XML que debemos enviar mediante un REQUEST HTTP.

Me gustaría saber la razón que te han dado para necesitar hacerlo con .NET. Nos servirá a los demás para futuros proyectos.

En segundo lugar, en Velneo existe el comando “Lanzar aplicación” con la posibilidad de hacerlo síncrono o asíncrono mediante el primer parámetro.

Saludos
Paco Satué

[/quote]

([N3] pacosatu) #4

Hola leonardo daniel velazquez fuentes.

Ya te he dicho que mi experiencia en webservices es poca y menos con Soap xml. No puedo ayudarte en este tema.
La clave está en los puntos indicados por Jorge al final del hilo anterior sobre este tema.

Con .NET se automatiza la conexión con el Webservice porque dispone de una bateria de clases para hacerlo.
En Velneo tenemos que construir todo manualmente porque no disponemos de herramientas avanzadas para abstraernos de la complejidad de las conexiones Internet.

Pero al final, el resultado debe ser el mismo con Velneo que con .Net, enviar un XML bien formado y válido.

Saludos
Paco Satué


([N4] eduarchap) #5

Buenas noches…

Pues desde la v7.16 que necesite realizar este proyecto de consumir webservice con SOAP, y por gusto propio, me oriente y apoye en PHP y hasta el momento sigo utilizandolo, mientras logro completar todo el proceso con la nueva clase de la 7.18.

En conclusion, yo lo logre con PHP


([N1] leonardo daniel velazquez fuentes) #6

Hola, como comente en algunos de mis Posts sobre el tema, el webservice es de renta, especificamente para el trazado de rutas de camiones de transportes en EU, y la documentacion del httpxmlrequest es practicamente nula y de risa, y lo digo viniendo de una herramienta como Adobe Flex en la cual podria mandadar llamar webservices escritos en java, php, .net y podia recoger el XML generado y leerlo de manera natural, incluso como objetos array, pero bueno, eso es tema aparte…

y no puedo montar yo un miniservidor web, ya que ese no es el objetivo de la aplicacion, eh optado por llamar a un exe .net el cual consume el webservice y guardara los datos en una B.D. SQLite encuanto termine la ejecucion fuera de velneo, volvera a Velneo, leera esa B.D. e insertara la informacion en la B.D. de Velneo, para podesteriormente intentar trazar la ruta en un mapa google ( me falta x ver esa parte )

[quote quote=44583]Buenas noches…

Pues desde la v7.16 que necesite realizar este proyecto de consumir webservice con SOAP, y por gusto propio, me oriente y apoye en PHP y hasta el momento sigo utilizandolo, mientras logro completar todo el proceso con la nueva clase de la 7.18.

En conclusion, yo lo logre con PHP

[/quote]

([N4] arturomiranda) #7

Hola leonardo, xmlhttprequest, es completamente capaz de consumir webservice de tipo SOAP, solo hay que ver como te piden la peticion, si necesitas asesoria en webservices te puedo apoyar con mucho gusto, mi correo es: arturomiranda@gmail.com

saludos


([N1] leonardo daniel velazquez fuentes) #8

Hola Arturo, de hecho si logre consumir el webservice, pero es una verdadera pesadilla extraer los datos del xml para guardarlos en velneo

[quote quote=44615]Hola leonardo, xmlhttprequest, es completamente capaz de consumir webservice de tipo SOAP, solo hay que ver como te piden la peticion, si necesitas asesoria en webservices te puedo apoyar con mucho gusto, mi correo es: arturomiranda@gmail.com

saludos

[/quote]

([N3] pacosatu) #9

Hola.

Lo que tiene que quedar claro es que con la aparición de la clase xmlHttpRequest el consumo de webservices ha dejado de ser un problema con Velneo y en la mayoría de los casos es un juego de niños.

El API REST de Mailchimp en su versión 3.0, es un buen ejemplo de cómo hacer bien las cosas. El JSON se puede gestionar fácilmente con el javascript del API de Velneo.

El éxito o fracaso de un proyecto va a depender mucho de la calidad del API del webservice y poco podrá hacer Velneo para cambiarlo.

Otro tema distinto es el XML y/o SOAP, que complica bastante el parseo de información, sobre todo con estructuras complejas y mucho volumen de información.

Sería muy interesante que los que estéis desarrollando aplicaciones con gestión de XML pusiérais algún ejemplo de lectura/escritura de XML, con las únicas herramientas que tenemos en Velneo, las clases VXmlReader y VXmlWriter.

Saludos
Paco Satué


([N2] admincv) #10

Buenas tardes,

PAra los nuevos programadores de velneo (donde me incluyo), me gustaría saber si existen nuevos blogs, con nueva información referente a estos temas. Porque cada vez que busco ayuda sobre un tema específico, me encuentro este tipo de blogs con puntos de vista de versiones anteriores de velneo.

Esepro comentarios, Gracias.


([N3] pacosatu) #11

Hola admincv.

Explícate mejor.
Si buscas un Blog de Velneo, éstos se cuentan con los dedos de una mano.
Si buscas un Foro de Velneo V7, éste es el único a día de hoy.

Saludos
Paco Satué