введите код здесь У меня есть основной вопрос относительно реализации с использованием веб-службы Axis2 и клиента Android KSOAP2.SOAP Transaction - синхронизируется ли она?
У меня есть API-сервер, на котором отображаются незарегистрированные записи из таблицы Таблица: key, cul1..culn, culViewes - бит, если был просмотрен или нет.
Я реализовал GetUnViewedAPI, как следует (в эксплуатацию):
public int[] getUnviewed()
{
... getting all unviewed ids...
... marking them as viewed...
... return the unviewed ids..
}
Что делать, если соединение потеряно в середине (с мобильного клиента)? Затем незаметные записи не будут просматриваться ... поскольку они были отмечены как просмотренные, но результат не попал к пользователю.
Должен ли пользователь посылать ACK для каждой из идентификаторов (или ack на всех togather ...)? Или ... ???? Как обычно это обрабатывается?
Yoav
Я вижу, что вы ... То, что я делаю - это флаг Viewed, - это фактически флаг, указывающий, была ли запись D/L на устройство. Поскольку я храню в устройстве эти записи, поэтому не нужно запрашивать все время на большом количестве данных с сервера. Итак, я понимаю - вы предлагаете отправлять messsage на сервер после каждой записи, которую я сохраняю в локальной базе данных? или для всех togather ... И только затем отметьте его как просмотренный (D/L) на сервере ... В этом случае мне нужно будет проверить, когда D/L и вставка в DB, если запись существует (в случае, если Запрос «mark-view/loaded» на сервер может быть потерян (если соединение было потеряно). – user1136875
Исправлено. Вы в основном вручную создаете транзакцию. Вы можете попробовать использовать WS-Transaction или так, но может быть труднее определить и реализовать. –