Прежде всего, вам лучше добавить операцию Login
, которая принимает заголовок вашего имени пользователя / пароля в качестве ввода, аутентифицирует пользователя, а затем возвращает какой-то токен авторизации в возвращаемом заголовке SOAP. Этот заголовок должен быть предоставлен как во входном заголовке во всех последующих операциях.
Во-вторых, вы должны выбросить SOAPException. Это будет более или менее напрямую переведено в сбой SOAP. Ошибка SOAP - это подходящий способ указать на ошибку в операции веб-службы по той же причине, по которой исключения лучше, чем состояние возврата в обычном методе - вам не нужно проверять состояние возврата в точке вызова.
Наконец, знаете ли вы, что Microsoft объявила веб-службы ASMX «устаревшим» кодом, и что они больше не исправляют ошибки в нем? Пора переходить в WCF.