A Call to SSPI Failed

Rather than talking about the solution to one specific question, today's article is about asking good questions. I see a lot of requests for help that only talk about what happened in the end. The last thing that went wrong probably isn't the source of the problem. It's much more likely that the first thing that went wrong is what caused all of the trouble. It's almost impossible to guess the initial cause of an error if all you can see is what didn't work in the end. That's why it's so useful to use mechanisms like tracing that record all of the information you have about an error for later analysis.

Here are a few error messages that are almost certain not to be what actually caused the problem.

The socket connection was aborted.

Resolution: Stop doing whatever is calling abort on the socket. The socket can't send data if you abort it.

The connection was closed unexpectedly.

Is this a bug? No, it probably was totally unexpected for that connection to be closed.

The pipe has been ended.

This is another case where it's extremely likely that the error message is in fact correct.

A call to SSPI failed.

Resolution: Find out why the call failed. This is usually mentioned at or near the same time as this message. If you have to guess, then it's probably because either the client or service was configured with the wrong identity.

Next time: Setting a User Principal on the Endpoint