11:40, EEST
September 24, 2015
When We trying to get all attribute values using the following code returns
com.prosysopc.ua.StatusException: Bad_AttributeIdInvalid (0x80350000) “The attribute is not supported for the specified Node.” StatusCode=Bad_AttributeIdInvalid (0x80350000) “The attribute is not supported for the specified Node.”
code sample
DataValue value = client.readAttribute(nodeid, UnsignedInteger.valueOf(i));
How we can avoid this?
11:53, EEST
December 21, 2011
All nodes do not support all attributes. For those, you will get this error code. Also, if the attribute value is not defined in the server, you may get the same exception.
If you use UaNode objects (as available from AddressSpace), you can use UaNode.supportsAttribute(UnsignedInteger attributeId) to find out if that node supports the attribute in question – or getSupportedAttributes() to find out all of them in advance. On the other hand, the nodes are initialised with the supported attributes automatically, if you acquire them from AddressSpace.getNode()
14:02, EEST
April 3, 2012
Hi,
The Properties of an event type are by default created differently than most of other nodes. They contain access level and value attributes, but refer to the InstanceDeclaration Node of the TypeDefinition for other attributes. We currently have a known issue that these nodes cannot be written from a client even if they would have write access level (will be fixed for 2.3). While this is a different issue, the underlying reason is most likely the same. For the SDK there is a workaround to create/use “full”node implementations instead if needed. After the SDK 2.3 is released, simulation server will update to use it.
– Bjarne
22:44, EEST
October 24, 2018
Bjarne Boström said
Hi,The Properties of an event type are by default created differently than most of other nodes. They contain access level and value attributes, but refer to the InstanceDeclaration Node of the TypeDefinition for other attributes. We currently have a known issue that these nodes cannot be written from a client even if they would have write access level (will be fixed for 2.3). While this is a different issue, the underlying reason is most likely the same. For the SDK there is a workaround to create/use “full”node implementations instead if needed. After the SDK 2.3 is released, simulation server will update to use it.
– Bjarne Â
Hi,
now I’m usingthe SDK 3.1.6 but I still got the Error (com.prosysopc.ua.StatusException: Bad_AttributeIdInvalid (0x80350000) “The attribute is not supported for the specified Node.” StatusCode=Bad_AttributeIdInvalid (0x80350000) “The attribute is not supported for the specified Node.”).
Moreover, I looked into the IoManager to check writing is permitted. For that I examine the class MyIoManagerListener and got the result “Enable writing to everything that is allowed by default” in the EnumSet.
I hope there is another attribute or methode I did not notice.
I would be happy to hear from you soon.
13:49, EEST
April 3, 2012
Hi,
The original issue of that is resolved, i.e. you should be able to make subscriptions for the ‘Objects/MyObjects/MyDevice/MyLevelAlarm/LowLimit’ (In SDK/SampleConsoleServer and SimulationServer, and it works on UaExpert and our grapchical UA Client) with that version.
I need a bit more clarification on what you are trying to do and what exactly gives the error. Preferably some action made directly vs. unmodified SampleConsoleServer so it would be easy to reproduce here.
If you want to make a node (Value Attribute) to be writable from a client, first the AccessLevel Attribute must have the write level, e.g. in the MyNodeManager.createAlarmNode (in SampleConsoleServer), you would call:
secondly the UserAccessLevel Attribute must also have the write flag (which the MyIoManagerListener in the SampleConsoleServer has in onGetUserAccessLevel).
Few notes:
1. The returned UserAccessLevel can only contain flags set in the AccessLevel Attribute (SDK will limit it to those if it contains other flags).
2. Only the IoManagerListener.onGetUserAccessLevel (or a overridden getUserAccessLevel on a subclass of IoManager) will influence the UserAccessLevel.
3. The above affects only the Value Attribute, for Executable/UserExecutable Atribute (on Method nodes), the equivalent is IoManagerListener.onGetUserExecutable and for all other Attributes it is WriteMask/UserWriteMask with IoManagerListener.onGetUserWriteMask
Most Users Ever Online: 1919
Currently Online:
13 Guest(s)
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Heikki Tahvanainen: 402
hbrackel: 144
rocket science: 88
pramanj: 86
Francesco Zambon: 83
Ibrahim: 78
Sabari: 62
kapsl: 57
gjevremovic: 49
Xavier: 43
Member Stats:
Guest Posters: 0
Members: 730
Moderators: 7
Admins: 1
Forum Stats:
Groups: 3
Forums: 15
Topics: 1529
Posts: 6471
Newest Members:
rondawolinski7, Marypof5711, roycedelargie91, kourtneyquisenbe, ellis87832073466, zkxwilliemae, gabriellabachus, Deakin, KTP25Zof, Wojciech KubalaModerators: Jouni Aro: 1026, Pyry: 1, Petri: 0, Bjarne Boström: 1032, Jimmy Ni: 26, Matti Siponen: 349, Lusetti: 0
Administrators: admin: 1