The Method GetResultById is used to retrieve a result. Depending on the design of the system, the Client may be informed by Events of ResultReadyEventType that a new result is available. Then, the Client might fetch this result using the information provided by Events of ResultReadyEventType which is defined in Section 8.1.
Since the ResultId is supposed to be system-wide unique, this Method shall return only a single result. Since there may be additional result content to be retrieved by temporary file transfer, the Server should keep result data available, resources permitting, until the Client releases the handle by calling ReleaseResultHandle. However, the Client cannot rely on the data to remain available until then.
The signature of this Method is specified below. Table 4 and Table 5 specify the Arguments and AddressSpace representation, respectively.
Signature
GetResultById (
[in]0:TrimmedStringresultId,
[in]0:Int32timeout,
[out]0:HandleresultHandle,
[out]ResultDataTyperesult,
[out]0:Int32error)
Table 4 – GetResultById Method Arguments
Argument |
Description |
resultId |
System-wide unique identifier for the result. |
timeout |
With this argument the Client can give a hint to the Server how long it will need access to the result data. A value > 0 indicates an estimated maximum time for processing the data in milliseconds. A value = 0 indicates that the Client will not need anything besides the data returned by the method call. A value < 0 indicates that the Client cannot give an estimate. The Client cannot rely on the data being available during the indicated time period. The argument is merely a hint allowing the Server to optimize its resource management. |
resultHandle |
The Server shall return to each Client requesting result data a system-wide unique handle identifying the result set / Client combination. This handle should be used by the Client to indicate to the Server that the result data is no longer needed, allowing the Server to optimize its resource handling. If the instance of ResultManagementType does not support the ReleaseResultHandle Method, the resultHandle should always be set to 0. If the error is set to a value other than 0, the resultHandle may be set to 0. |
result |
The result including metadata. May be set to Null, if error is set to a value other than 0. |
error |
0 – OK Values > 0 are reserved for errors defined by this and future standards. Values < 0 shall be used for application-specific errors. |
Table 5 – GetResultById Method AddressSpace Definition
Attribute |
Value |
||||
BrowseName |
GetResultById |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
0:InputArguments |
0:Argument[] |
0:PropertyType |
0:Mandatory |
0:HasProperty |
Variable |
0:OutputArguments |
0:Argument[] |
0:PropertyType |
0:Mandatory |