Skip to content

Fix GetDataTypeId to return specific DataTypeId for IEncodeable types#3353

Merged
marcschier merged 4 commits into
masterfrom
copilot/fix-getdatatypeid-bug
Dec 1, 2025
Merged

Fix GetDataTypeId to return specific DataTypeId for IEncodeable types#3353
marcschier merged 4 commits into
masterfrom
copilot/fix-getdatatypeid-bug

Add additional exception handling for GetDataTypeId

f7b2d94
Select commit
Loading
Failed to load commit list.
Azure Pipelines / OPCFoundation.UA-.NETStandard succeeded Dec 1, 2025 in 10m 31s

Build #1.5.378.17-preview+f7b2d9450f had test failures

Details

Tests

  • Failed: 9 (0.01%, 9 new, 0 recurring)
  • Passed: 87,899 (97.63%)
  • Other: 2,122 (2.36%)
  • Total: 90,030

Annotations

Check failure on line 1 in Opc.Ua.Gds.Tests.PushTest("EccNistP256ApplicationCertificateType",i=23538,"http://opcfoundation.org/UA/SecurityP...",System.Security.Cryptography.ECCurve).ApplyChangesAsync

See this annotation in the file changed.

@azure-pipelines azure-pipelines / OPCFoundation.UA-.NETStandard

Opc.Ua.Gds.Tests.PushTest("EccNistP256ApplicationCertificateType",i=23538,"http://opcfoundation.org/UA/SecurityP...",System.Security.Cryptography.ECCurve).ApplyChangesAsync

Opc.Ua.ServiceResultException : [80130000] 'Error received from remote host: Could not verify security on OpenSecureChannel request.'
Raw output
   at Opc.Ua.Bindings.ChannelAsyncOperation`1.<EndAsync>d__12.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/ChannelAsyncOperation.cs:line 300
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Bindings.UaSCUaBinaryClientChannel.<ConnectAsync>d__2.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryClientChannel.cs:line 231
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Bindings.UaSCUaBinaryTransportChannel.<OpenInternalAsync>d__29.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryTransportChannel.cs:line 332
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Opc.Ua.Bindings.UaSCUaBinaryTransportChannel.<OpenInternalAsync>d__29.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryTransportChannel.cs:line 344
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.ClientChannelManager.<CreateUaBinaryChannelAsync>d__7.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Client/ClientChannelManager.cs:line 243
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Client.DefaultSessionFactory.<CreateChannelAsync>d__15.MoveNext() in /_/Libraries/Opc.Ua.Client/Session/DefaultSessionFactory.cs:line 286
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Client.DefaultSessionFactory.<CreateAsync>d__20.MoveNext() in /_/Libraries/Opc.Ua.Client/Session/DefaultSessionFactory.cs:line 403
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Gds.Client.ServerPushConfigurationClient.<ConnectInternalAsync>d__86.MoveNext() in /_/Libraries/Opc.Ua.Gds.Client.Common/ServerPushConfigurationClient.cs:line 1176
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Opc.Ua.Gds.Client.ServerPushConfigurationClient.<ConnectAsync>d__59.MoveNext() in /_/Libraries/Opc.Ua.Gds.Client.Common/ServerPushConfigurationClient.cs:line 342
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Gds.Tests.ServerConfigurationPushTestClient.<ConnectAsync>d__34.MoveNext() in /_/Tests/Opc.Ua.Gds.Tests/ServerConfigurationPushTestClient.cs:line 243
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Opc.Ua.Gds.Tests.PushTest.<ConnectPushClientAsync>d__35.MoveNext() in /_/Tests/Opc.Ua.Gds.Tests/PushTest.cs:line 974
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServ

Check failure on line 1 in Opc.Ua.Gds.Tests.PushTest("EccNistP256ApplicationCertificateType",i=23538,"http://opcfoundation.org/UA/SecurityP...",System.Security.Cryptography.ECCurve).GetRejectedListAsync

See this annotation in the file changed.

@azure-pipelines azure-pipelines / OPCFoundation.UA-.NETStandard

Opc.Ua.Gds.Tests.PushTest("EccNistP256ApplicationCertificateType",i=23538,"http://opcfoundation.org/UA/SecurityP...",System.Security.Cryptography.ECCurve).GetRejectedListAsync

Opc.Ua.ServiceResultException : [80130000] 'Error received from remote host: Could not verify security on OpenSecureChannel request.'
Raw output
   at Opc.Ua.Bindings.ChannelAsyncOperation`1.<EndAsync>d__12.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/ChannelAsyncOperation.cs:line 300
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Bindings.UaSCUaBinaryClientChannel.<ConnectAsync>d__2.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryClientChannel.cs:line 231
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Bindings.UaSCUaBinaryTransportChannel.<OpenInternalAsync>d__29.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryTransportChannel.cs:line 332
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Opc.Ua.Bindings.UaSCUaBinaryTransportChannel.<OpenInternalAsync>d__29.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryTransportChannel.cs:line 344
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.ClientChannelManager.<CreateUaBinaryChannelAsync>d__7.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Client/ClientChannelManager.cs:line 243
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Client.DefaultSessionFactory.<CreateChannelAsync>d__15.MoveNext() in /_/Libraries/Opc.Ua.Client/Session/DefaultSessionFactory.cs:line 286
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Client.DefaultSessionFactory.<CreateAsync>d__20.MoveNext() in /_/Libraries/Opc.Ua.Client/Session/DefaultSessionFactory.cs:line 403
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Gds.Client.ServerPushConfigurationClient.<ConnectInternalAsync>d__86.MoveNext() in /_/Libraries/Opc.Ua.Gds.Client.Common/ServerPushConfigurationClient.cs:line 1176
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Opc.Ua.Gds.Client.ServerPushConfigurationClient.<ConnectAsync>d__59.MoveNext() in /_/Libraries/Opc.Ua.Gds.Client.Common/ServerPushConfigurationClient.cs:line 342
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Gds.Tests.ServerConfigurationPushTestClient.<ConnectAsync>d__34.MoveNext() in /_/Tests/Opc.Ua.Gds.Tests/ServerConfigurationPushTestClient.cs:line 243
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Opc.Ua.Gds.Tests.PushTest.<ConnectPushClientAsync>d__35.MoveNext() in /_/Tests/Opc.Ua.Gds.Tests/PushTest.cs:line 974
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServ

