How can I ensure that WebService requests reach my server? | XM Community
Question

How can I ensure that WebService requests reach my server?

  • 19 March 2020
  • 1 reply
  • 140 views

Badge
I am hosting a simple RESTful API on a webserver that is provided by my university. It will provide a random selection of data that will be integrated into the Qualtrics survey.

* My server is running RedHat8 and the latest release of Apache (httpd) that is provided by RedHat.
* Apache is configured to support secure connections (https).
* I have received a CA certificate, and it has been properly installed (confirmed by LSU IT specialists, and it clearly works when I connect with my browser).
* The server has been extensively tested by several people, including with standard 3rd party tools like PostMan and with LSU in-house diagnostic tools. Everything looks good.
* All IPs on the subnet 162.247.216.0/22 and ca1.qualtrics.com were added to the firewall whitelist.
* When in the survey "developer mode", if I go into "Survey Flow" and add a "Web Service", I can put in the URL and make a GET request. This succeeds. I get exactly the data I would expect, and I set up Embedded Data variables to accommodate the data that is being returned.
* When I check my server logs (and monitor incoming connections) I can confirm that requests initiated from the Web Service test button are coming from the IPs within the 162.247.216.0/22 subnet.
* If I save this survey flow (tested working in "developer mode") and preview the survey this fails. The survey hangs for several minutes, and the test question designed to print the received data ultimately shows up blank.
* When I check my server logs (and monitor incoming connections), nothing is logged. This indicates to me that the request never reaches the server.
* If I publish this survey and try accessing through the distributed link this also fails. Same behavior as when previewing.
* When I check my server logs, again, nothing is logged. Same outcome as when using the preview button.

So, I have a situation where it appears my server works, the routes through the firewall are working, and the correct behavior is observed when I test things from some parts of the Qualtrics ecosystem (the test button in the Web Service survey flow object) but not others (preview and production links).

I have been in close contact with support at LSU and Qualtrics, and have reached a point where I am all out of ideas or leads to follow up on. If anyone has experience or insight to bring to bear on this problem, I would really appreciate it.

One thing that seems suspicious: ca1.qualtrics.com seems like an unusual domain for me to add to the firewall. CA stands of California, right? Is there a chance that if I add a domain that is appropriate for my region (Louisiana) this will work? I don't have direct control over the firewall--that has to go through IT--so I can't just fiddle with it willy nilly... but if I have a plan of action of course it can be implemented.

Thank you!

1 reply

Userlevel 3
Badge +2

I suspect it is a firewall issue. If it's possible, setup a meeting with your firewall team in realtime. Open the firewall for a few mins, then test the survey via the production link and the preview link, and capture both URL and IP to see if they match 162.247.216.0/22 and ca1.qualtrics.com. If not, try to figure out what pattern they have in common. Then add them to the whitelist. After the meeting with realtime testing, then the firewall (network) team can close the firewall to your redhat server.

Leave a Reply