Opc.Ua.Server.StandardServer.RegisterNodes C# (CSharp) Method

RegisterNodes() public method

Invokes the RegisterNodes service.
public RegisterNodes ( RequestHeader requestHeader, NodeIdCollection nodesToRegister, NodeIdCollection &registeredNodeIds ) : ResponseHeader
requestHeader RequestHeader The request header.
nodesToRegister NodeIdCollection The list of NodeIds to register.
registeredNodeIds NodeIdCollection The list of NodeIds identifying the registered nodes.
return ResponseHeader
        public override ResponseHeader RegisterNodes(
            RequestHeader requestHeader, 
            NodeIdCollection nodesToRegister, 
            out NodeIdCollection registeredNodeIds)
        {
            registeredNodeIds = null;

            OperationContext context = ValidateRequest(requestHeader, RequestType.RegisterNodes);

            try
            {
                if (nodesToRegister == null || nodesToRegister.Count == 0)
                {
                    throw new ServiceResultException(StatusCodes.BadNothingToDo);
                }

                m_serverInternal.NodeManager.RegisterNodes(
                    context,
                    nodesToRegister,
                    out registeredNodeIds);

                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);
            }  
        }