QuickOPC User's Guide and Reference
UAEndpointDescriptor Class
Members 



OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA Namespace : UAEndpointDescriptor Class
Contains data defining a connection to the OPC-UA Server (mainly, its URL string).
Object Model
UAEndpointDescriptor ClassUAEndpointSelectionPolicy ClassUAEndpointDescriptor ClassIPkiCertificate InterfaceUserIdentity Class
Syntax
'Declaration
 
<CLSCompliantAttribute(True)>
<ComDefaultInterfaceAttribute(OpcLabs.EasyOpc.UA.ComTypes._UAEndpointDescriptor)>
<ComVisibleAttribute(True)>
<GuidAttribute("F4773A26-7A58-4349-8326-873629FC483F")>
<TypeConverterAttribute(OpcLabs.EasyOpc.UA.Implementation.UAEndpointDescriptorConverter)>
<SerializableAttribute()>
Public NotInheritable Class UAEndpointDescriptor 
   Inherits OpcLabs.BaseLib.EndpointDescriptor
   Implements LINQPad.ICustomMemberProvider, OpcLabs.BaseLib.ComTypes._EndpointDescriptor, OpcLabs.BaseLib.ComTypes._Info, OpcLabs.BaseLib.ComTypes._ResourceDescriptor, OpcLabs.BaseLib.Text.IStringListSerializable, OpcLabs.EasyOpc.UA.ComTypes._UAEndpointDescriptor, System.ComponentModel.INotifyPropertyChanged, System.ICloneable, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable 
'Usage
 
Dim instance As UAEndpointDescriptor
[CLSCompliant(true)]
[ComDefaultInterface(OpcLabs.EasyOpc.UA.ComTypes._UAEndpointDescriptor)]
[ComVisible(true)]
[Guid("F4773A26-7A58-4349-8326-873629FC483F")]
[TypeConverter(OpcLabs.EasyOpc.UA.Implementation.UAEndpointDescriptorConverter)]
[Serializable()]
public sealed class UAEndpointDescriptor : OpcLabs.BaseLib.EndpointDescriptor, LINQPad.ICustomMemberProvider, OpcLabs.BaseLib.ComTypes._EndpointDescriptor, OpcLabs.BaseLib.ComTypes._Info, OpcLabs.BaseLib.ComTypes._ResourceDescriptor, OpcLabs.BaseLib.Text.IStringListSerializable, OpcLabs.EasyOpc.UA.ComTypes._UAEndpointDescriptor, System.ComponentModel.INotifyPropertyChanged, System.ICloneable, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable  
[CLSCompliant(true)]
[ComDefaultInterface(OpcLabs.EasyOpc.UA.ComTypes._UAEndpointDescriptor)]
[ComVisible(true)]
[Guid("F4773A26-7A58-4349-8326-873629FC483F")]
[TypeConverter(OpcLabs.EasyOpc.UA.Implementation.UAEndpointDescriptorConverter)]
[Serializable()]
public ref class UAEndpointDescriptor sealed : public OpcLabs.BaseLib.EndpointDescriptor, LINQPad.ICustomMemberProvider, OpcLabs.BaseLib.ComTypes._EndpointDescriptor, OpcLabs.BaseLib.ComTypes._Info, OpcLabs.BaseLib.ComTypes._ResourceDescriptor, OpcLabs.BaseLib.Text.IStringListSerializable, OpcLabs.EasyOpc.UA.ComTypes._UAEndpointDescriptor, System.ComponentModel.INotifyPropertyChanged, System.ICloneable, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable  
Remarks

An implicit conversion from a System.String containing the URL of the endpoint exists. It is therefore common to specify UAEndpointDescriptor-s as strings, relying on the implicit conversion.

EndPoint:
"a physical address available on a network that allows Clients to access one or more Services provided by a Server."
REMARK: "Each Server may have multiple Endpoints. The address of an Endpoint shall include a HostName."

 

A Server Endpoint is a physical address available on a network that allows clients to access one or more services provided by a server. Server endpoint is specified by its URL string.

Besides standard URLs e.g. with HTTP scheme, OPC Unified Architecture uses its own schemes, such as “opc.tcp”. Examples of server endpoint URL strings are:

Note: For backward compatibility, it is also possible to use “opc.http:” in place of “http:” scheme in OPC UA endpoint descriptors (for OPC Unified Architecture over SOAP/HTTP). You should not, however, use “opc.http:” in new projects.

In QuickOPC-UA, server endpoint corresponds to a UAEndpointDescriptor object that you create and pass to various methods. An implicit conversion from a string containing the URL of the endpoint exists. It is therefore common to specify UAEndpointDescriptor-s simply as strings, relying on the implicit conversion.

Endpoint Selection Policy

A single OPC-UA server may have multiple endpoints with the same functionality, but using different protocols, or different security settings, and expose the list of its own endpoint using discovery services. By default, the component will attempt to interpret the server endpoint you have specified as server’s discovery endpoint, and automatically select the best endpoint.

How precisely the endpoint is selected is determined by Endpoint Selection Policy (UAEndpointSelectionPolicy object) that you can parameterize in the SessionParameters property on the EasyUAClient object. Such parameterization has a global effect. You can also specify the endpoint selection policy individually for just a specific endpoint descriptor. To do so, set the EndpointSelectionPolicy Property of the UAEndpointDescriptor to a non-null instance of UAEndpointSelectionPolicy. For details, see OPC UA Endpoint Selection Policy.

User Identity

If a user authentication is required by the OPC UA server, you can specify user identity on the endpoint, in the UAEndpointDescriptor object (alternatively, it can be specified in session parameters - the token infos from these two places are effectively merged together). See User Identity in QuickOPC-UA for more detailed discussion of this topic.

In order to make specifying the user identity with an endpoint descriptor easy QuickOPC has extension methods on the UAEndpointDescriptor class. They are:

These methods return a copy of the endpoint descriptor with the specified token info in its user identity.

 

Inheritance Hierarchy

System.Object
   OpcLabs.BaseLib.Info
      OpcLabs.BaseLib.ResourceDescriptor
         OpcLabs.BaseLib.EndpointDescriptor
            OpcLabs.EasyOpc.UA.UAEndpointDescriptor

Requirements

Target Platforms: .NET Framework: Windows 10, Windows Server 2012; .NET Core: Linux, macOS, Microsoft Windows

See Also

Reference

UAEndpointDescriptor Members
OpcLabs.EasyOpc.UA Namespace