8. Release Notes

8.1. Supported Platforms

RTI Web Integration Service is supported on the platforms in Table 8.1.

Table 8.1 Supported Platforms
Platform Operating System
Linux® (Intel® CPU) All Linux platforms on x86/x64 CPUs in the RTI Connext DDS Core Libraries Release Notes for the same version number, except not supported on Wind River® Linux 7 systems.
Linux (ARM® CPU) Ubuntu® 16.04 LTS on ARM v8 CPU
OS X® All OS X platforms in the RTI Connext DDS Core Libraries Release Notes with the same version number.
Windows® All Windows platforms in the RTI Connext DDS Core Libraries Release Notes for the same version number.

Web Integration Service is also supported on the platforms in Table 8.2; these are target platforms for which RTI offers custom support. If you are interested in these platforms, please contact your local RTI representative or email sales@rti.com.

Table 8.2 Custom Supported Platforms
Operating System CPU Compiler RTI Architecture Abbreviation
RedHawk™ Linux 6.5 PPC x86 gcc 4.9.2 i86RedHawk6.5gcc4.9.2
RedHawk Linux 6.5 PPC x64 gcc 4.9.2 x64RedHawk6.5gcc4.9.2

8.2. Compatibility

For backward compatibility information between Web Integration Service 6.0.0 and previous releases, please see the Migration Guide on the RTI Community portal.

8.3. What’s New in 6.0.0

8.3.1. New Platforms

This release adds support for:
  • SUSE Linux Enterprise Server 12 on x64 (x64Linux2.6gcc4.3.4)
  • Ubuntu 16.04 LTS on ARM v8 (armv8Linux4.4gcc5.4.0)
  • Ubuntu 18.04 LTS on x64 (x64Linux4gcc7.3.0)

8.3.2. Ability to Enable Topics

Like any other Entity, a DDS Topic can be created in enabled or disabled mode. This version of Web Integration Service introduces an option to enable Topics that were created in disabled mode. This option was already available for other DDS entities (i.e., DomainParticipants, Publishers, Subscribers, DataWriters, and DataReaders). For more information on this new functionality, please see the API Reference section of this document.

8.3.3. Upgraded to CivetWeb v1.11

Web Integration Service has upgraded the version of its embedded web server, CivetWeb, to v1.11. For more information on CivetWeb, please see its Release Notes on GitHub.

8.4. What’s Fixed in 6.0.0

8.4.1. Attempt to create invalid application not reported as error

Web Integration Service failed to return an error upon the creation of invalid applications that tried to register previously undefined types. This problem has been resolved.

[RTI Issue ID WEBINT-129]

8.5. Previous Releases

8.5.1. What’s Fixed in 5.3.1 CRLF Line-Endings in rtiwebintegrationservice Script

In the original release of RTI Connext DDS 5.3.1, rtiwebintegrationservice – the script that runs RTI Web Integration Service on UNIX-like systems (that is, Linux and OS X) – contained CRLF line-endings, which prevented the script from executing. This issue has been resolved.

8.5.2. What’s New in 5.3.0 Changes in XML and JSON Data Representation

This release introduces a few changes in the data representation in XML and JSON format.

Octets are now represented using a decimal value. For example:

    "anOctet": 255

Enumeration literals are now represented as strings by default. You may use the enumsAsIntegers query parameter to enable the old behavior (see Table 5.20).

    "anEnum": "ACE"

Characters and Wide Characters now support escape sequences to represent non-printable characters. For example:

    "myChar1": "a",
    "myChar2": "\u2605",
    "myWChar1": "b",
    "myWChar2": "\u2605"

Likewise, Strings and Wide Strings now support escaped sequences to represent non-printable characters.

    <aString>El r&#x00ED;o mi&#x00F1;o</aString>
    "aString": "El r\u00EDo mi\u00F1o"

An Instance Handle is now represented as a string, where each element of the old sequence is represented in hexadecimal. For example:

    "instance_handle": "580BA4179B1A6D6B4CD7CE4F54B3B63C"
} New parameters to configure sample representation

This release introduces a new set of parameters to configure sample representation when reading through the GET operation on a DataReader. Before this release, you could only choose the format representation via the sampleFormat query parameter, now you can also use:

  • prettyPrint, which produces a response body with indentation and line breaks. By default the response body of the read operation is represented in a compact format without indentation and line breaks (i.e., prettyPrint = False).
  • enumsAsIntegers, which produces a response body where enumeration literals are represented as integers rather than strings. By default, enumeration literals are represented as strings (i.e., enumsAsIntegers = False). New examples

Web Integration Service includes new examples as part of the installation. These can be found under <path to examples>/web_integration_service. Admin Console support

RTI Admin Console has added support for Web Integration Service. You can now use Admin Console to browse the entities created by Web Integration Service and their associated QoS settings. Support for NaN and Infinity in XML and JSON data representation

This release adds support for the representation of out-of-bound members in XML and JSON data samples.

In XML, not-a-number values (NaN) and infinity values are represented as follows:


In JSON format NaN and Infinity values are represented according to the ECMAScript specification. That is:

    "aValue": "\"NaN\"",
    "anotherValue": "\"Infinity\""
} Attribute kind in <register_type> XML Tag is no longer necessary

The attribute kind in the <register_type> XML tag is no longer required and its use is deprecated. This change does not affect the way Web Integration Service registers types.

