<p>We are developing a new web service and are looking into the "best practice" for returning errors in the soap response.  </p>

<p>We were looking into creating a error response object which every response would contain as a property.  This seems a little heavy however and are wondering if it is possible to use the SOAP header to carry this information?  How do you normally deal with custom errors using SOAP?</p>

Soap already uses custom headers for error info, all you need to do is throw an exception on the server side, and exception is raised on the client side as a
SoapException
.
You can thrown SoapExceptions on the serverside if you want more control over the exception message/info.
Edit:
For extra information along with the request, custom soap headers can be used. Here's an
example article on CodeProject
that used custom soap headers for authentication, but custom soap headers can be used for other purposes like sending extra info that is not necessarily an error condition (can be business logic info)