Browse Source

VariableTypeNode has no attribute accessLevel

Thomas Bender 7 years ago
parent
commit
3289881144
1 changed files with 9 additions and 7 deletions
  1. 9 7
      src/server/ua_services_nodemanagement.c

+ 9 - 7
src/server/ua_services_nodemanagement.c

@@ -846,13 +846,15 @@ Service_AddNode_finish(UA_Server *server, UA_Session *session, const UA_NodeId *
             return retval;
         }
 
-        /* Set AccessLevel to readable */
-        const UA_VariableNode *vn = (const UA_VariableNode*)node;
-        if(!(vn->accessLevel & (UA_ACCESSLEVELMASK_READ))) {
-            UA_LOG_INFO_SESSION(server->config.logger, session,
-                                "AddNodes: Set the AccessLevel to readable by default");
-            UA_Byte readable = vn->accessLevel | (UA_ACCESSLEVELMASK_READ);
-            UA_Server_writeAccessLevel(server, vn->nodeId, readable);
+        if(node->nodeClass == UA_NODECLASS_VARIABLE) {
+            /* Set AccessLevel to readable */
+            const UA_VariableNode *vn = (const UA_VariableNode*)node;
+            if(!(vn->accessLevel & (UA_ACCESSLEVELMASK_READ))) {
+                UA_LOG_INFO_SESSION(server->config.logger, session,
+                                    "AddNodes: Set the AccessLevel to readable by default");
+                UA_Byte readable = vn->accessLevel | (UA_ACCESSLEVELMASK_READ);
+                UA_Server_writeAccessLevel(server, vn->nodeId, readable);
+            }
         }
     }