APIs

Show:

Constructor

OPCUAServer

(
  • options
)

Parameters:

  • options Object
    • [defaultSecureTokenLifetime= 60000] Number optional

      the default secure token life time in ms.

    • [timeout=10000] Number optional

      the HEL/ACK transaction timeout in ms. Use a large value ( i.e 15000 ms) for slow connections or embedded devices.

    • [port= 26543] Number optional

      the TCP port to listen to.

    • [maxAllowedSessionNumber= 10] optional

      the maximum number of concurrent sessions allowed.

    • [nodeset_filename] Array | String optional

      the nodeset.xml files to load

    • [serverInfo= null] optional

      the information used in the end point description

      • [applicationUri= "urn:NodeOPCUA-Server"] String optional
      • [productUri= "NodeOPCUA-Server"] String optional
      • [applicationName] Text: "applicationName" optional
        {LocalizedText}
      • [gatewayServerUri= null] String optional
      • [discoveryProfileUri= null] String optional
      • [discoveryUrls= []] Array optional
    • [securityPolicies= [SecurityPolicy.None,SecurityPolicy.Basic128Rsa15,SecurityPolicy.Basic256]] optional
    • [securityModes= [MessageSecurityMode.NONE,MessageSecurityMode.SIGN,MessageSecurityMode.SIGNANDENCRYPT]] optional
    • [disableDiscovery= false] optional

      true if Discovery Service on unsecure channel shall be disabled

    • [allowAnonymous= true] optional

      tells if the server default endpoints should allow anonymous connection.

    • [userManager= null] optional

      a object that implements user authentication methods

      • [isValidUser] optional
        synchronous function to check the credentials - can be overruled by isValidUserAsync
      • [isValidUserAsync] optional
        asynchronous function to check if the credentials - overrules isValidUser
      • [getUserRole] optional
        synchronous function to return the role of the given user
    • [resourcePath=null] String optional

      resource Path is a string added at the end of the url such as "/UA/Server"

    • [alternateHostname=null] String optional

      alternate hostname to use

    • [maxConnectionsPerEndpoint=null] optional
    • [serverCapabilities] optional

      UserNameIdentityToken is valid.

    • [isAuditing= false] Boolean optional

      true if server shall raise AuditingEvent

    • [registerServerMethod= RegisterServerMethod.HIDDEN] RegisterServerMethod optional
    • [discoveryServerEndpointUrl= "opc.tcp://localhost:4840"] optional
    • [capabilitiesForMDNS= ["NA"]] Array optional

      supported server capabilities for the Mutlicast (mDNS) (any of node-opcua-discovery.serverCapabilities)

Methods

_apply_on_SessionObject

(
  • ResponseClass
  • message
  • channel
  • action_to_perform
)
private

ensure that action is performed on a valid session object,

Parameters:

  • ResponseClass Constructor

    the constructor of the response Class

  • message Object
  • channel Object
  • action_to_perform Function
    • session ServerSession
    • sendResponse Function
      • response ResponseClass
    • sendError Function
      • statusCode StatusCode
      • diagnostics DiagnosticsInfo

_apply_on_Subscription

(
  • ResponseClass
  • message
  • channel
  • action_to_perform
)
private

Parameters:

  • ResponseClass Object
  • message Object
  • channel Object
  • action_to_perform Object

_apply_on_SubscriptionIds

(
  • ResponseClass
  • message
  • channel
  • action_to_perform
)
private

Parameters:

  • ResponseClass Object
  • message Object
  • channel Object
  • action_to_perform Object

_apply_on_Subscriptions

(
  • ResponseClass
  • message
  • channel
  • action_to_perform
)
private

Parameters:

  • ResponseClass Object
  • message Object
  • channel Object
  • action_to_perform Object

_createSubscriptionOnSession

(
  • request
)
Subscription
create a new subscription

Parameters:

  • request Object
    • requestedPublishingInterval Duration
    • requestedLifetimeCount Counter
    • requestedMaxKeepAliveCount Counter
    • maxNotificationsPerPublish Counter
    • publishingEnabled Boolean
    • priority Byte

Returns:

_on_ActivateSessionRequest

(
  • message
  • channel
)
private

Parameters:

_on_BrowseNextRequest

(
  • message
  • channel
)
private

Parameters:

  • message Object
  • channel Object

_on_BrowseRequest

(
  • message
  • channel
)
private

Parameters:

  • message Object
  • channel Object

_on_CloseSessionRequest

