I have a system that uses several processes with HTTP Server Input. These processes work when called directly, but fail if the GET request comes through an AJAX call. I do have a support ticket open, but on the off chance anyone is on the forums today, thought I’d make this post.
Fail how? Any error code?
My first guess would be a CORS issue, where the web page is served by one server and the AJAX calls target a different server
All the HTTP requests are made to and served up by the same PlanetPress Workflow configuration. The HTML code uses jquery and datatables.net. The actual error message I get is thrown by datatables, telling me there’s an AJAX problem. But preceding that, Chrome throws up a “sign in” dialog box. That’s never happened before, and it’s unclear what credentials it’s requesting. My AD? The Workflow Services user? The MySql user? I think it’s because that “sign in” fails that of course the AJAX call fails and so there’s no response, triggering the datatable.net error.
EDIT: The Datatables.net error is thrown because the response is a “401”. And the 401 is a “not found”, meaning the request never made it to the Workflow Process / HTTP Server Input. And THAT is because of the weird “Sign in” dialog that has only manifested since the upgrade.
That’s a native, Chrome-generated popup. The HTTP Server doesn’t have a “log in” page, so it’s not coming from there. The NodeJS Server input does have a login page (when you specifically enable AD authentication), but it doesn’t remotely look like the image above.
Are SSL requests enabled on the HTTP Server? If so, is the certificate a self-signed one or an official, unexpired one?
If SSL is not involved, then I’m out of ideas…
No SSL or Certificates involved. I’m baffled as well, this only manifested after the upgrade, and it happens in Firefox as well as in Chrome. Firefox doesn’t ask for any sign-in, it simply refused to serve AJAX requests. Requests to the same process returns the raw JSON file generated by the process, with no errors.
On my laptop, where everything is “localhost”, on 2020.1, there is no error or issue. I’m in the process of upgrading and will test again. If it fails, it points to some issue with whatever HTTP server engine / library is being used by Workflow.
I have confirmed that the issue does not happen with 2020.1, and happens only after the upgrade to 2021.1. This points to some change in the Workflow HTTP services and how they respond to GET requests that contain an authorization token / header. I have a support ticket open marked as “critical” but have not yet been contacted by a tech.
EDIT: Not just GET requests, but GET and POST. Any request that has an “Authorization” string in the header. R&D has my test case configuration.