Должен ли мой веб-сервис WCF возвращать HTTP-код 500 или 200 (сообщение о сбое / функциональном возврате) - PullRequest
3 голосов
/ 29 апреля 2010

после прочтения спецификаций SOAP 1.1 говорится, что сбой SOAP должен возвращать код ошибки http 500, когда связь идет через привязку http, поэтому при возникновении исключения SoapExc WCF возвращает код ошибки http 500.

Теперь я ищу некоторые рекомендации, когда возвращать функциональное сообщение об ошибке мыла и когда возвращать ошибку SOAP.

Что бы вы, ребята, вернули, если во время обработки сообщения произошла функциональная ошибка, поскольку входное сообщение содержит некоторые функциональные ошибки, ошибку 500 SOAP или ответ 200 Soap, содержащий некоторое сообщение об ошибке?

Ответы [ 2 ]

1 голос
/ 23 июня 2017

http://www.ws -i.org / Profiles / BasicProfile-1.1-2006-04-10.html # HTTP_Server_Error_Status_Codes

3.4.7 Коды состояния ошибок HTTP-сервера

HTTP использует серию кодов состояния 5xx, чтобы указать сбой из-за ошибки сервера.

R1126: INSTANCE ДОЛЖЕН вернуть код состояния HTTP «500 Internal Server Error», если конверт ответа - ошибка.

1 голос
/ 29 апреля 2010

UPDATE:

Что бы вы вернулись, когда произошла функциональная ошибка обработка сообщения из-за входное сообщение содержит некоторый функционал ошибки, ошибка 500 SOAP или 200 Soap ответ, содержащий сообщение об ошибке

Если входное сообщение является недействительным и мешает вашей службе выполнить свою намеченную работу, то да - это, безусловно, исключение, поэтому в этом случае я бы вернул ошибку SOAP (что-то вроде FaultException<InvalidInputParameters>).

И я бы позволил WCF обработать все необходимые подробности того, нужно ли и когда возвращать какой код ошибки http, если это необходимо. WCF уже делает все это за вас - вы просто добавляете ошибку SOAP в свой сервисный код, и это все, что есть для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...