2017-01-31 3 views
1

я использую рамки AFNetworking в моем проекте & доступ WebService как следующим образом с помощью класса AFHTTPSessionManager,ответ AFNetworking в неверном формате

AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithBaseURL:baseURL]; 
manager.responseSerializer = [AFJSONResponseSerializer serializer]; 
[manager.requestSerializer setTimeoutInterval:30]; 

NSDictionary *parametersDictionary = @{ 
          @"users_id":userIDStr, 
          @"name" :@"" 

          }; 
[manager POST:@"api/call_XAPI?" 
             parameters:parametersDictionary 
             progress:^(NSProgress * _Nonnull uploadProgress) { 

             } 
             success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {             
                     NSLog(@"Success");      

             } failure:^(NSURLSessionDataTask *task, NSError *error) { 
                                NSLog(@"%@", error);     
             }]; 

Это правильно работает на успех, но когда, если какая-либо ошибка происходит в сервере, то реакция на ошибку не получает в нужном формате на консоли

Printing description of error: 
Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: internal server error (500)" UserInfo={com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x608000435940> { URL: http://www.example.com/api/call_XYZAPI? } { status code: 500, headers { 
"Cache-Control" = "no-cache"; 
Connection = "keep-alive"; 
"Content-Type" = "application/json"; 
Date = "Mon, 30 Jan 2017 13:12:59 GMT"; 
Server = "nginx/1.10.2"; 
"Set-Cookie" = "laravel_session=ca9b0725b981267be1f095bb6ae14a1d5ae2825f; expires=Mon, 30-Jan-2017 15:12:59 GMT; Max-Age=7200; path=/; httponly"; 
"Transfer-Encoding" = Identity; 
} }, NSErrorFailingURLKey=http://www.example.com/api/call_XYZAPI?, com.alamofire.serialization.response.error.data = 12112,23131,31231331,312231 ..... 

Может кто-нибудь сказать мне, что я делаю неправильно &, как решить эту проблему?

+0

Это ошибка, лучше проверить сначала почтальон, если он дает полный ответ или нет? –

+0

см. Это http://stackoverflow.com/questions/26231780/error-domain-com-alamofire-error-serialization-response-code-1011-request-fail –

+0

какой ответ вы получаете в ответ. добавьте некоторый формат этого кода. – KKRocks

ответ

0

Согласно this article, ошибка 500 не имеет ничего общего с клиентом и должна обрабатываться на сервере веб-сервисов.

Обратитесь к разработчику вашего программного обеспечения и попросите его исправить его.

+0

Да @Yogi, вы правы, мы уже решили эту проблему, но мой вопрос - ответ на ошибку не в правильном формате. –

+0

Думаю, вам стоит взглянуть на содержимое объекта NSHTTPURLResponse. В основном это ответ от сервера в лучшем формате. Я предполагаю, что вам требуется, чтобы пользователь узнал об ошибке, представив предупреждение об ошибке или так далее. – Yogi

+0

Когда вы получили «внутреннюю ошибку сервера (500)», журнал терминалов, когда вы печатаете, в порядке, не беспокойтесь об этом. – nynohu

Смежные вопросы