Previous Topic: Miscellaneous MethodsNext Topic: createObject


callServerMethod

The following parameters apply to the callServerMethod method:

Parameter

Type

Description

SID

Integer

Identifies the session retrieved from logging in.

methodName

String

Identifies the name of the method to call.

factoryName

String

Identifies the factory name of the object type containing the method.

formatList

String

Identifies the format list, a series of characters describing the intended data types for the incoming parameters. It is related to the Parameter() description in this table).

parameters

String[]

Indicates zero or more parameter values for the method.

Description

Use this method to invoke an arbitrary server-side method. These are methods defined in the proprietary “spell” scripting language.

Only factory methods can be called and the caller must be logged in with full administrative rights.

The format list is a series of zero or more characters that indicate (in order) the data types of the parameters to follow. The character codes are as follows:

For example, suppose a spell method is defined as follows:

cr::DoStuff(int in_one, string in_two, string in_three);

Invoke it with the following:

callServerMethod(“DoStuff”, “cr”, “ISS”, [3, “a string”, “another one”]);

This method is intended for CA Development and services for customizations only; it is not recommended for most sites.

Returns

Each return message component in its own XML element. The elements are all string representations of the value. The elements are ordered in the return order from the server using the following format:

<ServerReturn>
<Paramx>

This call does not support object reference returns. If an object reference is returned by the spell method, the return data is the string, “OBJECT”. This is not an error and any other parameters are also returned.

XML Element

Type

Description

<ServerReturn>

N/A

Indicates the outer element, which contains zero or more <ParamX> elements for return values.

<Paramx>

String

Indicates zero or more for the return values, where x is an integer starting at zero and increments for each return element.

You can validate BOPSIDs using check_bopsid. This is invoked with callServerMethod as follows:

String bopsid; // somehow gets populated with the BOPSID value
String [] stuff  = new String [] { bopsid };

String ret = usd.callServerMethod
(sid, "check_bopsid", "api", "I", stuff);

If the BOPSID validation fails, a SOAP Fault is returned. If validation succeeds, the return value is a small XML structure of the following form:

<ServerReturn>
<Param0>CONTACT_PERSID</Param0>
<Param1>SESSION_TYPE</Param1>
<Param2>SESSION_ID</Param2>
</ServerReturn>
CONTACT_PERSID

Defines the unique persistent id of the validated/trusted contact. It is of the form, "cnt:<uuid>".

SESSION_TYPE

Defines a small integer id indicating the type of session that generated the BOPSID. This is typically not used by integrators

SESSION_ID

Defines an optional session id. This is the id of the session that generated the BOPSID. It may or may not be set. This is useful to maintain a user's logical session within CA SDM, especially if the user is "passed" back to CA SDM by another BOPSID.

Note: If the BOPSID validation returns a success, log into CA SupportBridge bypassing the login screen, else the CA SupportBridge Login screen will be displayed.