A client sends a message to a server computer system over a network. Upon
receiving the message either from the client or from a local process, the
server passes the message down through a software stack to a lower layer
module that is capable of detecting errors in the message. That lower
layer module then detects an error and inserts error information that
represents the error into an error reporting data structure. The lower
layer also inserts potential text remedy information on how to correct
the error. The module that detected the error then returns and passes the
error reporting data structure back up through the software stack. The
server then sends the response to the message along with the text field
that includes the text error information back to the client computing
system or other local requesting process.