I got the similar problem for my data sync if using admin account login on sync Gateway with 1.1.0 version.
Error Log
10:48:22,079 SEVERE [com.couchbase.lite] (CBLRequestWorker-38c6f-0) Sync: RemoteRequest.run() exception: %s
java.lang.NoClassDefFoundError: org/apache/commons/codec/binary/Base64
at org.apache.http.impl.auth.BasicScheme.authenticate(BasicScheme.java:170)
at org.apache.http.impl.auth.BasicScheme.authenticate(BasicScheme.java:142)
at org.apache.http.client.protocol.RequestTargetAuthentication.process(RequestTargetAuthentication.java:101)
at org.apache.http.protocol.BasicHttpProcessor.process(BasicHttpProcessor.java:290)
at org.apache.http.protocol.HttpRequestExecutor.preProcess(HttpRequestExecutor.java:160)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:391)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
at com.couchbase.lite.support.RemoteRequest.executeRequest(RemoteRequest.java:184)
at com.couchbase.lite.support.RemoteRequest.run(RemoteRequest.java:103)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.codec.binary.Base64 from [Module “deployment.Web.war:main” from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134)
Below is my testing code
Manager m = new Manager(new JavaContext(), Manager.DEFAULT_OPTIONS);
Database db = m.getDatabase("test");
URL url = new URL("http://192.168.222.238:4984/test");
Replication pull = db.createPullReplication(url);
pull.setContinuous(true);
Authenticator auth = AuthenticatorFactory.createBasicAuthenticator("admin","123");
pull.setAuthenticator(auth);
pull.start();
Yes you can use this endpoint to check if the user exists.
But I’m not sure what isn’t working?
Are you still getting the 401 Unauthorised error when replicating with the Android SDK?
From the stacktrace you provided, ClassLoader could not load the org.apache.commons.codec.binary.Base64.
I assume this could be caused by org.jboss.modules.ConcurrentClassLoader that I am not familiar with.