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

GETおよびDELETEメソッドの場合、入力データはHTTP問合せ文字列として渡されます。

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

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

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

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

Tuxedoのバッファ・タイプ 問合せ文字列のマッピング ノート
STRING http://host:port/service?data URLエンコードなど、そのままのデータは、GWWSによりデコードされます。
CARRAY http://host:port/service?data base64エンコードされた文字列として表されるデータ。
MBSTRING http://host:port/service?data データは、Oracle Tuxedo MBSTRINGUTF-8表現でエンコードされたURLとして表されます。
XML http://host:port/service?data XMLフラグメントはそのまま、URLはエンコードされます。
X_C_TYPE VIEW/VIEW32と同じ -
X_COMMON VIEW/VIEW32と同じ -
X_OCTET CARRAYと同じ -
VIEW/VIEW32 http://host:port/service?value1&value2 or http://host:port/service?fieldname1=value1&fieldname2=value2 実際の値は、URLエンコードされた文字列表現からそれらのネイティブ・タイプに変換されます。

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

  • floatおよびdoubleのVIEW/VIEW32タイプのfloat表記
  • intの整数表記、longおよびその他の整数ベースのタイプ

FLD_CHARフィールドは、URLエンコードされたコンテンツから変換されます(表現可能な文字、またはその他のすべてのタイプについては%xx表現文字列)

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

  • ビュー記述で構成されている場合は、FBNAMEフィールド名。
  • ビュー記述にFBNAMEがない場合は、CNAME値。

FBNAMECNAMEのどちらもこのサブタイプと一致しない場合は、マッピング・エラーが返されます。

FML/FML32 http://host:port/service?fieldname1=value1&fieldname2=value2or, for multiple ocurrences:http://host:port/service?fieldname1=value1&fieldname1=value2 実際の値は、URLエンコードされた文字列表現からそれらのネイティブ・タイプに変換されます。

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

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