// send a soap request responsefile = posturl("http://www.myserver.com/somewebservice.aspx", ; 30, ; array("type" => "Content-Type: application/soap+xml", "host" => "Host: localhost"), ; "requestdata.xml","response.xml") // submit a form response = posturl("http://www.myserver.com/someformsubmission.rsp", ; 30, ; array("type" => "Content-Type: application/x-www-form-urlencoded"), ; "name=barry&product=lianja") if len(response) = 0 // no data was returned endif
https://www.lianja.com/doc/index.php/POSTURL()
filename = geturl("http://www.myserver.com/getsomepage.rsp?name=smith&month=10", 30, array(), "myfilename.json") if len(filename) = 0 // no data was returned endif
https://www.lianja.com/doc/index.php/GETURL()
So while an App is running, from another App you can query it e.g.:
result = getURL("http://localhost:8002/desktopwebservice/library:/dws_getinfo?customerid=ALFKI")
The web service name follows /desktopwebservice/ in the URL and is a normal program or proc. In this case we have a script named dws_getinfo. It is good practice to name these consistently and place them in the library directory. We recommend prefixing your desktop web services with dws_.
// In this example, the URL will contain "/desktopwebservice/library:/dws_getinfo" and args will contain "customerid=ALFKI" // dws_getInfo.prg in the library directory private p_url private p_arg private p_args = explode("&", p_arg) private p_customerid = getMember("p_args", "customerid", "") return "{'url': '&p_url, 'customerid': '&p_customerid'}"
Your service may return a JSON encoded object (as shown above), an XML string, an HTML string or plain text.
If the result returned starts with “file:” then the file specified e.g. “file:mytempfile.txt” is read and the result is sent back to the client. This provides the ability to query large amounts of information not limited by internal string length.
If the result returned starts with “tempfile:” then the file specified e.g. “tempfile:mytempfile.txt” is read and the result is sent back to the client. The file mytempfile.txt is then deleted.
Notice that in the example above no file extension was given to dws_getinfo so “.prg” (Lianja/VFP script) is assumed. You could also specify:
result = getUrl("http://localhost:8002/desktopwebservice/library:/dws_getinfo.js?customerid=ALFKI")
or
result = getUrl("http://localhost:8002/desktopwebservice/library:/dws_getinfo.php?customerid=ALFKI")
or
result = getUrl("http://localhost:8002/desktopwebservice/library:/dws_getinfo.py?customerid=ALFKI")
or
result = getUrl("http://localhost:8002/desktopwebservice/library:/dws_getinfo.rsp?customerid=ALFKI")
or
result = getUrl("http://localhost:8002/desktopwebservice/library:/dws_getinfo.jssp?customerid=ALFKI")
https://www.lianja.com/doc/index.php/Embedded_HTTP_Server
getUrl() and postUrl()
You can use the GETURL() built-in function to talk with HTTP web servers and fetch data provided by web services.
filename = geturl("http://www.myserver.com/getsomepage.rsp?name=smith&month=10", 30, array(), "myfilename.json") if len(filename) = 0 // no data was returned endif
You can use the POSTURL() built-in function to send an HTTP POST request to the specified URI.
// send a soap request responsefile = posturl("http://www.myserver.com/somewebservice.aspx", ; 30, ; array("type" => "Content-Type: application/soap+xml", "host" => "Host: localhost"), ; "requestdata.xml","response.xml") // submit a form response = posturl("http://www.myserver.com/someformsubmission.rsp", ; 30, ; array("type" => "Content-Type: application/x-www-form-urlencoded"), ; "name=barry&product=lianja") if len(response) = 0 // no data was returned endif
https://www.lianja.com/doc/index.php/Web_Integration