diff options
-rw-r--r-- | src/plugins/opcua/open62541/qopen62541valueconverter.cpp | 5 | ||||
-rw-r--r-- | src/plugins/opcua/uacpp/quacppvalueconverter.cpp | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/plugins/opcua/open62541/qopen62541valueconverter.cpp b/src/plugins/opcua/open62541/qopen62541valueconverter.cpp index 2539784..cfdf59d 100644 --- a/src/plugins/opcua/open62541/qopen62541valueconverter.cpp +++ b/src/plugins/opcua/open62541/qopen62541valueconverter.cpp @@ -384,8 +384,9 @@ QVariant scalarToQVariant<QVariant, UA_ExtensionObject>(UA_ExtensionObject *data result = QVariant::fromValue(QOpcUaBinaryDataEncoding::decode<QOpcUa::QXValue>(buffer, length, success)); break; default: - qCWarning(QT_OPCUA_PLUGINS_OPEN62541) << "Unknown extension object type: ns=0;i=" << data->content.encoded.typeId.identifier.numeric; - return QVariant(); + qCWarning(QT_OPCUA_PLUGINS_OPEN62541) << "Unknown extension object type, returning raw data:" << Open62541Utils::nodeIdToQString(data->content.encoded.typeId); + result = QByteArray(buffer, data->content.encoded.body.length); + success = true; } if (success) diff --git a/src/plugins/opcua/uacpp/quacppvalueconverter.cpp b/src/plugins/opcua/uacpp/quacppvalueconverter.cpp index 0f48c0e..1b4e9f5 100644 --- a/src/plugins/opcua/uacpp/quacppvalueconverter.cpp +++ b/src/plugins/opcua/uacpp/quacppvalueconverter.cpp @@ -310,8 +310,9 @@ QVariant scalarToQVariant<QVariant, OpcUa_ExtensionObject>(OpcUa_ExtensionObject result = QVariant::fromValue(QOpcUaBinaryDataEncoding::decode<QOpcUa::QXValue>(buffer, length, success)); break; default: - qCWarning(QT_OPCUA_PLUGINS_UACPP, "Unknown extension object type: ns=0;i=%d", data->TypeId.NodeId.Identifier.Numeric); - return QVariant(); + qCWarning(QT_OPCUA_PLUGINS_UACPP) << "Unknown extension object type, returning raw data:" << UACppUtils::nodeIdToQString(data->TypeId.NodeId); + result = QByteArray(buffer, length); + success = true; } if (success) |