オブジェクトの呼び出し方法と、その出力を定義します。
Command Line | オブジェクトをコマンドラインでのみ実行できるようにします。コマンドラインでオブジェクトを呼び出す際にサポートされる入力パラメーターは、Bitmap および GUID データタイプを除く基本データタイプ (コレクション、ベクトル、マトリックスは不可) です。出力パラメーターはサポートされていません。 |
Enterprise Java Bean | 選択されたジェネレーターが Java の場合、プロシージャー、データプロバイダー、およびビジネス コンポーネント トランザクションのプロパティにこの値を使用できます。この値を設定すると、オブジェクトは自動的にセッション Bean (ステートレス) およびメッセージ駆動型 Bean として実装されます。 |
HTTP | HTTP プロトコルで呼び出し可能なオブジェクトを生成します。また、HttpResponse データタイプを使用して HTTP 応答に情報を追加できます。 |
Internal | GeneXus でオブジェクトに使用する通常のコールタイプです。これが既定値です。 |
SOAP | SOAP プロトコルを介して呼び出されるオブジェクトを生成します。これは、HTTP タイプの特殊なケースです。これらのオブジェクトは Web サービスと呼ばれます。 |
オブジェクト: Data Provider、
Procedure、
Transactionジェネレーター: Java、
.NET、
.NET Core
入力パラメーター: パラメーターは、各ジェネレーターの通常のメカニズムによってインスタンス化されます。
出力パラメーター: パラメーターは、各ジェネレーターの通常のメカニズムを通じて返されます。
入力パラメーター: パラメーターは URL で疑問符 (?) の後に挿入され、HTTP を通じてオブジェクトを呼び出すのに使用されます。
出力パラメーター: パラメーターは返されません。
出力: HTTP 応答のコンテンツです。
コマンドラインの制限はオペレーティングシステムによって大きく異なります。例として次のものがあります: Linux / UNIX / BSD。
入力パラメーター: 実行ファイル名の後にスペース区切りでパラメーターを続けます。
出力パラメーター: パラメーターは返されません。
出力: 標準出力です。
入力パラメーター: パラメーターは、呼び出しで使用される HTTP リクエストの Body に含まれます。
出力パラメーター: HTTP 応答の Body で返されます。
出力: 出力は、Body に変更されたパラメーターを含む HTTP 応答です。
Call メソッドによってオブジェクトが呼び出された場合、セッション Bean が同期的に呼び出されます。
Submit メソッドによってオブジェクトが呼び出された場合、メッセージ駆動型 Bean が非同期的に呼び出されます。
Enterprise Java Bean は外部オブジェクトから呼び出すことができます。GeneXus プロシージャーを EJB として公開するには、
[ Expose as Enterprise Java Bean ] プロパティを設定する必要があります。オブジェクトの [
Call protocol ] プロパティが Enterprise Java Bean になっている場合、既定で GeneXus オブジェクトと外部オブジェクトから自動的に呼び出すことができます。外部オブジェクトに対してのみ公開し、GeneXus 内では共通のプロシージャーとして使用したい場合は、 [
Call protocol ] プロパティの値は Internal となり、
[ Expose as Enterprise Java Bean ] プロパティは True になります。
プロシージャーに既定 (Internal) 以外の出力を定義する場合、
[ Main program ] プロパティを既定値 (False) のままにしておき、プロシージャーの出力に応じて [
Call protocol ] プロパティを設定できます (SOAP、EJB、HTTP)。この利点として、
ナレッジベース内のメインオブジェクトの数を減らすことができます。
[ Main Program ] プロパティを True に設定する理由の 1 つは、
ナレッジベースのほかのオブジェクトのコールツリーにないオブジェクトをコンパイルできるようにすることです。
たとえば、同じナレッジベースのオブジェクトから Web サービス (SOAP) または Enterprise Java Bean としてオブジェクトを呼び出す場合、オブジェクトをメインプログラムとして設定する必要はなく、 [
Call protocol ] プロパティを対応する値に設定するだけです。
PDF レポートでも同じです。メインオブジェクトとして宣言する必要はありません。
同様に、Web サービスまたは Enterprise Java Bean をナレッジベースの外部から呼び出されるように公開するには、 [ Main program ] プロパティを構成する必要はありませんが、それぞれ
[ Expose as Web Service ] プロパティ、
[ Expose as Enterprise Java Bean ] プロパティを設定する必要があります。
注: コマンド ライン プロシージャーの場合は、
[ Main Program ] プロパティを必ず True に設定する必要があります。
プロシージャーの
[ Expose as Web Service ] プロパティが True で、 [
Call protocol ] プロパティの値が SOAP でない場合、GeneXus オブジェクトからの内部呼び出しは SOAP 経由ではなく内部で行われます。必要な場合は、 [
Call protocol ] プロパティを SOAP に設定してください。
重要: [ Call protocol ] が HTTP で、 [ SOAP Protocol ] が True のプロシージャーはサポートされていません。
このプロパティは設計時にのみ適用されます。
What is EJB
What is J2EE
HTTP プロトコルを使用してファイルをダウンロードする方法
HttpResponse データタイプ