I have some software which is consuming information from various other systems that we control.
One of the servers running our software has suddenly stopped talking to two of our sets of services, and gives an error:
The underlying connection was closed: A connection that was expected to be kept alive was closed by the server
On each client server, we have two pieces of software running, Product X and Product Y. We have two central services running that these connect to - X connects to Services A & B, Y connects to A only.
On every server we have, bar one, everything connects and runs as expected.
Over the last weekend, one of our clients has been having an issue and product X is unable to connect to Service B, and Y cannot connect to A. X can still connect to A and take data from there.
I have created various test applications to run on the server which will connect to the services, put up known data and get known data back. Connecting to Service B fails, but it can connect to Service A, despite being an almost exact copy of the code from Product Y (The main code is the same, the code to access the database to get settings has been replaced with hard coded test values)
Nothing has changed on our servers hosting the two services. We have been told that nothing has changed on the client server. A firewall change was made elsewhere on the network to block HTTP to one server. Our services are on HTTPS, and I would assume that a firewall rule would affect all the web service access, not with the consistant mixed behaviour that I have now.
The software on the client is targetting .NET 4.5, the services are both .NET 4.0
We have run tests on other clients and they are not experiencing anything.
What I have tried so far: Testing on other servers (They are fine) Testing connection from affected server (Reliably have one test pass and one test fail) Google/StackOverflow (Many posts from a long time ago about .NET 1.1)