5.2.1 メッセージ変換プラグインの動作
メッセージ変換プラグインは、SALTでサポートされるプラグインの1つで、SALTプラグイン・フレームワーク内に定義されています。すべてのメッセージ変換プラグイン・インスタンスには、同じプラグインID (P_CUSTOM_TYPE)があります。特定の各メッセージ変換プラグイン・インスタンスでは、SOAPメッセージ・ペイロードをOracle Tuxedoバッファに変換する関数およびOracle TuxedoバッファをSOAPメッセージ・ペイロードに変換する関数という2つの関数を実装できます。
これら2つの関数プロトタイプは、次の例に定義されています:
例5-4 SALTのプラグインP_CUSTOM_TYPEのvtable構造体(C言語)
/* custtype_pi_ex.h */
struct custtype_vtable {
CustomerBuffer * (* soap_in_tuxedo__CUSTBUF) (void *
xercesDOMTree, CustomerBuffer * tuxbuf, CustType_Ext *
extinfo)
int (* soap_out_tuxedo__CUSTBUF) (void ** xercesDOMTree,
CustomerBuffer * tuxbuf, CustType_Ext * extinfo)
......
}
関数のポインタ(* soap_in_tuxedo__CUSTBUF)は、SOAPメッセージ・ペイロードをOracle Tuxedo型付きバッファに変換するカスタマイズされた関数を指しています。
関数のポインタ(* soap_out_tuxedo__CUSTBUF)は、Oracle Tuxedo型付きバッファをSOAPメッセージ・ペイロードに変換するカスタマイズされた関数を指しています。
必要に応じて、メッセージ変換プラグインのvtable
構造体で定義された両方の関数を実装できます。1つの関数を実装して、他の関数をNULL
ポインタで設定することもできます。