Services
Server

Detailed Description

The UA services that can be called from a remote user.

Discovery Service Set

This Service Set defines Services used to discover the Endpoints implemented by a Server and to read the security configuration for those Endpoints.

void Service_FindServers (UA_Server *server, const UA_FindServersRequest *request, UA_FindServersResponse *response)
void Service_GetEndpoints (UA_Server *server, const UA_GetEndpointsRequest *request, UA_GetEndpointsResponse *response)

SecureChannel Service Set

This Service Set defines Services used to open a communication channel that ensures the confidentiality and Integrity of all Messages exchanged with the Server.

void Service_OpenSecureChannel (UA_Server *server, UA_Connection *connection, const UA_OpenSecureChannelRequest *request, UA_OpenSecureChannelResponse *response)
void Service_CloseSecureChannel (UA_Server *server, UA_Int32 channelId)

Session Service Set

This Service Set defines Services for an application layer connection establishment in the context of a Session.

void Service_CreateSession (UA_Server *server, UA_SecureChannel *channel, const UA_CreateSessionRequest *request, UA_CreateSessionResponse *response)
void Service_ActivateSession (UA_Server *server, UA_SecureChannel *channel, const UA_ActivateSessionRequest *request, UA_ActivateSessionResponse *response)
void Service_CloseSession (UA_Server *server, UA_Session *session, const UA_CloseSessionRequest *request, UA_CloseSessionResponse *response)

NodeManagement Service Set

This Service Set defines Services to add and delete AddressSpace Nodes and References between them. All added Nodes continue to exist in the AddressSpace even if the Client that created them disconnects from the Server.

void Service_AddNodes (UA_Server *server, UA_Session *session, const UA_AddNodesRequest *request, UA_AddNodesResponse *response)
void Service_AddReferences (UA_Server *server, UA_Session *session, const UA_AddReferencesRequest *request, UA_AddReferencesResponse *response)
void Service_DeleteNodes (UA_Server *server, UA_Session *session, const UA_DeleteNodesRequest *request, UA_DeleteNodesResponse *response)
void Service_DeleteReferences (UA_Server *server, UA_Session *session, const UA_DeleteReferencesRequest *request, UA_DeleteReferencesResponse *response)

View Service Set

Clients use the browse Services of the View Service Set to navigate through the AddressSpace or through a View which is a subset of the AddressSpace.

void Service_Browse (UA_Server *server, UA_Session *session, const UA_BrowseRequest *request, UA_BrowseResponse *response)
void Service_BrowseNext (UA_Server *server, UA_Session *session, const UA_BrowseNextRequest *request, UA_BrowseNextResponse *response)
void Service_TranslateBrowsePathsToNodeIds (UA_Server *server, UA_Session *session, const UA_TranslateBrowsePathsToNodeIdsRequest *request, UA_TranslateBrowsePathsToNodeIdsResponse *response)
void Service_RegisterNodes (UA_Server *server, UA_Session *session, const UA_RegisterNodesRequest *request, UA_RegisterNodesResponse *response)
void Service_UnregisterNodes (UA_Server *server, UA_Session *session, const UA_UnregisterNodesRequest *request, UA_UnregisterNodesResponse *response)

Attribute Service Set

This Service Set provides Services to access Attributes that are part of Nodes.

void Service_Read (UA_Server *server, UA_Session *session, const UA_ReadRequest *request, UA_ReadResponse *response)
void Service_Write (UA_Server *server, UA_Session *session, const UA_WriteRequest *request, UA_WriteResponse *response)

Function Documentation

void Service_ActivateSession ( UA_Server server,
UA_SecureChannel channel,
const UA_ActivateSessionRequest request,
UA_ActivateSessionResponse response 
)

Used by the Client to submit its SoftwareCertificates to the Server for validation and to specify the identity of the user associated with the Session. This Service request shall be issued by the Client before it issues any other Service request after CreateSession. Failure to do so shall cause the Server to close the Session.

