Extra help on NSIP Confluence

Some further information for developers:

TLS version

The following information applies mainly to developers using the Java version of the SIF Common Framework:

It is important to note that TLSv1.0 will deprecate in 2017. It is no longer considered a secure version of TLS. However, by default Java 7 uses TLSv1.0.

This may cause issues in some integrations where that TLS version is no longer enabled.

To ensure that the adapters written with the SIF Java framework support a given TLS version, you can set this version in the environment.properties file. Simply set the property called env.tls.version in that file to a value of TLSv1.1 or TLSv1.2. Your adapter will now use the appropriate TLS version to connect to the endpoint.

RefIDs in SIF

The RefId attribute of each object is vitally important in SIF, as it guarantees that an object is uniquely identified, and can be uniquely referenced by other objects. All SIF objects must contain a RefId attribute in order to be valid.

As specified in the current SIF Infrastructure Base Architecture (ยง5.12 Create), consumers are expected to provide RefIds they wish to see used in the body of the objects they POST or PUT under SIF. This is mandatory for a payload with multiple objects, and is strongly suggested for a payload with a single object. (The Javascript client incorporated into HITS will validate any POST requests for objects, and it will use a dummy RefId value if one is not included in the payload body.)

The SIF server will return an advisoryId element in the response to the request, linking the RefId specified for each object to the RefId actually assigned by the server. The server is entitled to overrule the RefId suggestion of the client, unless the mustUseAdvisory header has been supplied in the HTTP request. In the latter case, the Create request will be rejected by the server if the provided RefId is unacceptable to the server.

Javascipt Client request error

If you receive a 409 "error", it indicates a conflict. The Javascript client calls the "Create Environment" endpoint for every call. But if the environment already exists then a 409 is returned and the payload of the response contains the actual environment.

This behaviour is just a feature of HITS and the Javascript client. In the real world a SIF Adapter would not call the "Create Environment" for every call.

In HITS, this was enabled to simplify the javascript client and its interactions: it is simply a feature of the HITS implementation rather than a real error.

Version: HITS: