HttpRequestクラス (PRIM_WEB.HttpRequest)

HTTP要求

祖先 - オブジェクト (PRIM_OBJT)

詳細

HTTPRequest を使用すると、サードパーティの HTTP サービスにアクセスできるため、 LANSA を他の Web サービスと統合することができます。
 
HTTPRequest は事実上 JavaScript の標準 XMLHttpRequest です。
 
HTTPRequests は、実行するルーチン内で定義する必要があります。これにより、実行されるたびに新しいインスタンスが作成されます。Completed イベントと Failed イベントの対応するイベント・ルーチンは、同じルーチンでコーディングされています。
 
LANSA ランタイムは、完了するまでインスタンスを維持します。これにより、同じルーチンが何度も実行され、多くの要求が実行され、それぞれ独立して結果が生成されます。
 
HTTPRequest がグローバルスコープとして存在する場合、 1 つのインスタンスしか存在しません。
 
イベントは他の子イベントルーチンを持つことができないため、 HTTPRequest インスタンスを EVTROUTINE で定義することはできません。

この例では、 Weather API が非同期で実行され、データを JSON オブジェクトとして返します。
 
完了したイベントが発生すると、結果が処理されます。
Mthroutine Name(GetWeather) Access(*Private)
   Define_Map For(*Input) Class(#prim_alph) Name(#Resource)
 
   Define_Com Class(#PRIM_WEB.HttpRequest) Name(#Request)
 
   #Request.URL := "http://api.openweathermap.org" + #Resource
 
   #Request.ExecuteAsync
 
   Evtroutine Handling(#Request.Completed)
 
      If (#Request.Response *IsNot *null)
 
      Case (#Request.Response.Status)
      When (= 200)
 
         #Com_owner.Update( #Request.Response.JSON.RootItem )
 
 Otherwise
 
         #Com_owner.UpdateForFailure( #Request )
 
 Endcase
 
 Endif
 
 Endroutine
 
 Endroutine

プロパティ

名前記述
ComponentClassNameコンポーネントのクラス名です。 オブジェクト (PRIM_OBJT) より継承
ComponentMembersこのコンポーネントの全てにアクセスできるようにします。 オブジェクト (PRIM_OBJT) より継承
ComponentPatternNameコンポーネントのクラスを制限します。 オブジェクト (PRIM_OBJT) より継承
ComponentTagインスタンス用に値を格納できる汎用スペース オブジェクト (PRIM_OBJT) より継承
ComponentTypeComponentTypeではコンポーネントのタイプ情報にアクセスできます。 オブジェクト (PRIM_OBJT) より継承
ComponentTypeNameComponentTypeName十分適格なコンポーネントのクラス名です。 オブジェクト (PRIM_OBJT) より継承
ContentHTTP要求の内容
HeadersHTTPヘッダー
MethodGET、POSTなどの標準HTTP要求メソッド
Nameコンポーネントの名前 オブジェクト (PRIM_OBJT) より継承
Ownerコンポーネントのオーナーです。 オブジェクト (PRIM_OBJT) より継承
Parentこのインスタンスが添付されているコンポーネントインスタンス。コントロールのビジュアルコンテナまたは子インスタンスのコレクション オブジェクト (PRIM_OBJT) より継承
Response要求により返されたHTTP応答オブジェクトへの参照
Status標準HTTP要求のステータスコード
Timeout標準HTTP要求タイムアウト
Url要求のURL

イベント

名前記述
Completed処理の正常終了後HTTP要求が返された時に起動されます。
CreateInstanceコンポーネントを作成する時にCreateInstanceのイベントを実行します。 HttpRequestクラス (PRIM_WEB.HttpRequest) より継承
DestroyInstanceコンポーネントが解除される前にDestroyInstanceのイベントを実行します。 HttpRequestクラス (PRIM_WEB.HttpRequest) より継承
Failed処理の異常終了後HTTP要求が返された時に起動されます。

メソッド

名前記述
CancelHTTP要求をキャンセルします。
Execute要求を同期的に実行します。
ExecuteAsync要求を非同期に実行します。

参照

すべてのコンポーネント クラス

テクニカルリファレンス

EPC150060 - December 2023