According to HTTP specifications, unsafe characters included in transmitted data with the MIME type application/x-www-form-urlencoded must be encoded (escaped). This is achieved by replacing unsafe characters with hexadecimal equivalents and preceding them with percent (%) symbols.
Silk Performer provides four standard encoding types: ENCODE_FORM, ENCODE_ESCAPE, ENCODE_BLANKS and ENCODE_NONE. These encoding types differ in terms of the characters they escape.
Siebel Web client Java applets apply a unique encoding type that differs from the standard Silk Performer encoding types. For this reason, Silk Performer provides a new encoding type, ENCODE_CUSTOM, which can be configured using the function WebFormDefineEncodeCustom.
Siebel uses an encoding type that differs from the standard encoding type ENCODE_FORM in the following respects:
The Silk Performer Web Recorder detects when an HTTP request applies this special encoding type, and then generates a script using the following techniques:
This example shows fragments of a recorded script that utilizes these techniques.
dcltrans
transaction TInit
begin
WebSetBrowser(WEB_BROWSER_MSIE55);
WebFormDefineEncodeCustom("base=ENCODE_FORM;"
" +'@'; -'!()$,'");
end TInit;
// ...
dclform
SALES_START_SWE011 <ENCODE_CUSTOM> :
"SWERPC" := "1",
"SWECount" := "4",
"SWECmd" := "InvokeMethod",
"SWEMethod" := "GetPreference",
"SWEInputPropSet" := "@0`0`3`0`GetPreference`3``pCategory`"
"Behavior`pPrefName``SWEJSXInfo`false`";