MS Sync Framework が実行されているサーバーとの同期を試みる Android テスト クライアントを作成しようとしています。
データベースをプロビジョニングし、必要な WCF ファイルを作成しました。ブラウザーでは、私のサービスは問題ないように見えます。その診断メソッドを実行すると、問題ないように見えます。
診断テスト結果 コメント
同期フレームワーク ランタイム:
合格 なし SQL Server への接続_ 合格 なし
データベース プロビジョニング_ 合格 なし バッチ処理
フォルダーが存在しますか?: 該当なし バッチ処理が有効になっていません。
バッチ フォルダーへの書き込みアクセス 該当なし: バッチは有効になっていません。
ClientAccessPolicy.xml/CrossDomain.xml ファイル: FAILED 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 結果 = 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>