You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I read from a Siemens S7 1500 OPC-UA-Server that is running both versions of the server (1.03 & 1.04).
My client application is using the complex type system package, and it works great for ExtensionObjects with an encoding of type ExtensionsObjectEncoding == Encodeable.
When I read a NodeId that has an ExtensionObject with ExtensionObjectEncoding == Binary, I can't seem to encode the message using the binary encoder to then decode the message using the JsonDecoder.DecodeMessage-Method.
I don't think it will work anyhow, since the incoming bytestring is not encodable in the first place.
I then did look into the ComplexTypeSystem class and found that, after running the method GetDefinedTypes, that it didn't generate the type that's needed to encode the message properly.
The type that wasn't generated has a few two-dimensional-arrays inside of it.
I tried to load the typedefinition for the missing type manually using the namespace uri and the node id for the type, but to no avail.
In the picture above you can see that i have two user defined types (UDTs) the first one works fine, but not for the second one.
Is there a way to encode the bytestream anyway somehow?
Expected Behavior
Complex types with two or more dimensional arrays should be encodeable.
Hi @andrerodi, this is a known issue with the current complex type support, if a structure contains multidimensional array the type is not supported. see #920
Type of issue
Current Behavior
I read from a Siemens S7 1500 OPC-UA-Server that is running both versions of the server (1.03 & 1.04).
My client application is using the complex type system package, and it works great for ExtensionObjects with an encoding of type ExtensionsObjectEncoding == Encodeable.
When I read a NodeId that has an ExtensionObject with ExtensionObjectEncoding == Binary, I can't seem to encode the message using the binary encoder to then decode the message using the JsonDecoder.DecodeMessage-Method.
I don't think it will work anyhow, since the incoming bytestring is not encodable in the first place.
I then did look into the ComplexTypeSystem class and found that, after running the method GetDefinedTypes, that it didn't generate the type that's needed to encode the message properly.
The type that wasn't generated has a few two-dimensional-arrays inside of it.
I tried to load the typedefinition for the missing type manually using the namespace uri and the node id for the type, but to no avail.
In the picture above you can see that i have two user defined types (UDTs) the first one works fine, but not for the second one.
Is there a way to encode the bytestream anyway somehow?
Expected Behavior
Complex types with two or more dimensional arrays should be encodeable.
Steps To Reproduce
No response
Environment
Anything else?
No response
The text was updated successfully, but these errors were encountered: