This documentation supports the 9.0 version of Remedy Action Request System.

To view the latest version, select the version from the Product version menu.

BMC Remedy Mid Tier BackChannel servlet architecture

Before learning how to modify scripts recorded against BMC Remedy Mid Tier applications, you must understand basic mid tier architecture.

All communications between a client browser and the mid tier are done through a servlet called BackChannel. Servlets can accept parameters.

The BackChannel servlet has an API that must be followed to create valid requests. The API is composed of interfaces used to transfer information other than web pages between web clients and web tiers.

Some of the interface names are similar to those in the AR System C API. For example, the GetTableEntryList interface is used to request entries in an AR System table field.

GetTableEntryList : TableEntryListBase {
string table_server; // server containing the table field
string table_schema;// schema containing the table field
string table_vui_name;// view containing the table field
long table_field_id;// table field id
string server;// servers to query
string schema;// schemas to query
string app_name;// application context
long start_row;// start row
long num_rows;// number of rows
long [] sort_order;// column sort order
string qualification;// search qualification
long [] qual_field_ids;// list of field ids for the qualification
string [] qual_field_values;// list of field values for the qualification
int [] qual_field_types;// list of field types for the qualification \}

This interface specifies the requirements for using the GetTableEntryList BackChannel servlet call:

  • You must send the right type of values in this order (top to bottom).
  • Nothing is optional.
  • You must specify the character length of each value sent through the servlet.

For example, a valid BackChannel servlet call looks similar to this:


The first number (229) indicates the total length of the string after the first forward slash. The following table shows the breakdown of the rest of the string by the GetTableEntryList required parameters.

Servlet call by GetTableEntryList parameters


String length and value (length/value)


string table_server


string table_schema


string table_vui_name


long table_field_id


string server


string schema


string app_name


No value

long start_row


long num_rows


long[] sort_order


Array of 0 items

string qualification


Qualification includes backslashes

long[] qual_field_ids


Array of 1 item

string[] qual_field_values


Array of 1 item

int[] qual_field_types


Array of 1 item

When you record a script against an AR System application, SilkPerformer records the BackChannel servlet calls and their parameter values.
Values such as user name and server name can change, so you should put them in variables. The Silk Performer BMC Remedy plug-in manages the string length of these values whenever they change.

If you select Remedy as the application type when creating a project in SilkPerformer, SilkPerformer uses the plug-in to record HTTP requests whenever it encounters HTTP traffic referring to BackChannel servlet calls.

In SilkPerformer XML format, the GetTableEntryList call is human readable:


"param"    :=

"<?xml version='1.0'?>\r\n"

"<RemedyXml operation=\"GetTableEntryList\">\r\n"

"  <string name=\"table_server\">"+gsARServer+"</string>\r\n"

"  <string name=\"table_schema\">SRS:ServiceRequestConsole</string>\r\n"

"  <string name=\"table_vui_name\">enduser</string>\r\n"

"  <long name=\"table_field_id\">301524000</long>\r\n"

"  <string name=\"server\">"+gsARServer+"</string>\r\n"

"  <string name=\"schema\">SRM:Request</string>\r\n"

"  <string name=\"app_name\"></string>\r\n"

"  <long name=\"start_row\">0</long>\r\n"

"  <long name=\"num_rows\">0</long>\r\n"

"  <Array name=\"sort_order\"></Array>\r\n"

"  <string name=\"qualification\">1\\2\\4\\1\\1\\1000000338\\99\\1717300\\4\\1\"

" <Array name=\"qual_field_ids\">\r\n"
" <long>1717300</long>\r\n"
"  <Array name=\"qual_field_values\">\r\n"
"  </Array>\r\n"
"  <Array name=\"qual_field_types\">\r\n"
"    <int>4</int>\r\n"
" </Array>\r\n"

Before the request is sent to BMC Remedy Mid Tier, SilkPerformer assembles the string with correct string lengths. As a scripter, you provide only the values, not the string lengths.
The BMC Remedy Mid Tier response to a request generally has a basic format for each interface. For more information, see Advanced scripting and debugging techniques.

Additional Information

For more information on BMC Remedy Mid Tier BackChannel servlet, see the following blogs shared on BMC Communities

Was this page helpful? Yes No Submitting... Thank you