Web Integration Service will still load configurations using the attribute kind, but it will log a warning similar to this:

DDS_XMLRegisterType_initialize:XML attribute 'kind' in tag <register_type> is
deprecated and will be ignored Upgraded to CivetWeb v1.9.1

Web Integration Service has upgraded the version of its embedded web server—CivetWeb—to v1.9.1. For more information on CivetWeb, please see the Release Notes document on GitHub. Support for builtin heap monitoring

Web Integration Service incorporates a builtin heap memory monitor that provides a way to analyze the heap allocations performed at the service and RTI Connext DDS layers. You can use heap monitoring through the command line with the following options:

  • heapSnapshotPeriod <sec> Enables heap monitoring and generates a heap snapshot every <sec>.
  • heapSnapshotDir <dir> Specifies the output directory where the heap monitoring snapshots are dumped. The generated dump files have the following name: RTI_heap_<processId>_<index>.log, where <processId>` is the process ID of the service execution, and ``<index> is an integer that automatically increases each snapshot period.

For details related to the format of the snapshot files, see the API Reference HTML documentation for Connext DDS.

8.5.3. What’s Fixed in 5.3.0 Error listing types defined in different configuration files

When listing the types available in the system, Web Integration Service would display only types defined in the default configuration file, RTI_WEB_INTEGRATION_SERVICE.xml, or loaded via the REST API. Types defined in USERS_WEB_INTEGRATION_SERVICE.xml and other configuration files were excluded from the list. This problem has been resolved.

[RTI Issue ID WEBINT-112] Waitsets did not awaken when Web Integration Service was closed

Client applications can configure a maxWait time to wait for a number of read conditions when calling GET on a DDS DataReader to read data. This functionality blocks the thread that handles the HTTP request using a DDS Waitset.

In Web Integration Service 5.2.3 and earlier, DDS Waitsets used throughout the service did not include a condition that would unblock them upon the reception of a signal to close the service (e.g., a signal generated by a CTRL+c command). As a result, after you entered CTRL+c, Web Integration Service would not exit until all DDS Waitsets had timed out. This problem has been resolved.

[RTI Issue ID WEBINT-127]

8.5.4. What’s New In 5.2.3 JSON support for writing and reading samples

Users can now write and read data samples using JSON. This complements the default XML format, making it simpler to map the data samples that are sent and received with Javascript objects. However, the definition of entities and QoS settings must be done in XML. Simple authentication mechanism

Web Integration Service implements a simple authentication mechanism that ensures—if enabled—that only client applications with the appropriate API key can perform operations via the REST API. API keys are stored in an Access Control List file that can be created with Web Integration Service’s executable. HTTPS must be enabled to ensure that API keys are not intercepted by malicious applications. Service configurations

For consistency with other RTI infrastructure services such as Routing Service or Persistence Service, we have introduced the concept of a Web Integration Service configuration. A service configuration contains a set of applications that are instantiated when the service is loaded. As a result, users need to specify a configuration when starting the service. Applications created via Web Integration Service’s REST API will automatically be appended to the list of applications under the running configuration. Improved debugging messages

To make it simpler to debug an application, Web Integration Service provides detailed logging information when the service is run with verbosity levels of 5 or greater. These messages are logged via command line and can be enabled using the -verbosity command-line option. Query strings to configure elements to read from DataReader’s queue

We have added a set of query strings to select the samples from the DataReader’s queue that must be read or taken. This includes filtering samples based on status conditions and filter expressions. We have also added the ability to configure whether to perform a take or a read operation (i.e., whether the samples read must be deleted from the DataReader’s cache or not). Updated REST APIs to comply with latest revision of Web-Enabled DDS OMG specification

  • Changed DomainParticipant’s resource name on URLs from participants/ to domain_participants/.
  • Changed DataWriter’s and DataReader’s resource name on URLs from datawriters/ and datareaders/ to data_writers/ and data_readers/.
  • Changed the default value of the Content-Type header from application/webdds+xml to application/dds-web+xml.
  • Added support for OMG-DDS-API-Key header.
  • Changed XML tags from “camelCase” to “snake_case” in the read data samples in the data and metadata sections.

8.5.5. What’s Fixed in 5.2.3 Error generating log messages with more than 1000 characters

We have normalized the error message representation that we include in HTTP responses. As a result, we have fixed a crash in Web Integration Service when logging error messages longer than 1,000 characters.

[RTI Issue ID WEBINT-88] Error accessing Web Integration Service concurrently

We have fixed a thread-safety issue in the internal DDS functions that look up entities. Because these functions were not thread safe in previous versions of RTI Connext DDS, concurrent access to Web Integration Service could result in a hang that required a service restart.

[RTI Issue ID WEBINT-98]

8.6. Known Issues

8.6.1. Configurations and their applications cannot use same name

Due to current limitations in Connext DDS’s XML Parser, the name of the Web Integration Service configuration tag and the name of the applications within that configuration cannot be the same. For example:

<web_integration_service name="ShapesDemo">
    <application name="ShapesDemo"/>

To workaround this limitation, use different names for the service configuration tag and the applications within. For example:

<web_integration_service name="ShapesDemo">
    <application name="ShapesDemoApplication"/>

[RTI Issue ID CORE-3542]