void Service_AddNodes ( UA_Server server,
UA_Session session,
const UA_AddNodesRequest request,
UA_AddNodesResponse response 
)

Used to add one or more Nodes into the AddressSpace hierarchy.

void Service_AddReferences ( UA_Server server,
UA_Session session,
const UA_AddReferencesRequest request,
UA_AddReferencesResponse response 
)

Used to add one or more References to one or more Nodes.

void Service_Browse ( UA_Server server,
UA_Session session,
const UA_BrowseRequest request,
UA_BrowseResponse response 
)

Used to discover the References of a specified Node. The browse can be further limited by the use of a View. This Browse Service also supports a primitive filtering capability.

void Service_BrowseNext ( UA_Server server,
UA_Session session,
const UA_BrowseNextRequest request,
UA_BrowseNextResponse response 
)

Used to request the next set of Browse or BrowseNext response information that is too large to be sent in a single response. “Too large” in this context means that the Server is not able to return a larger response or that the number of results to return exceeds the maximum number of results to return that was specified by the Client in the original Browse request.

void Service_CloseSecureChannel ( UA_Server server,
UA_Int32  channelId 
)

Used to terminate a SecureChannel.

void Service_CloseSession ( UA_Server server,
UA_Session session,
const UA_CloseSessionRequest request,
UA_CloseSessionResponse response 
)

Used to terminate a Session.

void Service_CreateSession ( UA_Server server,
UA_SecureChannel channel,
const UA_CreateSessionRequest request,
UA_CreateSessionResponse response 
)

Used by an OPC UA Client to create a Session and the Server returns two values which uniquely identify the Session. The first value is the sessionId which is used to identify the Session in the audit logs and in the Server’s address space. The second is the authenticationToken which is used to associate an incoming request with a Session.

void Service_DeleteNodes ( UA_Server server,
UA_Session session,
const UA_DeleteNodesRequest request,
UA_DeleteNodesResponse response 
)

Used to delete one or more Nodes from the AddressSpace.

void Service_DeleteReferences ( UA_Server server,
UA_Session session,
const UA_DeleteReferencesRequest request,
UA_DeleteReferencesResponse response 
)

Used to delete one or more References of a Node.

void Service_FindServers ( UA_Server server,
const UA_FindServersRequest request,
UA_FindServersResponse response 
)
void Service_GetEndpoints ( UA_Server server,
const UA_GetEndpointsRequest request,
UA_GetEndpointsResponse response 
)

Returns the Endpoints supported by a Server and all of the configuration information required to establish a SecureChannel and a Session.

void Service_OpenSecureChannel ( UA_Server server,
UA_Connection connection,
const UA_OpenSecureChannelRequest request,
UA_OpenSecureChannelResponse response 
)

Open or renew a SecureChannel that can be used to ensure Confidentiality and Integrity for Message exchange during a Session.

void Service_Read ( UA_Server server,
UA_Session session,
const UA_ReadRequest request,
UA_ReadResponse response 
)

Used to read one or more Attributes of one or more Nodes. For constructed Attribute values whose elements are indexed, such as an array, this Service allows Clients to read the entire set of indexed values as a composite, to read individual elements or to read ranges of elements of the composite.

void Service_RegisterNodes ( UA_Server server,
UA_Session session,
const UA_RegisterNodesRequest request,
UA_RegisterNodesResponse response 
)

Used to translate textual node paths to their respective ids.

void Service_UnregisterNodes ( UA_Server server,
UA_Session session,
const UA_UnregisterNodesRequest request,
UA_UnregisterNodesResponse response 
)
void Service_Write ( UA_Server server,
UA_Session session,
const UA_WriteRequest request,
UA_WriteResponse response 
)

Used to write one or more Attributes of one or more Nodes. For constructed Attribute values whose elements are indexed, such as an array, this Service allows Clients to write the entire set of indexed values as a composite, to write individual elements or to write ranges of elements of the composite.