2.10.3.2 自動変換の使い方
自動変換では、最初の形式も最後の形式もXMLになります。つまり、XMLバッファがFML/FML32バッファに入力、変換、および処理され、最後にXMLに再変換されます。
XMLとFML/FML32バッファ間の変換を開始するには、UBBCONFIG
ファイルのSERVICES
セクションのBUFTYPECONV
パラメータを指定する必要があります。このパラメータは、XML2FML
またはXML2FML32
のどちらかの値のオプションのみを受け付けます。
このパラメータを使用してサーバーを起動した場合、クライアントtpcall()
、tpacall()
、tpconnect()
、またはtpsend()
によって入力バッファがXMLバッファからFML/FML32バッファに変換されてからサービスに送られます。tpreturn()
またはtpsend()
が呼び出されると、FML/FML32バッファがXMLバッファに変換されてから返されます。
BUFTYPECONV
パラメータを使用しているサービスでは、クライアントまたはその他のサービスは、既存のサービスがFML/FML32バッファを処理する方法を変更することなく、XMLバッファを送受信できます。
ノート:
BUFTYPECONV
パラメータを使用する場合は、以下の項目に注意してください。
- サービスが
BUFTYPECONV
パラメータを使用している場合、出力されたすべてのFML/FML32バッファはXMLに変換されます。BUFTYPECONV
パラメータを使用して新しいサービス名を作成すると、XMLを出力し、FML/FML32バッファに対する元のサービス名を保持することができます。 - XMLとFML/FML32バッファ間の自動変換は、入力されたXMLデータに対してのみ処理を行います。その他のすべての入力バッファは、
BUFTYPECONV
で指定されている場合でも変換されません。 - XML、FMLおよびFML32の入力/出力サービス・データが変換されるのは、サービスが
サーバー
として機能する場合のみです。つまり、クライアントまたは他のサービスが、BUFTYPECONV
パラメータを使用してサービスにリクエストを行う場合です。 BUFTYPECONV
パラメータを使用しているサービスがクライアントとして動作している場合、変換は実行されません。たとえば、別のサービスに対してtpcall()
を使用しているBUFTYPECONV
パラメータが指定されたサービスなどが挙げられます。/Q
メッセージング・モードでは、TMQFORWARD
はサービスの呼出しにtpcall()
を使用します。呼び出されたサービスがBUFTYPECONV
パラメータを使用している場合、自動変換が実行されます。
自動変換の際に、入力XMLルート要素名を保存することはできないため、出力XMLルート・タグは、デフォルト・ルート・タグ<FML Type="FML">
または<FML Type="FML32">
を使用します。