ExtensionObjects 不可能的类名
Impossible classname for ExtensionObjects
我正在使用 Milo
来浏览服务器的功能。
这还涉及解码 ExtensionObjects
(对 UnifiedAutomationReadCustomDataTypeExample
来说效果很好)。
在 open62541
和 milo 服务器上它会奇怪地失败,因为 ExtensionObjects
无法转换为 ExtensionObjects
- 请注意以下异常中的“[L”:
java.lang.ClassCastException: [Lorg.eclipse.milo.opcua.stack.core.types.builtin.ExtensionObject; cannot be cast to org.eclipse.milo.opcua.stack.core.types.builtin.ExtensionObject
这是 Milo
中的错误还是我遗漏了什么?
我正在使用最新的Eclipse 来编译服务器端和客户端。
我正在使用 Maven
中的 Milo 0.2.3
。
问题是通过将 Object[]
转换为 Object
而产生的。下面的代码现在可以正常工作了。
if(rd.getDisplayName().getText().equals("OutputArguments")) {
DataValue readServiceResult = client.readValue(100, TimestampsToReturn.Both, rd.getNodeId().local().get()).get();
Variant args =readServiceResult.getValue();
NodeId ni = args.getDataType().get();
Object[] oVal = (Object[])args.getValue();
Object val = oVal[0];
if(val instanceof ExtensionObject) {
ExtensionObject eo = (ExtensionObject)oVal[0];
Object o = eo.decode();
System.out.println(o);
}
}
我正在使用 Milo
来浏览服务器的功能。
这还涉及解码 ExtensionObjects
(对 UnifiedAutomationReadCustomDataTypeExample
来说效果很好)。
在 open62541
和 milo 服务器上它会奇怪地失败,因为 ExtensionObjects
无法转换为 ExtensionObjects
- 请注意以下异常中的“[L”:
java.lang.ClassCastException: [Lorg.eclipse.milo.opcua.stack.core.types.builtin.ExtensionObject; cannot be cast to org.eclipse.milo.opcua.stack.core.types.builtin.ExtensionObject
这是 Milo
中的错误还是我遗漏了什么?
我正在使用最新的Eclipse 来编译服务器端和客户端。
我正在使用 Maven
中的 Milo 0.2.3
。
问题是通过将 Object[]
转换为 Object
而产生的。下面的代码现在可以正常工作了。
if(rd.getDisplayName().getText().equals("OutputArguments")) {
DataValue readServiceResult = client.readValue(100, TimestampsToReturn.Both, rd.getNodeId().local().get()).get();
Variant args =readServiceResult.getValue();
NodeId ni = args.getDataType().get();
Object[] oVal = (Object[])args.getValue();
Object val = oVal[0];
if(val instanceof ExtensionObject) {
ExtensionObject eo = (ExtensionObject)oVal[0];
Object o = eo.decode();
System.out.println(o);
}
}