Soap уже использует пользовательские заголовки для информации об ошибках, все, что вам нужно сделать, это создать исключение на стороне сервера, а исключение возникает на стороне клиента как SoapException .
Вы можете выбросить SoapExceptions на стороне сервера, если вы хотите больше контроля над сообщением / информацией об исключении.
Edit:
Для дополнительной информации вместе с запросом можно использовать пользовательские заголовки мыла. Вот пример статьи о CodeProject , в которой для аутентификации использовались настраиваемые заголовки мыла, но настраиваемые заголовки мыла могут использоваться для других целей, таких как отправка дополнительной информации, которая необязательно является условием ошибки (может быть информацией бизнес-логики)