2.5.2.1 Query String Mapping

Note:

Attempting to use embedded FML32 and VIEW32 fields will result in a TPEPROTO error in this mode.

For GET and DELETE methods, requested data is passed as an HTTP query string. For example:http://host:1234/banking?account=1234

Data passed as query string can be mapped within the limitations of query string representation:

  • keyword=value model, when applicable. For simple buffer types the actual data may be passed directly(for example, http://host:1234/svc?inputstring).
  • No nesting of keyword/value pairs.
  • Encoding must be performed for some characters (“space” for instance)
  • Limited amount of data. While GWWS does not impose any limit, the browser or client toolkit may.

The mapping is as described in Table below for different types of buffers supported by OracleTuxedo.

Table 2-15 Query String Mapping

Tuxedo Buffer Type Query String Mapping Notes
STRING http://host:port/path?data Data as is possibly URL encoded, GWWS will perform the encoding.
CARRAY http://host:port/path?data Data represented as base64 encoded string.
MBSTRING http://host:port/path?data Data represented as URL encoded of UTF-8 representation of the Tuxedo MBSTRING.
XML \\http://host:port/path?data XML fragment as is, URL encoded.
X_C_TYPE Same as VIEW/VIEW32 -
X_COMMON Same as VIEW/VIEW32 -
X_OCTET Same as CARRAY -
VIEW/VIEW32 http://host:port/path?value1&value2 or http://host:port/service?fieldname1=value1&fieldname2=value2 GWWS attempts to convert values to the corresponding VIEW/VIEW32 member depending on the target type: number types from their string representation to their Oracle Tuxedo ones:
  • float notation for float and double VIEW/VIEW32 types
  • integer notation for int, long and other integer based types
  • FLD_CHAR fields are translated from URL-encoded content, i.e. representable characters or their '%xx' representation
  • string for all other types

The fieldname=value notation is used with:

  • FBNAME field name when one is configured in the view description.
  • If neither FBNAME nor CNAME matches for this subtype a mapping error is returned.
FML/FML32 http://host:port/path?fieldname1=value1&fieldname2=value2 or, for multiple occurrences: http://host:port/service?fieldname1=value1&fieldname1=value2 Actual values are converted from URL encoded string representations to their native types.

GWWS attempts to convert values to the corresponding FML/FML32 member depending on the target type: number types from their string representation to their Tuxedo ones:

  • float notation for float and double FML/FML32 types
  • integer notation for int, long and other integer-based types
  • FLD_CHAR fields are translated from URL-encoded content (i.e., representable characters or their '%xx' representation
  • string for all other types
RECORD http://host:port/path?value1&value2 orhttp://host:port/service?fieldname1=value1&fieldname2=value2 GWWS attempts to convert values to the corresponding RECORD member depending on the target type.