AndreKoepke / weathercloud

Java-Lib to read data from Weathercloud.net
0 stars 0 forks source link

Weathercloud changed their API #2

Closed AndreKoepke closed 2 years ago

AndreKoepke commented 2 years ago

Data cannot be scraped anymore because of 404 errors.

io.reactivex.rxjava3.exceptions.OnErrorNotImplementedException: The exception was not handled due to missing onError handler in the subscribe() method call. Further reading: https://github.com/ReactiveX/RxJava/wiki/Error-Handling | com.fasterxml.jackson.core.JsonParseException: Unexpected character ('<' (code 60)): expected a valid value (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
 at [Source: (String)"<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="https://weathercloud.net/404">here</a>.</p>
</body></html>
"; line: 1, column: 2]
    at io.reactivex.rxjava3.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:718)
    at io.reactivex.rxjava3.internal.functions.Functions$OnErrorMissingConsumer.accept(Functions.java:715)
    at io.reactivex.rxjava3.internal.subscribers.LambdaSubscriber.onError(LambdaSubscriber.java:79)
    at com.jakewharton.rx3.ReplayingShare$LastSeenSubscriber.onError(ReplayingShare.java:216)
    at io.reactivex.rxjava3.internal.util.AtomicThrowable.tryTerminateConsumer(AtomicThrowable.java:94)
    at io.reactivex.rxjava3.internal.util.HalfSerializer.onError(HalfSerializer.java:68)
    at io.reactivex.rxjava3.internal.subscribers.StrictSubscriber.onError(StrictSubscriber.java:103)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowableRefCount$RefCountSubscriber.onError(FlowableRefCount.java:209)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowablePublish$PublishConnection.signalError(FlowablePublish.java:367)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowablePublish$PublishConnection.checkTerminated(FlowablePublish.java:350)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowablePublish$PublishConnection.drain(FlowablePublish.java:302)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowablePublish$PublishConnection.onError(FlowablePublish.java:244)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowableDoOnEach$DoOnEachSubscriber.onError(FlowableDoOnEach.java:111)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowableOnBackpressureDrop$BackpressureDropSubscriber.onError(FlowableOnBackpressureDrop.java:104)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowableFromObservable$SubscriberObserver.onError(FlowableFromObservable.java:51)
    at io.reactivex.rxjava3.internal.operators.observable.ObservableDistinct$DistinctObserver.onError(ObservableDistinct.java:99)
    at io.reactivex.rxjava3.internal.util.AtomicThrowable.tryTerminateConsumer(AtomicThrowable.java:110)
    at io.reactivex.rxjava3.internal.operators.observable.ObservableFlatMap$MergeObserver.checkTerminate(ObservableFlatMap.java:460)
    at io.reactivex.rxjava3.internal.operators.observable.ObservableFlatMap$MergeObserver.drainLoop(ObservableFlatMap.java:317)
    at io.reactivex.rxjava3.internal.operators.observable.ObservableFlatMap$MergeObserver.drain(ObservableFlatMap.java:309)
    at io.reactivex.rxjava3.internal.operators.observable.ObservableFlatMap$InnerObserver.onError(ObservableFlatMap.java:535)
    at io.reactivex.rxjava3.internal.operators.observable.ObservableSubscribeOn$SubscribeOnObserver.onError(ObservableSubscribeOn.java:63)
    at io.reactivex.rxjava3.internal.operators.observable.ObservableDoOnEach$DoOnEachObserver.onError(ObservableDoOnEach.java:117)
    at io.reactivex.rxjava3.internal.operators.observable.ObservableFromSupplier.subscribeActual(ObservableFromSupplier.java:49)
    at io.reactivex.rxjava3.core.Observable.subscribe(Observable.java:13173)
    at io.reactivex.rxjava3.internal.operators.observable.ObservableDoOnEach.subscribeActual(ObservableDoOnEach.java:42)
    at io.reactivex.rxjava3.core.Observable.subscribe(Observable.java:13173)
    at io.reactivex.rxjava3.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
    at io.reactivex.rxjava3.internal.schedulers.ScheduledDirectTask.call(ScheduledDirectTask.java:38)
    at io.reactivex.rxjava3.internal.schedulers.ScheduledDirectTask.call(ScheduledDirectTask.java:25)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:833)
AndreKoepke commented 2 years ago

Strange. I think that Weathercloud was offline for a short time.