Вопрос

Обработка вебсервисом параметров

Добрый день!

Реализовал вебсервис, который принимает на вход номер телефона, проверяет этот номер телефона в базе. Теперь не понимаю как обработать и сгенерировать ответ на сервис: нужно, чтобы при положительной проверке в базе в ответ (статускод 200) отправлялся некий объект1 в джейсоне; а при отрицательном ответе (статусКод 422) в теле ответа отправлялся другой объект2. По примерам на портале мало информации, и опыта у меня очень мало в этом деле.

Помогите пожста разобраться.

    [ServiceContract]

    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]

    public class ilayNewTerminalService: BaseService

    {

        OperationContract]

        [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare,

        ResponseFormat = WebMessageFormat.Json)]

        public AuthorizationCodeResponseOk authorization_code(AuthorizationCodeRequest request) {

            var resultNew = new AuthorizationCodeResponseOk();

            var esq = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "Contact");

            var colId = esq.AddColumn("Name");

            var colName = esq.AddColumn("ilayMainPhine");

            var esqFilter = esq.CreateFilterWithParameters(FilterComparisonType.Equal, "ilayMainPhine", "+" + request.phone);

             esq.Filters.Add(esqFilter);

            var entities = esq.GetEntityCollection(UserConnection);

            if (entities.Count < 1)

            {

                //Здесь нужно отправлять в ответе статусКод 422 и в теле ответа еще добавлять некий объект из 2 стрингов

               WebFaultException error = new               WebFaultException(HttpStatusCode.UpgradeRequired);

                throw error;

                //return resultNew;

            }

             resultNew.debug_text = entities[0].GetColumnValue(colId.Name).ToString();

            resultNew.phone = "+" + request.phone;

            return resultNew;//Здесь ответ получается выводить с нужным статусКодом и объектом

        }

    }

Нравится

2 комментария

Насколько понимаю, в соседней теме уже решили и с 422, и с телом ответа.

да. -)

Показать все комментарии