ここでは、
GeneXus で REST Web サービスとして公開されている
データプロバイダー (DP) を呼び出す方法について説明します。
最初に、基本的な手引きを示します:
HttpClient データタイプを使用します。
データプロバイダーの呼び出しに使用する HTTP メソッドは HTTP の GET 動詞です。
<ServerUrl>/<モジュール>/<DP 名>?<パラメーター 1>=<値 1>&<パラメーター 2>=<値 2>,..,<パラメーター N>=<値 N>
入力値の説明:
<パラメーター 1>、<パラメーター 2>、..、<パラメーター N>
DP のパラメーターです。各パラメーターは & で区切ります。
以下に示す Invoice ビジネスコンポーネントのトランザクションを想定します:
DP (「DPCaso20」) を作成し、Data Provider の
[ Output ] プロパティを Invoice BC に設定しました。また、以下に示すように、これは REST サービスとして公開されています:
DP には次のルールがあります:
parm(in:&invoicedate,in:&CustomerId, in:&Customername);
その REST DP を呼び出すには次のコードを使用します:
//http://server:8080/BaseUrl/rest/DPCaso20?Invoicedate=2013-11-14&Customerid=1&Customername=Francisco
&httpclient.Host= "server"
&httpclient.Port = 8080
&httpclient.BaseUrl = "BaseUrl"
&httpclient.secure = 0
&httpclient.Execute('GET','DPCaso20?Invoicedate=2013-11-14&Customerid=1&Customername=Francisco')
if &httpclient.StatusCode = 200
&result = &httpclient.ToString()
else
msg("Error: " + &httpclient.StatusCode.ToString())
endif
このサンプルは「
File:Sample consuming a Rest DP」からダウンロードできます。
- サービス URI が http://localhost/TestRESTFullGX.NetEnvironment/rest/Invoice の場合、ベース URL は次のようになります: /TestRESTFullGX.NetEnvironment/rest/
-
Java では、パラメーター名は正規化する (最初の文字を大文字にし、その他の文字を小文字にする) 必要があります。この例では次のようになります: Invoicedate、Customerid、Customername
- 呼び出し後、エラー処理を管理するために、HTTP ステータスコードのクエリが行われます。
GeneXus の REST Web サービス
注: GeneXus では、GeneXus で生成されたかどうかにかかわらず、Rest サービスを消費するための
OpenAPI インポートツールが提供されています。