Spec Variance Notes

Generally the DIP Simulator and the interfaces implemented on it target a specific version of the DIP spec, at the current time this is Interface Catalogue v5.2.1 / Swagger v1.2. There are however a few pieces of functionality that do not conform to this version of the spec. This can be for a number of reasons. It can be because certain functionality is known to be significantly redesigned in a subsequent version of the spec and so implementing it in accordance with the current version has been deemed to be unduly inefficient, or it might be because some functionality is required now, but the design for that functionality is not functional until a later design.

This page lists the known cases where the implementation deviates from the current version of the spec. 

Secondary Routing Secondary routing was never specified as a requirement for the Simulator. Implementing it would not be trivial. However there are some messages that are only routed by Secondary routing and participants are required to have these implemented and tested for entry to PIT. In order to assist with this we have implemented Secondary routing in the same way as Always routing. That is to say that you can register a webhook for a component and the resulting PUB message will be sent to that webhook in all cases where the Always or Secondary routing rules for the message match the roles of the component for which the webhook was registered.

Requests over 100K in size Due to an issue with TLS renegotiation it has been identified that requests exceeding 100K will fail with a 403 error. This is with Azure Web Applications which use TLS renegotiation. The only workaround which is not a requirement of the DIP is to use Expect: 100-Continue. This involves not just adding the Expect header, but also correctly handling the Expect: 100-Continue behavior, which requires the client to pause transmission after sending headers and wait for an interim HTTP/1.1 100 Continue response from the server before sending the request body. This behaviour is not supported with Postman.