2.5.2.1 問合せ文字列のマッピング

ノート:

このモードでは、組込みFML32およびVIEW32フィールドを使用しようとすると、TPEPROTOエラーが発生します。

GETおよびDELETEメソッドの場合、リクエスト・データはHTTP問合せ文字列として渡されます。たとえば: http://host:1234/banking?account=1234

問合せ文字列として渡されたデータは、次のような問合せ文字列表示の制約に従ってマップされます:

  • 該当する場合はkeyword=valueのモデル。シンプル・バッファ・タイプの場合、実際のデータは直接渡されます(http://host:1234/svc?inputstringなど)。
  • キーワード/値のペアはネストできません。
  • 一部の文字(空白など)にはエンコーディングが必要です
  • データ量に制約があります。GWWSにはありせんが、ブラウザまたはツールキットによる制約を受ける場合があります。

Oracle Tuxedoでサポートされる様々なタイプのバッファのマッピングは、次の表の説明のようになります。

表2-15 問合せ文字列のマッピング

Tuxedoのバッファ・タイプ 問合せ文字列のマッピング ノート
STRING http://host:port/path?data URLエンコードなど、そのままのデータは、GWWSによりエンコードされます。
CARRAY http://host:port/path?data base64エンコードされた文字列として表されるデータ。
MBSTRING http://host:port/path?data Tuxedo MBSTRINGUTF-8表現でエンコードされたURLとして表されるデータ。
XML \\http://host:port/path?data XMLフラグメントはそのまま、URLはエンコードされます。
X_C_TYPE VIEW/VIEW32と同じ -
X_COMMON VIEW/VIEW32と同じ -
X_OCTET CARRAYと同じ -
VIEW/VIEW32 http://host:port/path?value1&value2 or http://host:port/service?fieldname1=value1&fieldname2=value2 GWWSは、ターゲット・タイプに応じて、値を対応するVIEW/VIEW32メンバーに変換しようとします(文字列表現からOracle Tuxedo表現の数値)。
  • floatおよびdoubleのVIEW/VIEW32タイプの浮動表記
  • intの整数表記、longおよびその他の整数ベースのタイプ
  • FLD_CHARフィールドは、URLエンコードされたコンテンツから変換されます(表現可能な文字、またはその%xx表現)
  • その他のすべてのタイプについては文字列

次のものには、fieldname=valueの表記を使用します:

  • ビュー記述で構成されている場合は、FBNAMEフィールド名。
  • FBNAMECNAMEのどちらもこのサブタイプと一致しない場合は、マッピング・エラーが返されます。
FML/FML32 http://host:port/path?fieldname1=value1&fieldname2=value2 or, for multiple occurrences: http://host:port/service?fieldname1=value1&fieldname1=value2 実際の値は、URLエンコードされた文字列表現からそれらのネイティブ・タイプに変換されます。

GWWSは、ターゲット・タイプに応じて、値を対応するFML/FML32メンバーに変換しようとします(文字列表現からTuxedo表現の数値)。

  • floatおよびdoubleのFML/FML32タイプの浮動表記
  • intの整数表記、longおよびその他の整数ベースのタイプ
  • FLD_CHARフィールドは、URLエンコードされたコンテンツから変換されます(表現可能な文字、またはその%xx表現)
  • その他のすべてのタイプについては文字列
RECORD http://host:port/path?value1&value2 orhttp://host:port/service?fieldname1=value1&fieldname2=value2 GWWSは、ターゲット型に応じて、値を対応するRECORDメンバーに変換しようとします。