У меня есть метод веб-службы, в который я хотел бы добавить некоторые пользовательские исключения, например, SomeException, SomeOtherException и т. Д., Которые веб-служба затем превратит в ошибку SOAP, которую клиент сможет обработать. В Java я могу иметь элементы wsdl: fault в элементе wsdl: operation в WSDL. Похоже, это .NET, что это не обслуживается и что нет способа поместить атрибуты в WebMethod, чтобы показать, какие ошибки SOAP могут возникнуть.
Если бы я создал веб-сервис Java с элементами wsdl: fault и добавил бы веб-ссылку на проект .NET, я бы ожидал, что элементы wsdl: fault будут вызывать исключения с соответствующим названием, как и другие объекты. однако это, похоже, не так.
Это тот случай, когда элементы wsdl: fault в WSDL полностью игнорируются .NET? Они являются частью спецификации WSDL, определенной в http://www.w3.org/TR/wsdl, поэтому я не ожидал такого поведения.
Если это так, возможные обходные пути могут возвращать объект результата, который содержит логическое значение успеха / неудачи и сообщение об ошибке / перечисление. Или с помощью SoapExceptions. Если я решу использовать SoapExceptions, то я возлагаю на пользователя моего веб-сервиса упор для обработки и правильной десериализации. Оба из них не кажутся отличным способом справиться с этим и добавить дополнительные проблемы и код для обхода этого.
Любой совет?