Swaggerui > AmbiguousActionError with Linux

I built my project as module for Linux Apache and when trying to request "/swaggerui" I get this error

    "error": {
        "code": "AmbiguousActionError",
        "message": "Requested action \"ICustomSwaggerUIService.SwaggerUI\" has ambiguous implementation"

All Aurelius access to object through xData are working fine, but access to swaggerui isn't working.
Same project as dll for Apache Windows is working without error and presents swaggerui wihtout error.

Any idea about source of error?


To test if it was due to my xData implementation with quite complex Aurelius and Service Contracts.
I created a new simple project with a simple Service Contract
But unfortunately I get the same error about SwaggerUI access. If I'm right I didn't get this error in a previous test project I made 6-9 month ago.

Unit I use for service contract :

unit unit_test_svc;



  TInfoVersion = Class
    version   : string;
    name      : string;
    copyright : string;

  IInfoService = interface(IInvokable)
    function InfoVersion : TInfoVersion;


This usually happen you can register Swagger/SwaggerUI twice:

  1. You are calling RegisterOpenApiService method in your application;


  1. You have set property Swagger.Enabled to True in your TXDataServer component.

If you are using the design-time TXDataServer, just enable the properties in object inspector and don't call either RegisterOpenApiService or RegisterSwaggerUIService.

Hi Wagner

None call to RegisterOpenApiService method, only properties set into object inspector.
Code is working well when is a DLL of Windows Apache, but not as SO for Linux Apache.

Can you please send your full test project so we can reproduce it here?

Please find project I'm using for test (hoping not forgot any file)
mod_testpoi.zip (8.0 KB)

Thank you. We were able to reproduce and fix it. Fix will be included in next release.
For now, the workaround is to disable the Swagger properties in the TXDataServer component.

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.