(
  • message
  • channel
)
private

Parameters:

  • message Object
  • channel Object

_on_FindServersRequest

(
  • message
  • channel
)
private

Parameters:

  • message Object
  • channel Object

_on_GetEndpointsRequest

(
  • message
  • channel
)
private

Parameters:

  • message Object
  • channel Object

bindMethod

(
  • nodeId
  • func
)

Parameters:

  • nodeId NodeId
    the node id of the method
  • func Object
    • inputArguments Array
    • context Object
    • callback Function

browse

(
  • nodesToBrowse
  • [session]
)
BrowseResult[]

Parameters:

Returns:

browsePath

(
  • browsePath
)
BrowsePathResult

Parameters:

  • browsePath Object

Returns:

browseSingleNode

(
  • nodeId
  • browseDescription
  • [session]
)
BrowseResult

Parameters:

Returns:

closeSession

(
  • authenticationToken
  • deleteSubscriptions
  • [reason = "CloseSession"]
)

Parameters:

  • authenticationToken Object
  • deleteSubscriptions Boolean
    : true if sessions's subscription shall be deleted
  • [reason = "CloseSession"] String optional
    the reason for closing the session (shall be "Timeout", "Terminated" or "CloseSession") what the specs say: ------------------- If a Client invokes the CloseSession Service then all Subscriptions associated with the Session are also deleted if the deleteSubscriptions flag is set to TRUE. If a Server terminates a Session for any other reason, Subscriptions associated with the Session, are not deleted. Each Subscription has its own lifetime to protect against data loss in the case of a Session termination. In these cases, the Subscription can be reassigned to another Client before its lifetime expires.

createSession

() ServerSession

create and register a new session

Returns:

getChannels

() Array

returns a array of currently active channels

Returns:

Array:

getSession

(
  • authenticationToken
  • activeOnly
)

retrieve a session by authentication token

Parameters:

  • authenticationToken Object
  • activeOnly Object

    search only within sessions that are not closed

historyRead

(
  • context
  • historyReadRequest
  • callback
)

Parameters:

historyReadSingleNode

(
  • context
  • nodeId
  • attributeId
  • historyReadDetails
  • [timestampsToReturn=TimestampsToReturn.Neither]
  • callback
)

Parameters:

initialize

(
  • done
)
async

Initialize the server by installing default node set.

Parameters:

  • done Function

iterate_on_signed_message_chunks

(
  • buffer
  • callback
)

Parameters:

  • buffer Object
  • callback Function
    • err Error
    • chunks Array

makeServiceFault

(
  • statusCode
  • messages
)

construct a service Fault response

Parameters:

  • statusCode Object
  • messages Object

read

(
  • readRequest
)
DataValue[]

Parameters:

  • readRequest ReadRequest
    • timestampsToReturn TimestampsToReturn
    • nodesToRead
    • maxAge Number

      maxAge - must be greater or equal than zero. Maximum age of the value to be read in milliseconds. The age of the value is based on the difference between the ServerTimestamp and the time when the Server starts processing the request. For example if the Client specifies a maxAge of 500 milliseconds and it takes 100 milliseconds until the Server starts processing the request, the age of the returned value could be 600 milliseconds prior to the time it was requested. If the Server has one or more values of an Attribute that are within the maximum age, it can return any one of the values or it can read a new value from the data source. The number of values of an Attribute that a Server has depends on the number of MonitoredItems that are defined for the Attribute. In any case, the Client can make no assumption about which copy of the data will be returned. If the Server does not have a value that is within the maximum age, it shall attempt to read a new value from the data source. If the Server cannot meet the requested maxAge, it returns its 'best effort' value rather than rejecting the request. This may occur when the time it takes the Server to process and return the new data value after it has been accessed is greater than the specified maximum age. If maxAge is set to 0, the Server shall attempt to read a new value from the data source. If maxAge is set to the max Int32 value or greater, the Server shall attempt to geta cached value. Negative values are invalid for maxAge.

Returns:

readSingleNode

(
  • context
  • nodeId
  • attributeId
  • [timestampsToReturn=TimestampsToReturn.Neither]
)
DataValue

Parameters:

  • context SessionContext
  • nodeId Object
  • attributeId AttributeId
  • [timestampsToReturn=TimestampsToReturn.Neither] Object optional

Returns:

refreshValues

(
  • nodesToRefresh
  • callback
)
async
performs a call to `asyncRefresh` on all variable nodes that provide an async refresh func.

Parameters: