## this error : com.androidnetworking.error.ANError: java.net.ProtocolException: unexpected end of stream
This code
AndroidNetworking.upload(url)
.addMultipartFile("image",file)
.setPriority(Priority.HIGH)
.build()
.setUploadProgressListener(new UploadProgressListener() {
@Override
public void onProgress(long bytesUploaded, long totalBytes) {
// do anything with progress
}
})
.getAsJSONObject(new JSONObjectRequestListener() {
@Override
public void onResponse(JSONObject response) {
// do anything with response
}
@Override
public void onError(ANError error) {
// handle error
}
});
Upload test found that the two leads to unexpected end of the stream .
Need more info
i have faced the same error : com.androidnetworking.error.ANError: java.net.ProtocolException: unexpected end of stream.
i have tested my uploading file with rxsampleapp of Fast-Android-Networking,then it work fine.But if i add your library into build.gradle like this
compile 'com.amitshekhar.android:android-networking:1.0.0' .this error will occur.i think something wrong happen in current version.Please update your library.Thank so much
Please refer this https://github.com/amitshekhariitbhu/Fast-Android-Networking/issues/106
@amitshekhariitbhu thank so much.i will check
I am also getting this error from Crashalytics, when user is uploading file:
Fatal Exception: java.lang.IllegalStateException: Fatal Exception thrown on Scheduler.Worker thread.
at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:62)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7229)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by rx.exceptions.OnErrorFailedException: Error occurred when trying to propagate error to Observer.onError
at rx.observers.SafeSubscriber._onError(SafeSubscriber.java:194)
at rx.observers.SafeSubscriber.onError(SafeSubscriber.java:120)
at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.pollQueue(OperatorObserveOn.java:191)
at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber$2.call(OperatorObserveOn.java:162)
at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7229)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by rx.exceptions.CompositeException: 2 exceptions occurred.
at rx.observers.SafeSubscriber._onError(SafeSubscriber.java:194)
at rx.observers.SafeSubscriber.onError(SafeSubscriber.java:120)
at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.pollQueue(OperatorObserveOn.java:191)
at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber$2.call(OperatorObserveOn.java:162)
at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7229)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by rx.exceptions.CompositeException$CompositeExceptionCausalChain: Chain of Causes for CompositeException In Order Received =>
at com.flurry.sdk.bx.uncaughtException(SourceFile:325)
at com.flurry.sdk.eq.a(SourceFile:90)
at com.flurry.sdk.eq.a(SourceFile:19)
at com.flurry.sdk.eq$a.uncaughtException(SourceFile:106)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:66)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7229)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by com.androidnetworking.error.ANError: java.net.ProtocolException: unexpected end of stream
at com.rxandroidnetworking.RxInternalNetworking$MultipartANResolver.request(RxInternalNetworking.java:453)
at rx.Subscriber.setProducer(Subscriber.java:211)
at com.rxandroidnetworking.RxInternalNetworking$ANOnSubscribe.call(RxInternalNetworking.java:189)
at com.rxandroidnetworking.RxInternalNetworking$ANOnSubscribe.call(RxInternalNetworking.java:163)
at rx.Observable.unsafeSubscribe(Observable.java:8172)
at rx.internal.operators.OperatorPublish.connect(OperatorPublish.java:186)
at rx.internal.operators.OnSubscribeAutoConnect.call(OnSubscribeAutoConnect.java:54)
at rx.internal.operators.OnSubscribeAutoConnect.call(OnSubscribeAutoConnect.java:33)
at rx.Observable.unsafeSubscribe(Observable.java:8172)
at rx.internal.operators.OperatorMerge$MergeSubscriber.onNext(OperatorMerge.java:232)
at rx.internal.operators.OperatorMerge$MergeSubscriber.onNext(OperatorMerge.java:142)
at rx.internal.operators.OperatorMap$1.onNext(OperatorMap.java:54)
at rx.internal.util.ScalarSynchronousObservable$ScalarSynchronousAction.call(ScalarSynchronousObservable.java:115)
at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:154)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by java.net.ProtocolException: unexpected end of stream
at okhttp3.internal.http.Http1xStream$FixedLengthSink.close(Http1xStream.java:298)
at okio.RealBufferedSink.close(RealBufferedSink.java:241)
at okhttp3.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:705)
at okhttp3.internal.http.HttpEngine.readResponse(HttpEngine.java:563)
at okhttp3.RealCall.getResponse(RealCall.java:241)
at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:198)
at co.snaptee.android.networking.v1.SnapteeParamInterceptor.intercept(SnapteeParamInterceptor.java:26)
at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:187)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:160)
at okhttp3.RealCall.execute(RealCall.java:57)
at com.rxandroidnetworking.RxInternalNetworking$MultipartANResolver.request(RxInternalNetworking.java:416)
at rx.Subscriber.setProducer(Subscriber.java:211)
at com.rxandroidnetworking.RxInternalNetworking$ANOnSubscribe.call(RxInternalNetworking.java:189)
at com.rxandroidnetworking.RxInternalNetworking$ANOnSubscribe.call(RxInternalNetworking.java:163)
at rx.Observable.unsafeSubscribe(Observable.java:8172)
at rx.internal.operators.OperatorPublish.connect(OperatorPublish.java:186)
at rx.internal.operators.OnSubscribeAutoConnect.call(OnSubscribeAutoConnect.java:54)
at rx.internal.operators.OnSubscribeAutoConnect.call(OnSubscribeAutoConnect.java:33)
at rx.Observable.unsafeSubscribe(Observable.java:8172)
at rx.internal.operators.OperatorMerge$MergeSubscriber.onNext(OperatorMerge.java:232)
at rx.internal.operators.OperatorMerge$MergeSubscriber.onNext(OperatorMerge.java:142)
at rx.internal.operators.OperatorMap$1.onNext(OperatorMap.java:54)
at rx.internal.util.ScalarSynchronousObservable$ScalarSynchronousAction.call(ScalarSynchronousObservable.java:115)
at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:154)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
I have read #106 but I don't understand how to solve it. I have not enabled logging, and I am using rx-android-networking:0.2.0. Could anyone give some hints?
Just comment out the bellow code or off the debug. It works for me
//if (BuildConfig.DEBUG) {
// AndroidNetworking.enableLogging(HttpLoggingInterceptor.Level.BODY)
// }/
if it is closed what was the solution i want to log but i don't want to log the file
val interceptor = HttpLoggingInterceptor()
interceptor.level = HttpLoggingInterceptor.Level.BODY
okHttpClient = OkHttpClient().newBuilder()
.addNetworkInterceptor(NetworkConnectionInterceptor(applicationContext))
.addInterceptor(interceptor)
.build()
it gives me the same error end of the stream
but when I removed the logging intercepter it is working fine