Consumir un servicio web restful con VFP9

285 views
Skip to first unread message

Edwin Quijada

unread,
Nov 24, 2015, 5:28:33 PM11/24/15
to Comunidad de Visual Foxpro en Español
Hola!
Soy novato en VFP, nivel 0, y estoy tratando de de consumir un webservice restful por POST y parametros pero todos los ejemplos que he encontrado y hecho me dan problemas. Esto es lo que he estado tratando de hacer:


url="http://localhost:8080/cobranza/appws/ws/pruebafoxpro"
contentType ="text/XML"

*'1) Create reference to the WinHTTP request com object
 oWinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
 oWinHttp.SetTimeouts(30000,60000,30000,30000)
 postData = "id_parameter=4883_characters"
 
 
* '2) Open a HTTP connection to a HTTP resource
 oWinHttp.Open "POST", url, False
 
* '3) Add a HTTP request headers for endpoint and conent type
 oWinHttp.setRequestHeader "Content-Type", contentType     oWinHttp.setRequestHeader "SOAPAction", url
 
*'4) Send a HTTP request to the HTTP server with the header and body info
oWinHttp.Send
*restRequest

*'5) Get response
 response = oWinHttp.ResponseText
 
*'6) Close object reference
Set oWinHttp = Nothing

*'7) print the response
print response

Preguntas::
Fox me marca error en oWinHttp.Open "POST", url, False

- No se como pasarle los parametros , este recibe 2 parametros por POST

- Lo que devuelve es un objeto JSON supongo que solo es un string comun y corriente
 -Este fue un ejemplo que encontre pero no he podido ponerlo a funcionar

Cualquier sugerencia se los agradeceria

Hugo C.

unread,
Nov 24, 2015, 8:30:54 PM11/24/15
to Comunidad de Visual Foxpro en Español
Intenta cambiando estos comandos

* '2) Open a HTTP connection to a HTTP resource 
* oWinHttp.Open "POST", url, False

oWinHttp.Open("POST", url, .F.)

 
* '3) Add a HTTP request headers for endpoint and conent type
* oWinHttp.setRequestHeader "Content-Type", contentType     oWinHttp.setRequestHeader "SOAPAction", url

 oWinHttp.setRequestHeader("Content-Type", contentType)
 oWinHttp.setRequestHeader("SOAPAction", url)

 

*'5) Get response
 response = oWinHttp.ResponseText
 
*'6) Close object reference 
*Set oWinHttp = Nothing
oWinHttp = null

*'7) print the response
*print response
 ? response

Saludos
Reply all
Reply to author
Forward
0 new messages