Message parameters
- Last UpdatedJul 16, 2025
- 5 minute read
This topic describes Message parameters for the config.xml application configuration file.
Message
The Message section covers the configuration of the communications over the framework Message Bus.
Message Type
The AVEVA XR Framework Message Bus is abstracted from the actual implementation of the data transfer protocol. It can use either the embedded transfer protocol or delegate the communications to a plugin node.
Note: It is not possible to mix the two approaches to create a session with nodes using both the embedded communications and the plugin method.
Using the embedded communication transfer protocol
The embedded communication system is based on a star network where one and one only node needs to be set as Message.Type server and all the others as client. The server node is responsible for keeping all clients aligned by dispatching the messages to the proper recipients.
-
All XR Runtime applications can play either role of client and server.
-
The clients must point to the server machine name or IP using the Message.host parameter. For this reason, the communication can happen only between machines in the same network or machines provisioned with a public static IP.
Delegate the communications to a plugin node
By setting Message.type to plugin value, the Message Bus allows a plugin node to register itself as the manager of the communications. The plugin node is then responsible for sending and receiving data messages, and updating the states of the nodes connected to the Message Bus.
-
The plugin node is also responsible for managing proper message dispatching and implementing the required security to protect exchanged data.
-
Only XR Viewer and XR Instructor can use plugin-based communications.
Message Name
Each node on the Message Bus must have an unique network name. By default, it is possible to select from those names used by the Simulation module to manage multi-player. These names can be used in any other context. It is also possible to select different names, but to do that you must edit the config file by hand to include these alternative names in the combo-box selector of the XR Settings tool.
If a client connects to the server and has Message.clientType set to dynamic, a unique name will be assigned to it by the server. This name can be read from global.connections as the first name in the list when the connection is established. Keep in mind that using the dynamic client implies that the instance cannot know its name until connection is established and Message.name will no longer reflect the real instance name.
Embedded http server
Each application embedding the AVEVA™ XR engine hosts a prebuild http server that offers a set of rest methods to provide different functionalities, such as reading and writing data.
Enable the http server
Enabling the http server requires two things:
-
Change the value of Message.httpPort from -1 to a valid http port. 10667 is the usual port value to use.
-
Add a RestServer node in the business logic of the project.
List of Methods
This is a list of available methods that are supported by the http server.
Please keep in mind that it is possible to restrict the supported methods and the readable/writeable data using RestServer fields.
-
Capture: capture w=<width> h=<height> t=<t> o=<o> i=<i>
-
Getlocal: getlocal name=<fieldName> evaluate=<true|false>
-
Setlocal: setlocal name=<fieldName> value=<fieldvalue>
-
Help: list all commands
-
Getlocals: getlocals names=<fieldNames comma separated> evaluate=<true|false>
-
Enumeratenodes: enumeratenodes pars=<all|items>
-
Enumeratefields: enumeratefields pars=<fieldname,all|action>
-
Setaction: item=<item> action=<action> state=<started|stopped>
-
Getimage: getimage name=<image name> w=<width> h=<height> t=<t> o=<o> i=<i>
-
Upload: upload name=<file name>
-
json/getlocal: json/getlocal name=<fieldName>
-
json/setlocal: json/setlocal name=<fieldName> value=<fieldvalue>
You can retrieve the list of the currently supported commands at any time by calling the server with the /help command.
Example: http://localhost:10667/help
For more information about Message Bus, see Configuring the Networked Application.
Example
For example, to get an internal value you can access the application from a browser with an URL such as:
http://localhost:10667/getlocal?name=nodeName.fieldName
Message parameters
This is a list of Message parameters for the config.xml application configuration file.
|
Parameter |
Type |
Support for Windows platform |
Support for Portable platforms |
Description |
|---|---|---|---|---|
|
enable |
sbool |
Yes |
Yes |
Enables and disables the communications over the framework Message Bus. |
|
encryption |
sstring |
Yes |
Yes |
Enables encryption on communication while transferring data over multiple instances. It supports the specification of the MessageBus TCP channel encryption key using any of these:
|
|
name |
sstring |
Yes |
Yes |
Messaging Node Name. Uniquely identifies the application node inside the Message Bus network. |
|
type |
sstring |
Yes |
Yes |
Message Bus network role. Can be set to server, client, or plugin. When using the embedded transfer protocol, the network must have one and one only node configured as server. All other nodes must be assigned as clients. |
|
host |
sstring |
Yes |
Yes |
Host IP address or Hostname of the server of the Message Bus network. This field is used only if type is set to client. |
|
port |
sint |
Yes |
Yes |
Port used for Message Bus TCP communications. By default, this should be set to 10666. All nodes connected to the same Message Bus must use the same port. |
|
webport |
sint |
Yes |
Yes |
Port used for embedded http server. If set to -1 the http server is disabled. |
|
udpport |
sint |
Yes |
Yes |
Port used for Message Bus UDP communications. By default, this should be set to 10665. All nodes connected to the same Message Bus must use the same port. |
|
exitsOnDisconnect |
sbool |
Yes |
No |
Automatically closes the application when disconnecting from Message Bus. |
|
streamType |
sstring |
Yes |
Yes |
Message Bus stream network role. Can be set to server, client, or none. Stream communications work similarly to shared ones with a node configured as server and all the other as clients. The port used is the UDPport. |
|
clientType |
sstring |
Yes |
Yes |
Message Bus client type. Can be set to static or dynamic. When set to dynamic client will receive a unique name from server after connection is established |
