Article

Is there an HTTP client for OpenEdge?

« Go Back

Information

 
Article Number000060873
EnvironmentProduct: OpenEdge
Version: 11.5.1, 11.6, 11.7.x
OS: All supported platforms
Other: HTTP client
Question/Problem Description
Is there an HTTP client for OpenEdge ?
Is there a REST client for OpenEdge ?
How to call a REST Service from an OpenEdge client.
How to communicate with an HTTP server using the OpenEdge client.
Is there a way to consume a REST Service from an ABL/4GL character based application?
ABL Client to Consume REST Web Service
ABL Client to Consume REST WebService
How to make a HTTP call from an OpenEdge ABL client with authentication?
How to make a HTTP GET request using SSL from an ABL client?
How to use ABL API to call / consume REST services?
Is there an ABL API to interact with http server / services?
Could not find class or interface OpenEdge.Net.URI. (12886)
 

 

Steps to Reproduce
Clarifying Information
Error MessageCould not find class or interface OpenEdge.Net.URI. (12886)
Defect/Enhancement Number
Cause
Resolution
An official HTTP / REST client has been introduced in OpenEdge 11.5.1 and allows making HTTP(S) requests from ABL applications.
The HTTP client is installed with all client run-time (GUI, TTY, batch and AppServer) and development products as the OpenEdge.Net.pl procedure library. 

For details, see the "References to Other Documentation" below.

Progress Development has provided a code example on github, which has been attached to this Article: get_applications.p
https://github.com/PeterJudge-PSC/http_samples/blob/master/http_client/pasoe_rest_api/get_applications.p
Workaround
Customers on OpenEdge versions between 10.2x and 11.5 could use the .NET HttpClient. However, unlike the ABL HTTP Client, this code can only be used on Windows platforms.
 
USING System.*. 

DEFINE VARIABLE HttpClient AS CLASS System.Net.WebClient. 
DEFINE VARIABLE webResponse AS LONGCHAR NO-UNDO. 
FIX-CODEPAGE (webResponse) = "UTF-8". 

HttpClient = NEW System.Net.WebClient(). 
HttpClient:Proxy:Credentials = System.Net.CredentialCache:DefaultNetworkCredentials. 

webResponse = HttpClient:DownloadString("https://api.trade.gov/consolidated_screening_list/search?api_key=yourAPIKey&q=chemical"). 

HttpClient:Dispose(). 
DELETE OBJECT HttpClient. 

MESSAGE STRING(webResponse) VIEW-AS ALERT-BOX.
Notes
Progress Article(s):

000061983, Error 12886 when running a HTTP request from an ABL application

References to Other Documentation:

OpenEdge 11.5.1: New Information, Chapter 12. "Making HTTP(S) requests from ABL applications"
This documentation for the OpenEdge ABL HTTP Client libraries is located at the following location: https://documentation.progress.com/output/oehttpclient/index.html



OpenEdge 11.6: https://documentation.progress.com/output/ua/OpenEdge_latest/index.html#page/dvpin/making-http(s)-requests-from-abl-applications.html

PUG Challenge Exhange Americas: The world is your oyster. Calling REST services from ABL, http://pugchallenge.org/downloads2015/410_The_world_is_your_oyster_REST_Out.pdf
Last Modified Date8/29/2018 12:32 PM


Feedback
 
Did this article resolve your question/issue?

   

Your feedback is appreciated.

Please tell us how we can make this article more useful. Please provide us a way to contact you, should we need clarification on the feedback provided or if you need further assistance.

Characters Remaining: 1025