Check failure on line 1 in Opc.Ua.Gds.Tests.PushTest("EccNistP256ApplicationCertificateType",i=23538,"http://opcfoundation.org/UA/SecurityP...",System.Security.Cryptography.ECCurve).UpdateCertificateNewKeyPairPEMAsync

See this annotation in the file changed.

@azure-pipelines azure-pipelines / OPCFoundation.UA-.NETStandard

Opc.Ua.Gds.Tests.PushTest("EccNistP256ApplicationCertificateType",i=23538,"http://opcfoundation.org/UA/SecurityP...",System.Security.Cryptography.ECCurve).UpdateCertificateNewKeyPairPEMAsync

Opc.Ua.ServiceResultException : [80130000] 'Error received from remote host: Could not verify security on OpenSecureChannel request.'
Raw output
   at Opc.Ua.Bindings.ChannelAsyncOperation`1.<EndAsync>d__12.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/ChannelAsyncOperation.cs:line 300
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Bindings.UaSCUaBinaryClientChannel.<ConnectAsync>d__2.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryClientChannel.cs:line 231
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Bindings.UaSCUaBinaryTransportChannel.<OpenInternalAsync>d__29.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryTransportChannel.cs:line 332
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Opc.Ua.Bindings.UaSCUaBinaryTransportChannel.<OpenInternalAsync>d__29.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryTransportChannel.cs:line 344
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.ClientChannelManager.<CreateUaBinaryChannelAsync>d__7.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Client/ClientChannelManager.cs:line 243
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Client.DefaultSessionFactory.<CreateChannelAsync>d__15.MoveNext() in /_/Libraries/Opc.Ua.Client/Session/DefaultSessionFactory.cs:line 286
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Client.DefaultSessionFactory.<CreateAsync>d__20.MoveNext() in /_/Libraries/Opc.Ua.Client/Session/DefaultSessionFactory.cs:line 403
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Gds.Client.ServerPushConfigurationClient.<ConnectInternalAsync>d__86.MoveNext() in /_/Libraries/Opc.Ua.Gds.Client.Common/ServerPushConfigurationClient.cs:line 1176
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Opc.Ua.Gds.Client.ServerPushConfigurationClient.<ConnectAsync>d__59.MoveNext() in /_/Libraries/Opc.Ua.Gds.Client.Common/ServerPushConfigurationClient.cs:line 342
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Gds.Tests.ServerConfigurationPushTestClient.<ConnectAsync>d__34.MoveNext() in /_/Tests/Opc.Ua.Gds.Tests/ServerConfigurationPushTestClient.cs:line 243
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Opc.Ua.Gds.Tests.PushTest.<ConnectPushClientAsync>d__35.MoveNext() in /_/Tests/Opc.Ua.Gds.Tests/PushTest.cs:line 974
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServ

Check failure on line 1 in Opc.Ua.Gds.Tests.PushTest("EccNistP256ApplicationCertificateType",i=23538,"http://opcfoundation.org/UA/SecurityP...",System.Security.Cryptography.ECCurve).UpdateCertificateNewKeyPairPFXAsync

See this annotation in the file changed.

@azure-pipelines azure-pipelines / OPCFoundation.UA-.NETStandard

Opc.Ua.Gds.Tests.PushTest("EccNistP256ApplicationCertificateType",i=23538,"http://opcfoundation.org/UA/SecurityP...",System.Security.Cryptography.ECCurve).UpdateCertificateNewKeyPairPFXAsync

Opc.Ua.ServiceResultException : [80130000] 'Error received from remote host: Could not verify security on OpenSecureChannel request.'
Raw output
   at Opc.Ua.Bindings.ChannelAsyncOperation`1.<EndAsync>d__12.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/ChannelAsyncOperation.cs:line 300
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Bindings.UaSCUaBinaryClientChannel.<ConnectAsync>d__2.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryClientChannel.cs:line 231
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Bindings.UaSCUaBinaryTransportChannel.<OpenInternalAsync>d__29.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryTransportChannel.cs:line 332
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Opc.Ua.Bindings.UaSCUaBinaryTransportChannel.<OpenInternalAsync>d__29.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Tcp/UaSCBinaryTransportChannel.cs:line 344
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.ClientChannelManager.<CreateUaBinaryChannelAsync>d__7.MoveNext() in /_/Stack/Opc.Ua.Core/Stack/Client/ClientChannelManager.cs:line 243
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Client.DefaultSessionFactory.<CreateChannelAsync>d__15.MoveNext() in /_/Libraries/Opc.Ua.Client/Session/DefaultSessionFactory.cs:line 286
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Client.DefaultSessionFactory.<CreateAsync>d__20.MoveNext() in /_/Libraries/Opc.Ua.Client/Session/DefaultSessionFactory.cs:line 403
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Gds.Client.ServerPushConfigurationClient.<ConnectInternalAsync>d__86.MoveNext() in /_/Libraries/Opc.Ua.Gds.Client.Common/ServerPushConfigurationClient.cs:line 1176
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Opc.Ua.Gds.Client.ServerPushConfigurationClient.<ConnectAsync>d__59.MoveNext() in /_/Libraries/Opc.Ua.Gds.Client.Common/ServerPushConfigurationClient.cs:line 342
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Opc.Ua.Gds.Tests.ServerConfigurationPushTestClient.<ConnectAsync>d__34.MoveNext() in /_/Tests/Opc.Ua.Gds.Tests/ServerConfigurationPushTestClient.cs:line 243
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Opc.Ua.Gds.Tests.PushTest.<ConnectPushClientAsync>d__35.MoveNext() in /_/Tests/Opc.Ua.Gds.Tests/PushTest.cs:line 974
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServