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`";