Table 59 defines the parameters for the Service.

Table 59 – Call Service Parameters

Name

Type

Description

Request

requestHeader

RequestHeader

Common request parameters (see 7.32 for RequestHeader definition).

methodsToCall []

CallMethodRequest

List of Methods to call. This structure is defined in-line with the following indented items.

objectId

NodeId

The NodeId shall be that of the Object or ObjectType on which the Method is invoked.

In case of an Object, the Object or the ObjectType of the Object or a super type of that ObjectType shall be the source of a HasComponent Reference (or subtype of HasComponent Reference) to the Method specified in methodId.

In case of an ObjectType, the ObjectType shall be the source of a HasComponent Reference (or subtype of HasComponent Reference) to the Method specified in methodId. In this case the Method shall not have a ModellingRule.

See OPC 10000-3 for a description of Objects and their Methods.

methodId

NodeId

NodeId of the Method to invoke.

If the objectId is the NodeId of an Object, the methodId is either the NodeId of the Method that is a component of the Object instance or the NodeId of the Method in the ObjectType that defines the Method.

Independent of the methodId parameter, the RolePermissions are always verified with the Method Node that is the target of a HasComponent from the Node defined by objectId.

inputArguments []

BaseDataType

List of input argument values. An empty list indicates that there are no input arguments. The size and order of this list matches the size and order of the input arguments defined by the input InputArguments Property of the Method.

The name, a description and the data type of each argument are defined by the Argument structure in each element of the method’s InputArguments Property.

Fewer arguments than the total number of input arguments defined may be passed by the Client when optional input arguments are defined. A Method may define input arguments as optional by including HasOptionalInputArgumentDescription references to argument metadata. The InputArguments Property and the HasOptionalInputArgumentDescription ReferenceType are defined in OPC 10000-3.

Response

responseHeader

ResponseHeader

Common response parameters (see 7.33 for ResponseHeader definition).

results []

CallMethodResult

Result for the Method calls. This structure is defined in-line with the following indented items.

statusCode

StatusCode

StatusCode of the Method executed in the Server. This StatusCode is set to the Bad_InvalidArgument StatusCode if at least one input argument broke a constraint (e.g. wrong data type, value out of range).

This StatusCode is set to a bad StatusCode if the Method execution failed in the Server, e.g. based on an exception.

If the Method execution fails but the outputArguments provide additional information like an application specific error code, the Method should return a StatusCode with Severity Uncertain.

inputArgumentResults []

StatusCode

List of StatusCodes corresponding to the inputArguments.

This list is empty unless the operation level result is Bad_InvalidArgument.

If this list is populated, it has the same length as the inputArguments list.

inputArgumentDiagnosticInfos []

DiagnosticInfo

List of diagnostic information corresponding to the inputArguments. This list is empty if diagnostics information was not requested in the request header or if no diagnostic information was encountered in processing of the request.

outputArguments []

BaseDataType

List of output argument values. An empty list indicates that there are no output arguments. The size and order of this list matches the size and order of the output arguments defined by the OutputArguments Property of the Method.

The name, a description and the data type of each argument are defined by the Argument structure in each element of the methods OutputArguments Property.

The list shall be empty if the statusCode Severity is Bad.

diagnosticInfos []

DiagnosticInfo

List of diagnostic information for the statusCode of the results. This list is empty if diagnostics information was not requested in the request header or if no diagnostic information was encountered in processing of the request.