
'Declaration
<ComDefaultInterfaceAttribute(OpcLabs.EasyOpc.UA.Engine.ComTypes._UAClientApplicationParameters)> <ComVisibleAttribute(True)> <GuidAttribute("D40C74F9-4901-41FC-ACC0-50704FFA0E21")> <TypeConverterAttribute(System.ComponentModel.ExpandableObjectConverter)> <CLSCompliantAttribute(True)> <SerializableAttribute()> Public Class UAClientApplicationParameters Inherits OpcLabs.BaseLib.Parameters Implements LINQPad.ICustomMemberProvider, OpcLabs.BaseLib.ComTypes._Info, OpcLabs.BaseLib.ComTypes._Parameters, OpcLabs.EasyOpc.UA.Engine.ComTypes._UAClientApplicationParameters, System.ICloneable, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
'Usage
Dim instance As UAClientApplicationParameters
[ComDefaultInterface(OpcLabs.EasyOpc.UA.Engine.ComTypes._UAClientApplicationParameters)] [ComVisible(true)] [Guid("D40C74F9-4901-41FC-ACC0-50704FFA0E21")] [TypeConverter(System.ComponentModel.ExpandableObjectConverter)] [CLSCompliant(true)] [Serializable()] public class UAClientApplicationParameters : OpcLabs.BaseLib.Parameters, LINQPad.ICustomMemberProvider, OpcLabs.BaseLib.ComTypes._Info, OpcLabs.BaseLib.ComTypes._Parameters, OpcLabs.EasyOpc.UA.Engine.ComTypes._UAClientApplicationParameters, System.ICloneable, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
[ComDefaultInterface(OpcLabs.EasyOpc.UA.Engine.ComTypes._UAClientApplicationParameters)] [ComVisible(true)] [Guid("D40C74F9-4901-41FC-ACC0-50704FFA0E21")] [TypeConverter(System.ComponentModel.ExpandableObjectConverter)] [CLSCompliant(true)] [Serializable()] public ref class UAClientApplicationParameters : public OpcLabs.BaseLib.Parameters, LINQPad.ICustomMemberProvider, OpcLabs.BaseLib.ComTypes._Info, OpcLabs.BaseLib.ComTypes._Parameters, OpcLabs.EasyOpc.UA.Engine.ComTypes._UAClientApplicationParameters, System.ICloneable, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable
In order to obtain or modify these parameters, access the UAClientEngineParameters.ApplicationParameters property of EasyUASharedParameters.EngineParameters property of static OpcLabs.EasyOpc.UA.EasyUAClient.SharedParameters.
// This example demonstrates how to set the application name for the client certificate. using System; using OpcLabs.BaseLib.Instrumentation; using OpcLabs.EasyOpc.UA; using OpcLabs.EasyOpc.UA.OperationModel; namespace UADocExamples._UAApplicationManifest { class ApplicationName { public static void Main1() { UAEndpointDescriptor endpointDescriptor = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer"; // or "http://opcua.demo-this.com:51211/UA/SampleServer" (not in .NET Standard) // or "https://opcua.demo-this.com:51212/UA/SampleServer/" // Hook static events EasyUAClient.LogEntry += EasyUAClientOnLogEntry; try { // Set the application name, which determines the subject of the client certificate. // Note that this only works once in each host process. EasyUAClient.SharedParameters.EngineParameters.ApplicationParameters.ApplicationManifest.ApplicationName = "QuickOPC - CSharp example application"; // Do something - invoke an OPC read, to trigger some loggable entries. var client = new EasyUAClient(); try { client.ReadValue(endpointDescriptor, "nsu=http://test.org/UA/Data/;i=10853"); } catch (UAException uaException) { Console.WriteLine("*** Failure: {0}", uaException.GetBaseException().Message); } // The certificate will be located or created in a directory similar to: // C:\ProgramData\OPC Foundation\CertificateStores\MachineDefault\certs // and its subject will be as given by the application name. Console.WriteLine("Processing log entry events for 10 seconds..."); System.Threading.Thread.Sleep(10 * 1000); Console.WriteLine("Finished."); } finally { // Unhook static events EasyUAClient.LogEntry -= EasyUAClientOnLogEntry; } } // Event handler for the LogEntry event. // Print the loggable entry containing client certificate parameters. private static void EasyUAClientOnLogEntry(object sender, LogEntryEventArgs logEntryEventArgs) { if (logEntryEventArgs.EventId == 161) Console.WriteLine(logEntryEventArgs); } } }
// This example demonstrates how to set the application name for the client certificate. type TClientConfigurationEventHandlers103 = class procedure OnLogEntry( ASender: TObject; sender: OleVariant; const eventArgs: _LogEntryEventArgs); end; // Event handler for the LogEntry event. // Print the loggable entry containing client certificate parameters. procedure TClientConfigurationEventHandlers103.OnLogEntry( ASender: TObject; sender: OleVariant; const eventArgs: _LogEntryEventArgs); begin if eventArgs.EventId = 161 then WriteLn(eventArgs.ToString); end; class procedure ApplicationName.Main; var Client: OpcLabs_EasyOpcUA_TLB._EasyUAClient; ClientConfiguration: TEasyUAClientConfiguration; ClientConfigurationEventHandlers: TClientConfigurationEventHandlers103; Value: OleVariant; begin // The configuration object allows access to static behavior - here, the // shared LogEntry event. ClientConfiguration := TEasyUAClientConfiguration.Create(nil); ClientConfigurationEventHandlers := TClientConfigurationEventHandlers103.Create; ClientConfiguration.OnLogEntry := ClientConfigurationEventHandlers.OnLogEntry; ClientConfiguration.Connect; try // Set the application name, which determines the subject of the client certificate. // Note that this only works once in each host process. ClientConfiguration.SharedParameters.EngineParameters.ApplicationParameters.ApplicationManifest.ApplicationName := 'QuickOPC - Delphi example application'; // Do something - invoke an OPC read, to trigger some loggable entries. Client := CoEasyUAClient.Create; try Value := Client.ReadValue( 'http://opcua.demo-this.com:51211/UA/SampleServer', 'nsu=http://test.org/UA/Data/;i=10853'); except on E: EOleException do begin WriteLn(Format('*** Failure: %s', [E.GetBaseException.Message])); end; end; // The certificate will be located or created in a directory similar to: // C:\ProgramData\OPC Foundation\CertificateStores\MachineDefault\certs // and its subject will be as given by the application name. WriteLn('Processing log entry events for 10 seconds...'); PumpSleep(10*1000); WriteLn('Finished...'); finally FreeAndNil(ClientConfiguration); FreeAndNil(ClientConfigurationEventHandlers); end; end;
// This example demonstrates how to set the application name for the client certificate. class ClientConfigurationEvents { // Event handler for the LogEntry event. // Print the loggable entry containing client certificate parameters. function LogEntry($Sender, $E) { if ($E->EventId = 161) printf("%s\n", $E); } } // The configuration object allows access to static behavior - here, the // shared LogEntry event. $ClientConfiguration = new COM("OpcLabs.EasyOpc.UA.EasyUAClientConfiguration"); $ClientConfigurationEvents = new ClientConfigurationEvents(); com_event_sink($ClientConfiguration, $ClientConfigurationEvents, "DEasyUAClientConfigurationEvents"); // Set the application name, which determines the subject of the client certificate. // Note that this only works once in each host process. $ClientConfiguration->SharedParameters->EngineParameters->ApplicationParameters->ApplicationManifest->ApplicationName = "QuickOPC - PHP example application"; // Do something - invoke an OPC read, to trigger some loggable entries. $Client = new COM("OpcLabs.EasyOpc.UA.EasyUAClient"); try { $value = $Client->ReadValue("http://opcua.demo-this.com:51211/UA/SampleServer", "nsu=http://test.org/UA/Data/;i=10853"); } catch (com_exception $e) { printf("*** Failure: %s\n", $e->getMessage()); } // The certificate will be located or created in a directory similar to: // C:\ProgramData\OPC Foundation\CertificateStores\MachineDefault\certs // and its subject will be as given by the application name. printf("Processing log entry events for 10 seconds..."); $startTime = time(); do { com_message_pump(1000); } while (time() < $startTime + 10); printf("Finished.\n");
' This example demonstrates how to set the application name for the client certificate. Imports OpcLabs.BaseLib.Instrumentation Imports OpcLabs.EasyOpc.UA Imports OpcLabs.EasyOpc.UA.OperationModel Namespace UADocExamples._UAApplicationManifest Friend Class ApplicationName Public Shared Sub Main1() Dim endpointDescriptor As UAEndpointDescriptor = "opc.tcp://opcua.demo-this.com:51210/UA/SampleServer" ' or "http://opcua.demo-this.com:51211/UA/SampleServer" (not in .NET Standard) ' or "https://opcua.demo-this.com:51212/UA/SampleServer/" ' Hook static events AddHandler EasyUAClient.LogEntry, AddressOf EasyUAClientOnLogEntry Try ' Set the application name, which determines the subject of the client certificate. ' Note that this only works once in each host process. EasyUAClient.SharedParameters.EngineParameters.ApplicationParameters.ApplicationManifest.ApplicationName = "QuickOPC - VBNet example application" ' Do something - invoke an OPC read, to trigger some loggable entries. Dim client = New EasyUAClient() Try client.ReadValue(endpointDescriptor, "nsu=http://test.org/UA/Data/;i=10853") Catch uaException As UAException Console.WriteLine("*** Failure: {0}", uaException.GetBaseException.Message) Exit Sub End Try ' The certificate will be located or created in a directory similar to: ' C:\ProgramData\OPC Foundation\CertificateStores\MachineDefault\certs ' and its subject will be as given by the application name. Console.WriteLine("Processing log entry events for 10 seconds...") Threading.Thread.Sleep(10 * 1000) Console.WriteLine("Finished.") Finally ' Unhook static events RemoveHandler EasyUAClient.LogEntry, AddressOf EasyUAClientOnLogEntry End Try End Sub ' Event handler for the LogEntry event. ' Print the loggable entry containing client certificate parameters. Private Shared Sub EasyUAClientOnLogEntry(ByVal sender As Object, ByVal logEntryEventArgs As LogEntryEventArgs) If (logEntryEventArgs.EventId = 161) Then Console.WriteLine(logEntryEventArgs) End If End Sub End Class End Namespace
Rem This example demonstrates how to set the application name for the client certificate. Option Explicit ' The configuration object allows access to static behavior. Dim ClientConfiguration: Set ClientConfiguration = CreateObject("OpcLabs.EasyOpc.UA.EasyUAClientConfiguration") WScript.ConnectObject ClientConfiguration, "ClientConfiguration_" ' Set the application name, which determins the subject of the client certificate. ' Note that this only works once in each host process. ClientConfiguration.SharedParameters.EngineParameters.ApplicationParameters.ApplicationManifest.ApplicationName = "QuickOPC - VBScript example application" ' Do something - invoke an OPC read, to trigger some loggable entries. Dim Client: Set Client = CreateObject("OpcLabs.EasyOpc.UA.EasyUAClient") On Error Resume Next Dim value: value = Client.ReadValue("http://opcua.demo-this.com:51211/UA/SampleServer", "nsu=http://test.org/UA/Data/;i=10853") If Err.Number <> 0 Then WScript.Echo "*** Failure: " & Err.Source & ": " & Err.Description WScript.Quit End If On Error Goto 0 ' The certificate will be located or created in a directory similar to: ' C:\Users\All Users\OPC Foundation\CertificateStores\UA Applications\certs\ ' and its subject will be as given by the application name. WScript.Echo "Processing log entry events for 10 seconds..." WScript.Sleep 10*1000 WScript.Echo "Finished." ' Event handler for the LogEntry event. ' Print the loggable entry containing client certificate parameters. Sub ClientConfiguration_LogEntry(Sender, e) If e.EventId = 161 Then WScript.Echo e End Sub
System.Object
OpcLabs.BaseLib.Info
OpcLabs.BaseLib.Parameters
OpcLabs.EasyOpc.UA.Engine.UAClientApplicationParameters
Target Platforms: .NET Framework: Windows 10, Windows Server 2012; .NET Core: Linux, macOS, Microsoft Windows