GetOpenAPI metaservice fails with InternalError

 Problem

When using the GetOpenAPI metaservice to request the OpenAPI description for a service, the call fails with the following error:

{ "type": "Server.ServerProxy.InternalError", "message": "Failed overwriting origin URL for the openapi servers for https://my-information-system-url/openapi.yaml", "detail": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" }

 Solution

Before returning the OpenAPI description, the Security Server will try to, starting from version 7, replace the original URL-s in the OpenAPI descriptions with ones that can be used over X-Road. This is similar to how it works with SOAP services. To do this, the Security Server will attempt to parse the OpenAPI description as JSON or YAML, depending on the Content-Type HTTP header returned by the information system.

To resolve the issue, please check that the information system behind the producer side Security Server returns the correct file and corresponding Content-Type for the URL specified in the error message.

The expected content types are:

  • JSON - application/json

  • YAML - application/x-yaml