Power Builder - Enviar Parámetros a la web y Capturar Respuesta

 
Vista:

Enviar Parámetros a la web y Capturar Respuesta

Publicado por Julio Cesar (86 intervenciones) el 26/01/2011 16:54:48
Estimados necesito saber, cómo hacer para enviar variables capturadas desde un scrip, luego las concateno y envío a la web a una dirección ip con su puerto asociado, esta dirección debe validar la información que le envío, y luego me responde esta dirección con un resultado, el cual yo debo capturar e interpretar su significado
Ej.
String a,b,c, envio_resultado, recibo_respuesta
a= ‘saldo’
b = ‘125000’
c = ‘abc123’
envio_resultado = a+b+c

1.0 Como envío a la web?

2.0 Como capturo la información que me llega de respuesta desde la dirección web ?

De ante manos muchas gracias por su valiosa ayuda

Julio Cesar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Enviar Parámetros a la web y Capturar Respuesta

Publicado por Julio Cesar (86 intervenciones) el 04/02/2011 19:56:14
Estimados,
Al parecer estoy solicitando algo imposible de hacer ?

Si es asi favor comentar, necesito solucionar este problema, no se como se puede hacer?

Gracias por su cooperacion

Julio Cesar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 37
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

RE:Enviar Parámetros a la web y Capturar Respuesta

Publicado por JeinnerH (646 intervenciones) el 05/02/2011 00:02:49
Julio, no creo que esto sea imposible de lograr. Para esto existe un servicio, el cual no recuerdo su nombre en este momento. Pero la idea es enviar XMLS de un lado para otro.

Pero otra opción que podrías intentar sería poner en medio de cada proceso o ventana una base de datos común que se encargue de comunicar los parámetros de cada proceso.

Algo como que el proceso principal coloque una dirección IP en la base de datos y los parámetros.

Por otro lado el otro proceso se encargue de estar consultando la BD por su direcció IP, si la encuenta, procesa los parámetros y pone el resultado, con la dirección IP del proceso padre. Para que el padre reciba los parámetros de respuesta.

Es una forma de hacerlo de otra manera.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Enviar Parámetros a la web y Capturar Respuesta

Publicado por pablo (28 intervenciones) el 07/02/2011 12:35:44
quizas esto te ayude compadre

crear un nuevo userobject de la clase standard class internetresult, llamalo n_cst_internet.
Declara esta variable de instancia

string is_data
con ese userobject , tienes que sobrecargar la funcion internetdata (que sera llamada por el PB VM automaticament). el tipo de resultado es integer y el parametro es un blob.

[integer internetdata(blob data)]

is_data = string(data)
RETURN 1
NOTA : como PB10 es unicode ( version previas eran ansi), necesitaras especificar que ese resultado tenga caracteres ANSI y no el predeterminado Unicode.
[integer internetdata(blob data)]

is_data = String(data, EncodingANSI!)
RETURN 1

LUEGO EN TU SCRIPT

integer li_rc
inet linet_main
n_cst_internet luo_data // COMO DEFINI ARRIBA

linet_main = CREATE inet
luo_data = CREATE n_cst_internet

SetPointer(HourGlass!)
li_rc = &
linet_main.GetURL("http://www.rgagnon.com/gracias.html", luo_data)
SetPointer(Arrow!)
IF li_rc = 1 THEN
MessageBox("Data from la web", luo_data.is_data)
ELSE
MessageBox("Data from web", "Oops rc:" + string(li_rc))
END IF

DESTROY luo_data
DESTROY linet_main

enviara data quizas es un poquito mas enredado.tendras que colocar todos los encabezados.
string httprequest,ls_header
String ls_url,ls_headers
long ll_ret
long ll_length
Blob lblb_args
inet linet_main
n_cst_internet luo_data

linet_main = CREATE inet

luo_data = CREATE n_cst_internet

ls_url = "http://localhost/mypage.jsp"
lblb_args = blob("foo=bar")
ll_length = Len(lblb_args)
ls_headers = "Content-Type: " + &
"application/x-www-form-urlencoded~n" + &
"Content-Length: " + String( ll_length ) + "~n~n"
ll_ret = libet_main.PostURL(ls_url,lblb_args,ls_headers,8080,luo_data)
como PB10 usa Unicode para formatear caracteres, el codigo diseñado para PB9 (que es Ansi) con la funcion PostURL quizas no funcione. la solucion es simple, especifica Ansi en la funcion Blob .

lblb_args = Blob("foo=bar", EncodingAnsi!)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Enviar Parámetros a la web y Capturar Respuesta

Publicado por Julio Cesar (86 intervenciones) el 16/02/2011 16:37:12
Muchas gracias,

Para las personas que me entregan ayuda al respecto, tratare de hacer estas opciones y veré como me va con ellas

Un afectuoso saludo

Julio Cesar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Enviar Parámetros a la web y Capturar Respuesta

Publicado por milton (1 intervención) el 04/09/2015 23:47:41
Estimado;

Llegaste a solucionar el caso? Por favor compartir la solución.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar