HowTo: Consume a Rest Data Provider

Official Content
This documentation is valid for:

This document explains how to call a Data Provider (DP) exposed as Rest web services in GeneXus.

First, let's see the basic guidelines:

1. How are the Rest services called in GeneXus?

Use the HttpClient data type.

2. Which HTTP method is used to call the Rest Data Provider?

The HTTP method used for calling the Data Provider is the HTTP GET verb.

3. Which is the URL format to execute the GET verb?

<ServerUrl>/<module>/<DP name>?<param1>=<value1>&<param2>=<value2>,..,<paramN>=<valueN>


      Are the parameters of the DP. The parameters should be separated by &.


Consider the Invoice Business Component transaction, which looks as follows:


A DP (called "DPCaso20") has been created, whose Data Provider Output is the Invoice BC. Also, it's exposed as a Rest service as shown below:


The DP has the following rule:

parm(in:&invoicedate,in:&CustomerId, in:&Customername);

The following code is used to call that Rest DP:

&httpclient.Host= "server"
&httpclient.Port = 8080
&httpclient.BaseUrl = "BaseUrl"
& = 0

if &httpclient.StatusCode = 200
    &result = &httpclient.ToString()
   msg("Error: " + &httpclient.StatusCode.ToString())

Download the sample from Sample consuming a Rest DP


  • If the service URI is http://localhost/TestRESTFullGX.NetEnvironment/rest/Invoice, the BASE URL is: /TestRESTFullGX.NetEnvironment/rest/
  • In Java, the parameter name must be normalized (First Character must be uppercase, and all the others must be lowercase) , in this example: Invoicedate, Customerid and Customername. 
  • Error handling is managed by querying the HTTP Status Code after the invocation.

See Also

Rest web services in GeneXus

Note: GeneXus provides the OpenAPI import tool for consuming a Rest service, whether it's been generated by GeneXus or not.