WebClient.UploadString(string, string) を使用して、制御できないサードパーティの Web サービスにリクエストを送信しています。残念なことに、Web サービスは応答ヘッダーで 500 Internal Service Error を返し、本文で関連する「障害コード」を返します。
見る限り、問題は WebClient.UploadString が 500 ヘッダーの結果として WebException をスローし、空の文字列を返すことです。500 例外が発生した場合、どうすれば本体から障害コードを取得できますか?