組み込み HTTP コンポーネント
InterSystems IRIS には、HTTP アダプタを使用する組み込みビジネス・ホストが用意されています。これを使用すると、カスタムのビジネス・サービスやビジネス・オペレーションを作成せずに、プロダクションに HTTP サポートを追加できます。HTTP 受信アダプタを使用するビジネス・サービスが必要な場合は、プロダクションに EnsLib.HTTP.GenericServiceOpens in a new tab を追加します。同様に、HTTP 送信アダプタの活用を必要とするプロダクションでは、EnsLib.HTTP.GenericOperationOpens in a new tab を使用できます。
InterSystems IRIS には、プロダクション全体に HTTP 要求または HTTP 応答を伝達するように設計されたメッセージ・クラスも用意されています。このメッセージ・クラス EnsLib.HTTP.GenericMessageOpens in a new tab には、HTTP 要求のヘッダと本文が記述されています。まったくの白紙から EnsLib.HTTP.GenericMessage を構築し、EnsLib.HTTP.GenericOperation を使用してそれを送信する方が有利な場合もあります。このプロセスでは、本文を作成し、ヘッダを記述してから新しいメッセージを作成します。以下に例を示します。
// Build the header
#dim tRESTHTTPHeaders
Set tRESTHTTPHeaders("HttpRequest")="POST"
Set tRESTHTTPHeaders("HTTPVersion")="1.1"
// Build the body
#dim tPOSTStream = ##class(%Stream.GlobalCharacter).%New()
#dim tPOSTJSON = {}
Set tPOSTJSON.projection = []
Do tPOSTJSON.projection.%Push("%Doc")
Do tPOSTJSON.%ToJSON(.tPOSTStream)
// Add more headers
Set tRESTHTTPHeaders("content-length") = tPOSTStream.Size
Set tRESTHTTPHeaders("content-type") = "application/json"
// Create message
Return ##class(EnsLib.HTTP.GenericMessage).%New(tPOSTStream,,.tRESTHTTPHeaders)