Я пытаюсь получить ответы от службы JSON-RPC на Android, сейчас я работаю на 3.0 Honeycomb.
Это библиотека, которую я использую:
http://code.google.com/p/android-json-rpc/
и я использую эту сервисную страницу JSON-RPC для тестирования:
http://www.raboof.com/projects/jayrock/demo.ashx
Кажется, что соединение работает, но я получаю это исключение
org.alexd.jsonrpc.JSONRPCException: Invalid JSON response
Я пробовал разные методы и страницы опросов, но всегда получаю одно и то же исключение. Куда я иду не так?
Соответствующий код указан ниже. AsyncTask используется потому, что начиная с версии 3.0 Android не допускает сетевых подключений в основном потоке. Заранее спасибо.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
JSONHandler task = new JSONHandler();
task.execute(new String[] {"http://www.raboof.com/projects/jayrock/demo.ashx"});
}
private class JSONHandler extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
for (String url : urls) {
JSONRPCClient client = JSONRPCClient.create(url);
client.setConnectionTimeout(2000);
client.setSoTimeout(2000);
try {
client.call("counter");
} catch (JSONRPCException e) {
e.printStackTrace(); //Invalid JSON Response caught here
}
}
return null;
}
}