Клиент OData для Obj-C и разбора скалярных возвращаемых значений - PullRequest
1 голос
/ 13 апреля 2011

Я не могу найти способ для клиента OData Objective C вернуть значение функции веб-службы, которая просто возвращает что-то простое, например, целое число.

Например,

[WebInvoke]
public Int32 xyx ()
{
возврат (3);
}

Сгенерированный прокси клиентский код генерирует функцию, которая при вызове возвращает строку NSString в формате XML со значением 3 в ней. Я собираюсь разобрать это значение и затем сопоставить его с int? Я думал, что будет проще. Еще сложнее для bools. Чистые значения bool являются истиной / ложью, когда Obj-C - ДА / НЕТ. Вам придется написать код, который анализирует XML, находит истину / ложь, если он равен YES / NO, arrgggg.

Я думал, что клиент OData отобразит их, я не прав?

1 Ответ

0 голосов
/ 20 июня 2011

Просто интересно, есть ли у кого-нибудь ответ на этот вопрос. Я в одной лодке. В моей ситуации я использую прокси на стороне клиента .Net (Add Service Reference), он очень похож в этой ситуации. В итоге мне приходится вызывать мой сервисный метод, используя:

context.Execute<int32>(new Uri(MyUri, UriKind.Relative)).ToList();

Это возвращает мне коллекцию с 1 предметом. Это работает, но это, конечно, не очень чисто! Надеюсь, у кого-то есть лучшее решение.

Меня также интересует правильный способ доступа к "почтовым данным" из метода сервиса. Я еще не пробовал, но на основании других вещей, которые я сделал, я думаю что-то вроде этого:

HttpRequest ThisRequest = (HttpRequest)System.Web.HttpContext.Current.Request;
string PostData = ThisRequest.Form["PostData"];

Документация по OData не совсем понятна по этому поводу. Спасибо !!

...