0

我即将创建一个 Android 测试客户端,它尝试与运行 MS Sync Framework 的服务器同步。
我配置了数据库并创建了必要的 WCF 文件,在浏览器中,我的服务似乎还可以。当我运行它的诊断方法时,它看起来还不错。

诊断测试结果注释
同步框架运行时:通过无
连接到 SQL Server_通过无
数据库配置_通过无
批处理文件夹存在?:不适用批处理未启用。
对批处理文件夹的写入权限 不适用:批处理未启用。
ClientAccessPolicy.xml/CrossDomain.xml 文件:失败找不到 clientaccesspolicy.xml 或 crossdomain.xml 文件。从另一个域调用服务的 Silverlight 客户端将无法成功发出请求。

Service ConfigurationSetting 配置值
范围名称:wcfscope
默认冲突解决:ClientWins
默认序列化格式:ODataJson
详细错误响应:true
批处理目录:BATCHING_NOT_ENABLED
下载批处理大小 BATCHING_NOT_ENABLED

我下载了唯一可用的 Android 示例:http
://selvinlistsyncsample.codeplex.com/documentation 并进行了相应修改。经过几个小时的磨难,我的 Android 项目编译成功。当我运行应用程序时,我得到以下异常。调用是这样的:
Uri uri = MyProviderClass.getSyncUri("WCFScopeSyncService", "WCFScope");
ContentResolver res = context.getContentResolver();
int result = res.update(uri, null, null, null);
在服务器端,日志中没有错误。我应该检查什么?

03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302): IOException<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302): java.net.SocketTimeoutException<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at java.net.PlainSocketImpl.read(PlainSocketImpl.java:491)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:46)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:240)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:103)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:191)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:82)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:174)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:180)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:235)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:259)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:279)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:428)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at pl.selvin.android.syncframework.content.BaseContentProvider.Sync(BaseContentProvider.java:726)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at pl.selvin.android.syncframework.content.BaseContentProvider.update(BaseContentProvider.java:517)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at android.content.ContentProvider$Transport.update(ContentProvider.java:235)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at android.content.ContentResolver.update(ContentResolver.java:990)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at com.example.testandroid.AsyncSync.doInBackground(AsyncSync.java:25)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at android.os.AsyncTask$2.call(AsyncTask.java:287)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at java.util.concurrent.FutureTask.run(FutureTask.java:137)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)<br>
03-15 23:47:19.600: E/pl.selvin.android.syncframework.content.BaseContentProvider(30302):   at java.lang.Thread.run(Thread.java:856)<br>
4

0 回答 0