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要求を非同期に実行します。

参照

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

テクニカルリファレンス

2018 - V14SP1