Request-Response データ・ハンドラーは、次のようにしてメタオブジェクトの階層から構成プロパティーを受け取ります。
親メタオブジェクトに含まれる MIME タイプは、サポートされる MIME タイプと、それをサポートするデータ・ハンドラーを示します。提供されるトップレベルのメタオブジェクトには、Request-Response データ・ハンドラーの入力は組み込まれていません。コネクターまたはアクセス・クライアントで Request-Response データ・ハンドラーを使用するには、text/requestresponse MIME タイプの属性をトップレベルのメタオブジェクト MO_Server_DataHandler または MO_DataHandler_Default に追加する必要があります。この属性は、タイプ MO_DataHandler_DefaultRequestResponseConfig である 必要があります。
次のビジネス・オブジェクト定義のフラグメントは、text/requestresponse 属性 の定義を示しています。
[Attribute] Name = text.requestresponse Type = MO_DataHandler_DefaultRequestResponseConfig ContainedObjectVersion = 1.0.0 Relationship = Containment Cardinality = 1 MaxLength = 1 IsKey = false IsForeignKey = false IsRequired = false IsRequiredServerBound = false [End]
Request-Response データ・ハンドラーを構成するには、その構成情報が Request-Response 子メタオブジェクトとして提供されることを確認する必要があります。
Request-Response データ・ハンドラー向けに、IBM
からデフォルト子メタオブジェクト
MO_DataHandler_DefaultRequestResponseConfig が提供されています。
このメタオブジェクトの各属性は、Request-Response
データ・ハンドラーの構成プロパティーを定義しています。表 34
で、この子メタオブジェクト内の属性について説明します。
表 34. Request-Response データ・ハンドラーの子メタオブジェクト属性
属性名 | 説明 | 納入時のデフォルト値 |
---|---|---|
BOPrefix | トップレベル・ビジネス・オブジェクト名を作成するために、デフォルトの NameHandler クラスで使用されるプレフィックス。デフォルト値は、関連するビジネス・オブジェクト定義の名前に一致するよう変更する必要があります。属性値は大文字小文字を区別します。 | REQUESTTEST |
ClassName | 指定された MIME タイプで使用するためにロードするデータ・ハンドラー・クラスの名前。トップレベルのデータ・ハンドラー・メタオブジェクトは、属性の名前が指定された MIME タイプと一致し、そのタイプが Request-Response 子メタオブジェクトである必要があります (この表で説明しています)。 | com.crossworlds. DataHandlers.text. requestresponse |
NameHandlerClass | 要求文書の内容からトップレベル・ビジネス・オブジェクトの名前を決定するために用いるネーム・ハンドラー・クラスの名前。独自のカスタム・ネーム・ハンドラーを作成する場合は、この属性のデフォルト値を変更します。詳細については、カスタム XML ネーム・ハンドラーの作成を参照してください。 | com. crossworlds. DataHandlers.xml. TopElementNameHandler |
RequestDataHandlerMimeType | このデータ・ハンドラーによって処理される要求の MIME タイプ。Request-Response データ・ハンドラー はこの MIME タイプを使用して、要求ビジネス・オブジェクトや要求文書の処理用にインスタンスを生成するデータ・ハンドラーを決定します。 | text/xml |
ResponseDataHandlerMimeType | このデータ・ハンドラーによって処理される応答の MIME タイプ。Request-Response データ・ハンドラー はこの MIME タイプを使用して、応答ビジネス・オブジェクトや応答文書の処理用にインスタンスを生成するデータ・ハンドラーを決定します。 | text/xml |
ObjectEventId | プレースホルダー。データ・ハンドラーは使用しませんが、ビジネス・インテグレーション・システムで必要です。 | なし |
表 34 の「納入時のデフォルト値」列には、納入時のビジネス・オブジェクトの対応する属性の Default Value プロパティーの値がリストされています。使用する環境を調べてこれらの属性の Default Value プロパティーに適切な値を設定する必要があります。少なくとも ClassName と BOPrefix 属性にはデフォルト値が設定されている必要があります。
MO_DataHandler_DefaultRequestResponseConfig 子メタオブジェクトを作成するには、Business Object Designer Express を使用して次のフォーマットのビジネス・ オブジェクト定義を作成します。
[BusinessObjectDefinition] Name = MO_DataHandler_DefaultRequestResponseConfig Version = 1.0.0
[Attribute] Name = ClassName Type = String Cardinality = 1 MaxLength = 255 IsKey = false IsForeignKey = false IsRequired = false DefaultValue = com.crossworlds.DataHandlers.text.requestresponse IsRequiredServerBound = false [End]
[Attribute] Name = NameHandlerClass Type = String MaxLength = 255 IsKey = false IsForeignKey = false IsRequired = false IsRequiredServerBound = false [End]
[Attribute] Name = RequestDataHandlerMimeType Type = String MaxLength = 255 IsKey = false IsForeignKey = false IsRequired = false DefaultValue = text/xml IsRequiredServerBound = false [End]
[Attribute] Name = ResponseDataHandlerMimeType Type = String MaxLength = 255 IsKey = false IsForeignKey = false IsRequired = false DefaultValue = text/xml IsRequiredServerBound = false [End]
[Attribute] Name = BOPrefix Type = String MaxLength = 255 IsKey = false IsForeignKey = false IsRequired = false DefaultValue = Wrapper IsRequiredServerBound = false [End]
[Attribute] Name = DummyKey Type = String MaxLength = 1 IsKey = true IsForeignKey = false IsRequired = false DefaultValue = 1 IsRequiredServerBound = false [End]
[Attribute] Name = ObjectEventId Type = String Cardinality = 1 MaxLength = 255 IsKey = false IsForeignKey = false IsRequired = false IsRequiredServerBound = false [End]
[Verb] Name = Create [End]
[Verb] Name = Delete [End]
[Verb] Name = Retrieve [End]
[Verb] Name = Update [End] [End]
この子メタオブジェクト・ファイルの格納場所については、データ・ハンドラーの構成を参照してください。