We are using WebClient.UploadString(string, string) to make a request to a third-party webservice that we have no control over. Much to our dismay, the webservice returns 500 Internal Service Error in the response header and associated "fault codes" in the body.
As far as we can see, the problem is that WebClient.UploadString throws a WebException as a result of the 500 header and returns an empty string. How can we get the fault codes out of the body in the face of a 500 exception?