Toems-API Keepalive (installing v1.5.2) -- Could Not Contact API


  • After successfully installing the MSI (carefully reading the instructions), I am able to contact the server from the webui, but when logging in it says "Could Not Contact API" -- after investigating it further I found that the Keepalive task (Task Scheduler) does not have permission(s) to run.

    I have tried to manually run the command "wget http://localhost:8080/Setting/KeepAlive" in PS and CMD (Admin and User) but they all resolve with an error (see below). As a test scenario I logged in as Toemskeepalive to run it via the intended user, but it resolved the same error. Giving additional privileges to Toemskeepalive has no effect.

    My environment is: Microsoft Server 2019 (not joined to a domain)

    Most online resources say modifying the .config file(s) for the website (IIS). Outside of that, I tried enabling "Allow unlisted file name extensions" in IIS Toems-API and Toec-API and the wget command runs, but when trying to log into the web ui an exception occurs and it crashes (also the Task Scheduler Keepalive still says it doesn't have permission).

    Something tells me this is a Group Policy issue.

    Command: wget http://localhost:8080/Setting/KeepAlive

    wget : HTTP Error 404.7 - Not Found
    The request filtering module is configured to deny the file extension.Most likely causes:
    Request filtering is configured for the Web server and the file extension for this request is explicitly denied.
    Things you can try:
    Verify the configuration/system.webServer/security/requestFiltering/fileExtensions settings in applicationhost.config
    and web.config.
    Detailed Error Information:
    Module RequestFilteringModule
    Notification BeginRequest
    Handler ExtensionlessUrlHandler-Integrated-4.0
    Error Code 0x00000000
    Requested URL http://localhost:8080/Setting/KeepAlive
    Physical Path C:\Program Files\Theopenem\Toems-API\Setting\KeepAlive
    Logon Method Not yet determined
    Logon User Not yet determined
    More Information:
    This is a security feature. Do not change this feature unless the scope of the change is fully understood. If the file
    extension for the request should be allowed, remove the denied file extension from
    configuration/system.webServer/security/requestFiltering/fileExtensions.
    View more information »
    At line:1 char:1

    • wget http://localhost:8080/Setting/KeepAlive
    •   + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebExc
       eption
        + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

  • The keepalive issue is a symptom of the api not working, not the problem itself. What's in your log files?


  • @theopenem_admin Here you go! Thanks for the quick response.
    Application.log
    ClientApi.log
    FrontEnd.log


  • Looks like it can't connect to the database, not sure why.

    <b> Exception Details: </b>MySqlConnector.MySqlException: Access denied for user 'root'@'localhost' (using password: YES)<br><br>
    

  • @theopenem_admin
    I have tried SFC and DISM repairs and there are no issues. On a fresh Server 2019 image with nothing else installed still gives the same error -- (10.0.17763 Build 17763). When I manually install MariaDB with my own password I can connect to it as Root without issue via the built-in CMD, but I don't know the password used with your installer -- my only idea is to install with the option "Setup Database Manually" but I don't see any documentation on how to connect a custom install of MariaDB.
    Edit: I have also tried a clean-boot with only MS services running and ran the installer, still no dice.


  • It's random, the pass is in your web.config file. What language is your server? Not sure if this could be a language issue. Did you keep the server off the domain?


  • @theopenem_admin I'll check to see if I can connect with a fresh install. Language is "English (United States)", and not on any domain yet. I can try and refresh the language pack, but I'm not sure if that'll make a difference.


  • @theopenem_admin Using the random generated password I was able to connect as Root via CMD with a fresh Theopenem install. Very very odd, maybe an IIS issue?


  • Following my suspicion of IIS, I logged in as the (Built-in) Administrator and used Server Manager to remove IIS and its dependencies completely, and then ran the installer again and now it works. Looking at the Server 2019 image I have (installed via WDS), it has IIS enabled by default, so IIS was corrupted from the start.

    I am now able to log into the web ui without issue.
    Thanks for your help diagnosing this, if someone finds this in the future, I hope it helps!