Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ XR Studio

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:

  1. Change the value of Message.httpPort from -1 to a valid http port. 10667 is the usual port value to use.

  2. 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:

  • Secret protected on user scope using DPAPI (only on Windows).

  • Secret protected in Keychain (for iOS and Android).

  • Cleartext encryption key specified in config on any platform (this option should be used only in cases where the deployment architecture allows the confidentiality of the secret by other means).

  • For DPAPI on Windows, set the encryption key as: dpapi:<EncryptedKey>

    Note: EncryptedKey should have been obtained using a null or empty string as entropy.

  • For Keychain on Portable Devices, set the value as: keychain:<key>

    where "key" stands for the key in the key-value pair in the secure storage containing the encryption key as value.

  • For Cleartext on any platform, set the value as: password:<encryptionKey>

    In case this configuration is empty, the MessageBus TCP channel is not encrypted. Please make sure you understand the security implications if you use this option in any deployment.

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

In This Topic
TitleResults for “How to create a CRG?”Also Available in