
'Declaration
<CLSCompliantAttribute(False)> <ComVisibleAttribute(True)> <GuidAttribute("4EBB9E50-E292-4D01-A182-8345BC293D21")> <InterfaceTypeAttribute(ComInterfaceType.InterfaceIsDual)> Public Interface _UAClientApplicationParameters
'Usage
Dim instance As _UAClientApplicationParameters
[CLSCompliant(false)] [ComVisible(true)] [Guid("4EBB9E50-E292-4D01-A182-8345BC293D21")] [InterfaceType(ComInterfaceType.InterfaceIsDual)] public interface _UAClientApplicationParameters
[CLSCompliant(false)] [ComVisible(true)] [Guid("4EBB9E50-E292-4D01-A182-8345BC293D21")] [InterfaceType(ComInterfaceType.InterfaceIsDual)] public interface class _UAClientApplicationParameters
// 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");
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
Target Platforms: .NET Framework: Windows 10, Windows Server 2012; .NET Core: Linux, macOS, Microsoft Windows