Я пытаюсь связаться с веб-службой RESTful WCF POST от клиента Android, который должен передать некоторые данные в формате json. Я уже успешно связался с веб-службой RESTful WCF GET, но не могу понять, как работает версия POST.
Это фрагмент кода клиента Android, который делает вызов:
HttpPost request = new HttpPost(uri);
request.setHeader("Accept", "application/json");
request.setHeader("Content-type", "application/json");
/*... Building the NameValuePairs object ... */
request.setEntity(new UrlEncodedFormEntity(nameValuePairs));
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpResponse response = httpClient.execute(request);
/* ... handling the response ...*/
и это код веб-службы WCF:
[WebInvoke(Method = "POST",
UriTemplate = "ServiceActivation",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
string MyPostMethod();
public string MyPostMethod()
{
try
{
/*...*/
}
catch (Exception e)
{
/*...*/
}
}
Таким образом, клиент Android успешно обращается к веб-сервису; но я не знаю, как извлечь в MyPostMethod данные, переданные от клиента Android. Примерно так: MyPostMethod (строковые данные) заканчивается неверным запросом от клиента Android.
Итак, как можно получить переданные данные в веб-сервисе?
Заранее спасибо!