Opc.Ua.Server.StandardServer.Call C# (CSharp) Méthode

Call() public méthode

Invokes the Call service.
public Call ( RequestHeader requestHeader, CallMethodRequestCollection methodsToCall, CallMethodResultCollection &results, DiagnosticInfoCollection &diagnosticInfos ) : ResponseHeader
requestHeader RequestHeader The request header.
methodsToCall CallMethodRequestCollection The methods to call.
results CallMethodResultCollection The results.
diagnosticInfos DiagnosticInfoCollection The diagnostic information for the results.
Résultat ResponseHeader
        public override ResponseHeader Call(
            RequestHeader                  requestHeader,
            CallMethodRequestCollection    methodsToCall,
            out CallMethodResultCollection results,
            out DiagnosticInfoCollection   diagnosticInfos)
        {
            OperationContext context = ValidateRequest(requestHeader, RequestType.Call);
                
            try
            {
                if (methodsToCall == null || methodsToCall.Count == 0)
                {
                    throw new ServiceResultException(StatusCodes.BadNothingToDo);
                }         

                m_serverInternal.NodeManager.Call(
                    context,
                    methodsToCall,
                    out results,
                    out diagnosticInfos);

                return CreateResponse(requestHeader, context.StringTable);
            }
            catch (ServiceResultException e)
            {
                lock (ServerInternal.DiagnosticsLock)
                {
                    ServerInternal.ServerDiagnostics.RejectedRequestsCount++;

                    if (IsSecurityError(e.StatusCode))
                    {
                        ServerInternal.ServerDiagnostics.SecurityRejectedRequestsCount++;
                    }
                }

                throw TranslateException(context, e);
            }  
            finally
            {
                OnRequestComplete(context);
            }
        }
        #endregion