GithubHelp home page GithubHelp logo

huaweicloud-sdk-java-obs's People

Contributors

chewaiwai avatar glovethu avatar goodcode-best avatar redabc avatar shenqing-github avatar x00403408 avatar yangqican avatar zzq996 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

huaweicloud-sdk-java-obs's Issues

esdk-obs-java 2.20.6

There are some vulnerabilities in version before 2.20.6 dependent software jackson-databind.Please solve it.

-Xss256K ObsClient StackOverflowError

image

build.gradle
implementation 'com.huaweicloud:esdk-obs-java:3.21.4.1'

log

*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at JPLISAgent.c line: 844 Exception in thread "main" java.lang.StackOverflowError at java.util.concurrent.ConcurrentHashMap$Node.<init>(ConcurrentHashMap.java:625) at java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1019) at java.util.concurrent.ConcurrentHashMap.putIfAbsent(ConcurrentHashMap.java:1535) at java.lang.ClassLoader.getClassLoadingLock(ClassLoader.java:457) at java.lang.ClassLoader.loadClass(ClassLoader.java:398) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:756) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at com.test.Application.main(Application.java:14)

com.obs.services.exception.ObsException: OBS servcie Error Message. Request Error: javax.net.ssl.SSLException: Write error: ssl=0x84abb2c8: I/O error during system call, Connection reset by peer

vivoY66 手机 安卓系统:5.0 使用obg 上传文件服务(上传视频文件,请官方人员给出原因谢谢)。查看SDK文档及论坛没有给出合理解决办法 出现 如下错误:
com.obs.services.exception.ObsException: OBS servcie Error Message. Request Error: javax.net.ssl.SSLException: Write error: ssl=0x84abb2c8: I/O error during system call, Connection reset by peer
12-26 09:47:35.477 30746-30746/com.gaga.live W/System.err: at com.obs.services.internal.utils.ServiceUtils.changeFromServiceException(ServiceUtils.java:727)
12-26 09:47:35.477 30746-30746/com.gaga.live W/System.err: at com.obs.services.ObsClient.doActionWithResult(ObsClient.java:2537)
12-26 09:47:35.477 30746-30746/com.gaga.live W/System.err: at com.obs.services.ObsClient.putObject(ObsClient.java:1625)
12-26 09:47:35.477 30746-30746/com.gaga.live W/System.err: at com.obs.services.ObsClient.putObject(ObsClient.java:1656)
12-26 09:47:35.477 30746-30746/com.gaga.live W/System.err: at com.obs.services.ObsClient.putObject(ObsClient.java:1642)
12-26 09:47:35.477 30746-30746/com.gaga.live W/System.err: at com.gaga.live.video.VideoPreviewActivity.lambda$hwOBSPut$10(VideoPreviewActivity.java:323)
12-26 09:47:35.477 30746-30746/com.gaga.live W/System.err: at com.gaga.live.video.-$$Lambda$VideoPreviewActivity$vkfMqIFZv_TK88PL6bMM1QKo3hg.subscribe(lambda)
12-26 09:47:35.477 30746-30746/com.gaga.live W/System.err: at io.reactivex.internal.operators.observable.ObservableCreate.subscribeActual(ObservableCreate.java:40)
12-26 09:47:35.477 30746-30746/com.gaga.live W/System.err: at io.reactivex.Observable.subscribe(Observable.java:12267)
12-26 09:47:35.477 30746-30746/com.gaga.live W/System.err: at io.reactivex.internal.operators.observable.ObservableObserveOn.subscribeActual(ObservableObserveOn.java:45)
12-26 09:47:35.477 30746-30746/com.gaga.live W/System.err: at io.reactivex.Observable.subscribe(Observable.java:12267)
12-26 09:47:35.477 30746-30746/com.gaga.live W/System.err: at io.reactivex.internal.operators.observable.ObservableSubscribeOn$SubscribeTask.run(ObservableSubscribeOn.java:96)
12-26 09:47:35.477 30746-30746/com.gaga.live W/System.err: at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:237)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:154)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:269)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at java.lang.Thread.run(Thread.java:818)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: Caused by: javax.net.ssl.SSLException: Write error: ssl=0x84abb2c8: I/O error during system call, Connection reset by peer
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at com.google.android.gms.org.conscrypt.NativeCrypto.SSL_write(Native Method)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at com.google.android.gms.org.conscrypt.NativeSsl.write(:com.google.android.gms@[email protected] (040306-344294571):3)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at com.google.android.gms.org.conscrypt.ConscryptFileDescriptorSocket$SSLOutputStream.write(:com.google.android.gms@[email protected] (040306-344294571):5)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okio.Okio$1.write(Okio.java:79)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okio.AsyncTimeout$1.write(AsyncTimeout.java:180)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okio.RealBufferedSink.emitCompleteSegments(RealBufferedSink.java:179)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okio.RealBufferedSink.write(RealBufferedSink.java:42)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okhttp3.internal.http1.Http1Codec$FixedLengthSink.write(Http1Codec.java:295)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okio.ForwardingSink.write(ForwardingSink.java:35)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okhttp3.internal.http.CallServerInterceptor$CountingSink.write(CallServerInterceptor.java:149)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okio.RealBufferedSink.emitCompleteSegments(RealBufferedSink.java:179)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okio.RealBufferedSink.write(RealBufferedSink.java:92)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at com.obs.services.internal.RepeatableRequestEntity.writeToBIO(RepeatableRequestEntity.java:110)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at com.obs.services.internal.RepeatableRequestEntity.writeTo(RepeatableRequestEntity.java:131)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:72)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:254)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at okhttp3.RealCall.execute(RealCall.java:92)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at com.obs.services.internal.RestStorageService.performRequest(RestStorageService.java:483)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at com.obs.services.internal.RestStorageService.performRestPut(RestStorageService.java:807)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at com.obs.services.internal.RestStorageService.performRestPut(RestStorageService.java:798)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at com.obs.services.internal.ObsService.putObjectImpl(ObsService.java:2045)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at com.obs.services.ObsClient.access$5800(ObsClient.java:159)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at com.obs.services.ObsClient$45.action(ObsClient.java:1632)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at com.obs.services.ObsClient$45.action(ObsClient.java:1626)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: at com.obs.services.ObsClient.doActionWithResult(ObsClient.java:2525)
12-26 09:47:35.487 30746-30746/com.gaga.live W/System.err: ... 19 more

Android OBS 断点续传上传

发生异常时可再次调用断点续传上传接口进行重新上传是怎么处理的?是再次用obsClient.uploadFile(request)么;再次上传似乎不是续传而是重新上传啊

没有一个版本这个方法是好的

BucketStorageInfo storageInfo =obsClient.getBucketStorageInfo(“backetName”);
Long num=storageInfo.getObjectNumber();//对象个数
Long size=storageInfo.getSize();//空间大小

File-Based Upload Error

Performing file based upload (described in here: https://support.huaweicloud.com/en-us/sdk-java-devg-obs/obs_21_0603.html) gives error.

Version: 3.20.6

In RequestConvertor class

long fileSize = request.getFile().length();

this line raised error because of method call, length(), on null object: request.getFile()

This is caused from this line

request.setInput(new FileInputStream(request.getFile()));

When you set input to request it sets file to null. This is the setInput method in PutObjectRequest class

    public void setInput(InputStream input) {
        this.input = input;
        this.file = null;
    }

列举对象,不能多个时间过滤吗

marker 列举对象的起始位置,返回的对象列表将是对象名按照字典序排序后该参数以后的所有对象。
只有marker 这个有时候满足不了

Dragonwell 11环境下无法找到sun.misc.BASE64Decoder

调用ObsClient.createTemporarySignature()方法生成临时访问url,会报下面的告警日志,但是临时url正常生成了。

WARN class not found exception. com.obs.services.internal.utils.ReflectUtils
java.lang.ClassNotFoundException: sun.misc.BASE64Decoder
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at com.obs.services.internal.utils.ReflectUtils.(ReflectUtils.java:79)
at com.obs.services.internal.utils.ServiceUtils.toBase64(ServiceUtils.java:407)
at com.obs.services.internal.utils.ServiceUtils.signWithHmacSha1(ServiceUtils.java:184)
at com.obs.services.internal.ObsService.createTemporarySignatureResponse(ObsService.java:1023)
at com.obs.services.ObsClient.createTemporarySignature(ObsClient.java:528)

putObject不支持自定义属性“origin”

putObject(String bucketName, String objectKey, InputStream input, ObjectMetadata metadata)

metadata包含属性“origin”,object上传后其它属性正常,但“origin”属性没有了

NoSuchMethodError: okhttp3.RequestBody.create(Ljava/lang/String;Lokhttp3/MediaType;)Lokhttp3/RequestBody

按照官网案例编码,结果报错🤣🤣

try(ObsClient obsClient = new ObsClient(accessKey, securityKey, obsUrl)){
obsClient.deleteObject(bucketName, "foo.mp4");
}catch (Exception e){
logger.error(e.getMessage());
}
}

java.lang.NoSuchMethodError: okhttp3.RequestBody.create(Ljava/lang/String;Lokhttp3/MediaType;)Lokhttp3/RequestBody;

at com.obs.services.internal.RestConnectionService.createRequestBuilder(RestConnectionService.java:171)
at com.obs.services.internal.RestConnectionService.setupConnection(RestConnectionService.java:162)
at com.obs.services.internal.RestStorageService.performRestForApiVersion(RestStorageService.java:1000)
at com.obs.services.internal.service.AbstractRequestConvertor.getAuthTypeNegotiationResponseImpl(AbstractRequestConvertor.java:355)
at com.obs.services.internal.service.AbstractRequestConvertor.parseAuthTypeInResponse(AbstractRequestConvertor.java:338)
at com.obs.services.internal.service.AbstractRequestConvertor.getApiVersion(AbstractRequestConvertor.java:302)
at com.obs.services.AbstractClient.access$000(AbstractClient.java:56)
at com.obs.services.AbstractClient$ActionCallbackWithResult.authTypeNegotiate(AbstractClient.java:370)
at com.obs.services.AbstractClient.doActionWithResult(AbstractClient.java:384)
at com.obs.services.AbstractObjectClient.deleteObject(AbstractObjectClient.java:392)
at com.obs.services.AbstractObjectClient.deleteObject(AbstractObjectClient.java:380)

依赖版本

    <dependency>
        <groupId>com.huawei.apigateway</groupId>
        <artifactId>java-sdk-core</artifactId>
        <version>3.1.0</version>
    </dependency>
    <dependency>
        <groupId>com.huaweicloud</groupId>
        <artifactId>esdk-obs-java</artifactId>
        <version>3.21.8</version>
    </dependency>

超时提示优化

发生超时之后,没有任何地址和具体的超时时间信息

[ERROR][ vert.x-eventloop-thread-7][2019-03-06 11:16:03.544] c.c.h.s.CommonDispatcher[44] - handle POST /rest/guidemgr/v1/manage/article/upload/picture fail
com.obs.services.exception.ObsException: Error message:Request error. OBS servcie Error Message.
	at com.obs.services.internal.utils.ServiceUtils.changeFromServiceException(ServiceUtils.java:731)
	at com.obs.services.ObsClient.doActionWithResult(ObsClient.java:2484)
	at com.obs.services.ObsClient.initiateMultipartUpload(ObsClient.java:2147)
	at com.obs.services.internal.ResumableClient.prepare(ResumableClient.java:338)
	at com.obs.services.internal.ResumableClient.uploadFileCheckPoint(ResumableClient.java:129)
	at com.obs.services.internal.ResumableClient.uploadFileResume(ResumableClient.java:69)
	at com.obs.services.ObsClient.uploadFile(ObsClient.java:1632)
	at cse.guide.manager.service.impl.GuideServiceImpl.uploadPicture(GuideServiceImpl.java:413)
	at io.vertx.ext.web.impl.BlockingHandlerDecorator.lambda$handle$0(BlockingHandlerDecorator.java:48)
	at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$2(ContextImpl.java:272)
	at io.vertx.core.impl.TaskQueue.run(TaskQueue.java:76)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.SocketTimeoutException: connect timed out
	at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
	at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
	at java.net.Socket.connect(Socket.java:589)
	at okhttp3.internal.platform.Platform.connectSocket(Platform.java:129)
	at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:240)
	at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:160)
	at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:257)
	at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:135)
	at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:114)
	at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
	at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
	at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
	at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
	at okhttp3.RealCall.execute(RealCall.java:77)
	at com.obs.services.internal.RestStorageService.performRequest(RestStorageService.java:420)
	at com.obs.services.internal.RestStorageService.performRequestWithoutSignature(RestStorageService.java:382)
	at com.obs.services.internal.RestStorageService.performRestForApiVersion(RestStorageService.java:760)
	at com.obs.services.internal.ObsService.getAuthTypeNegotiationResponseImpl(ObsService.java:2853)
	at com.obs.services.internal.ObsService.parseAuthTypeInResponse(ObsService.java:2837)
	at com.obs.services.internal.ObsService.getApiVersion(ObsService.java:2824)
	at com.obs.services.ObsClient.access$8000(ObsClient.java:150)
	at com.obs.services.ObsClient$ActionCallbackWithResult.authTypeNegotiate(ObsClient.java:2456)
	at com.obs.services.ObsClient.doActionWithResult(ObsClient.java:2470)
	... 13 common frames omitted

ObsClient.setFile()数据流不关闭的问题

根据com.obs.services.internal.transPutObjectRequest代码中的逻辑在设置文件的时候,这里方法会

	input = new FileInputStream(request.getFile());

得到文件流, 但是后面没有关闭这个文件流的逻辑。
所以导致了文件上传后文件依然被进程占用。

OBS servcie Error Message. java.lang.reflect.InvocationTargetException

在项目中集成OBS的SDK时,示例代码如下

/**
 * Copyright 2019 Huawei Technologies Co.,Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use
 * this file except in compliance with the License.  You may obtain a copy of the
 * License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software distributed
 * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations under the License.
 */

import com.obs.services.ObsClient;
import com.obs.services.ObsConfiguration;
import com.obs.services.exception.ObsException;
import com.obs.services.model.*;
import com.obs.services.model.DeleteObjectsResult.DeleteObjectResult;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;

/**
 * This sample demonstrates how to list objects under specified bucket 
 * from OBS using the OBS SDK for Java.
 */
public class ListObjectsSample
{
    private static final String endPoint = "obs.cn-south-1.myhuaweicloud.com";
    
    private static final String ak = "111111111111111111111111111111";
    
    private static final String sk = "222222222222222222222222222222";
    
    private static ObsClient obsClient;
    
    private static String bucketName = "kakashow-static";
    
    public static void main(String[] args)
        throws UnsupportedEncodingException
    {
        ObsConfiguration config = new ObsConfiguration();
        config.setSocketTimeout(30000);
        config.setConnectionTimeout(10000);
        config.setEndPoint(endPoint);
        try
        {
            /*
             * Constructs a obs client instance with your account for accessing OBS
             */
            obsClient = new ObsClient(ak, sk, config);
            
            final String content = "Hello OBS";
            final String keyPrefix = "MyObjectKey";
            ObjectListing objectListing = null;
            ListObjectsRequest listObjectsRequest = null;
            /*
             * First insert 100 objects for demo
             */
            List<String> keys = new ArrayList<String>();
            for (int i = 0; i < 100; i++)
            {
                String key = keyPrefix + i;
                InputStream instream = new ByteArrayInputStream(content.getBytes("UTF-8"));
                obsClient.putObject(bucketName, key, instream, null);
                keys.add(key);
            }
            System.out.println("Put " + keys.size() + " objects completed.");
            
            /*
             * List objects using default parameters, will return up to 1000 objects
             */
            System.out.println("List objects using default parameters:\n");
            objectListing = obsClient.listObjects(bucketName);
            for (ObsObject object : objectListing.getObjects())
            {
                System.out.println("\t" + object.getObjectKey() + " etag[" + object.getMetadata().getEtag() + "]");
            }
            System.out.println();
            
            /*
             * List the first 10 objects 
             */
            System.out.println("List the first 10 objects :\n");
            listObjectsRequest = new ListObjectsRequest(bucketName);
            listObjectsRequest.setMaxKeys(10);
            objectListing = obsClient.listObjects(listObjectsRequest);
            for (ObsObject object : objectListing.getObjects())
            {
                System.out.println("\t" + object.getObjectKey() + " etag[" + object.getMetadata().getEtag() + "]");
            }
            System.out.println();
            
            String theSecond10ObjectsMarker = objectListing.getNextMarker();
            
            /*
             * List the second 10 objects using marker 
             */
            System.out.println("List the second 10 objects using marker:\n");
            listObjectsRequest = new ListObjectsRequest(bucketName);
            listObjectsRequest.setMaxKeys(10);
            listObjectsRequest.setMarker(theSecond10ObjectsMarker);
            objectListing = obsClient.listObjects(listObjectsRequest);
            for (ObsObject object : objectListing.getObjects())
            {
                System.out.println("\t" + object.getObjectKey() + " etag[" + object.getMetadata().getEtag() + "]");
            }
            System.out.println();
            
            /*
             * List objects with prefix and max keys
             */
            System.out.println("List objects with prefix and max keys:\n");
            listObjectsRequest = new ListObjectsRequest(bucketName);
            listObjectsRequest.setPrefix(keyPrefix + "2");
            listObjectsRequest.setMaxKeys(5);
            objectListing = obsClient.listObjects(listObjectsRequest);
            for (ObsObject object : objectListing.getObjects())
            {
                System.out.println("\t" + object.getObjectKey() + " etag[" + object.getMetadata().getEtag() + "]");
            }
            System.out.println();
            
            /*
             * List all the objects in way of pagination
             */
            System.out.println("List all the objects in way of pagination:\n");
            listObjectsRequest = new ListObjectsRequest(bucketName);
            listObjectsRequest.setMaxKeys(10);
            String nextMarker = null;
            int index = 1;
            do
            {
                listObjectsRequest.setMarker(nextMarker);
                objectListing = obsClient.listObjects(listObjectsRequest);
                System.out.println("Page:" + index++ + "\n");
                for (ObsObject object : objectListing.getObjects())
                {
                    System.out.println("\t" + object.getObjectKey() + " etag[" + object.getMetadata().getEtag() + "]");
                }
                nextMarker = objectListing.getNextMarker();
            } while (objectListing.isTruncated());
            System.out.println();
            
            /*
             * Delete all the objects created
             */
            DeleteObjectsRequest request = new DeleteObjectsRequest();
            request.setBucketName(bucketName);
            request.setQuiet(false);
            KeyAndVersion[] kvs = new KeyAndVersion[keys.size()];
            index = 0;
            for (String key : keys)
            {
                kvs[index++] = new KeyAndVersion(key);
            }
            
            request.setKeyAndVersions(kvs);
            
            System.out.println("Delete results:");
            
            DeleteObjectsResult deleteObjectsResult = obsClient.deleteObjects(request);
            for (DeleteObjectResult object : deleteObjectsResult.getDeletedObjectResults())
            {
                System.out.println("\t" + object);
            }
            
        }
        catch (ObsException e)
        {
            e.printStackTrace();
            System.out.println("Response Code: " + e.getResponseCode());
            System.out.println("Error Message: " + e.getErrorMessage());
            System.out.println("Error Code:       " + e.getErrorCode());
            System.out.println("Request ID:      " + e.getErrorRequestId());
            System.out.println("Host ID:           " + e.getErrorHostId());
        }
        finally
        {
            if (obsClient != null)
            {
                try
                {
                    /*
                     * Close obs client 
                     */
                    obsClient.close();
                }
                catch (IOException e)
                {
                }
            }
        }
        
    }
}

发生错误:

com.obs.services.exception.ObsException: OBS servcie Error Message. java.lang.reflect.InvocationTargetException
	at com.obs.services.internal.utils.ServiceUtils.changeFromServiceException(ServiceUtils.java:634)
	at com.obs.services.ObsClient.doActionWithResult(ObsClient.java:3939)
	at com.obs.services.ObsClient.putObject(ObsClient.java:2412)
	at com.obs.services.ObsClient.putObject(ObsClient.java:2386)
	at ListObjectsSample.main(ListObjectsSample.java:70)
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.obs.services.internal.utils.ReflectUtils.toBase64(ReflectUtils.java:89)
	at com.obs.services.internal.utils.ServiceUtils.toBase64(ServiceUtils.java:407)
	at com.obs.services.internal.utils.ServiceUtils.signWithHmacSha1(ServiceUtils.java:184)
	at com.obs.services.internal.utils.AbstractAuthentication.caculateSignature(AbstractAuthentication.java:38)
	at com.obs.services.internal.utils.AbstractAuthentication.makeAuthorizationString(AbstractAuthentication.java:53)
	at com.obs.services.internal.RestStorageService.authorizeHttpRequest(RestStorageService.java:934)
	at com.obs.services.internal.RestStorageService.performRequest(RestStorageService.java:618)
	at com.obs.services.internal.RestStorageService.performRestPut(RestStorageService.java:998)
	at com.obs.services.internal.RestStorageService.performRestPut(RestStorageService.java:987)
	at com.obs.services.internal.ObsService.putObjectImpl(ObsService.java:1670)
	at com.obs.services.ObsClient.access$6000(ObsClient.java:211)
	at com.obs.services.ObsClient$47.action(ObsClient.java:2419)
	at com.obs.services.ObsClient$47.action(ObsClient.java:2413)
	at com.obs.services.ObsClient.doActionWithResult(ObsClient.java:3929)
	... 3 more
Caused by: java.lang.RuntimeException: Stub!
	at android.util.Base64.encode(Base64.java:10)
	... 21 more

奇怪的是这个问题在一个新的工程中不会出现
下面是我引用的包:

aliyun-java-sdk-core-3.4.0.jar
aliyun-java-sdk-ecs-4.2.0.jar
aliyun-java-sdk-ram-3.0.0.jar
aliyun-java-sdk-sts-3.0.0.jar
aliyun-sdk-oss-3.8.0.jar
android-4.1.1.4.jar
animal-sniffer-annotations-1.17.jar
api-common-1.10.1.jar
auto-value-annotations-1.7.4.jar
aws-java-sdk-core-1.11.855.jar
aws-java-sdk-kms-1.11.855.jar
aws-java-sdk-s3-1.11.855.jar
checker-compat-qual-2.5.5.jar
commons-compress-1.8.1.jar
commons-pool-1.5.5.jar
conscrypt-openjdk-uber-2.0.0.jar
cxf-core-3.1.2.jar
cxf-rt-frontend-jaxrs-3.1.2.jar
cxf-rt-transports-http-3.1.2.jar
error_prone_annotations-2.4.0.jar
esdk-obs-java-3.20.6.1.jar
failureaccess-1.0.1.jar
fastjson-1.2.12.jar
gax-1.60.0.jar
gax-httpjson-0.77.0.jar
geronimo-servlet_3.0_spec-1.0.jar
google-api-client-1.30.11.jar
google-api-services-bigquery-v2-rev20201030-1.30.10.jar
google-auth-library-credentials-0.22.0.jar
google-auth-library-oauth2-http-0.22.0.jar
google-cloud-bigquery-1.124.4.jar
google-cloud-core-1.93.10.jar
google-cloud-core-http-1.93.10.jar
google-http-client-1.37.0.jar
google-http-client-appengine-1.37.0.jar
google-http-client-jackson2-1.37.0.jar
google-oauth-client-1.31.1.jar
grpc-context-1.33.1.jar
guava-30.0-android.jar
httpclient-4.5.13.jar
httpcore-4.4.13.jar
ion-java-1.0.2.jar
j2objc-annotations-1.3.jar
jackson-annotations-2.10.0.jar
jackson-core-2.11.3.jar
jackson-databind-2.10.0.jar
jackson-dataformat-cbor-2.6.7.jar
java-xmlbuilder-1.2.jar
javax.annotation-api-1.3.2.jar
javax.servlet-api-3.1.0.jar
javax.ws.rs-api-2.0.1.jar
jdom-1.1.jar
jedis-2.1.0.jar
jettison-1.1.jar
jmespath-java-1.11.855.jar
json-20080701.jar
jsr305-3.0.2.jar
listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
log4j-api-2.13.2.jar
log4j-core-2.13.2.jar
okhttp-3.14.4.jar
okio-1.17.2.jar
opencensus-api-0.24.0.jar
opencensus-contrib-http-util-0.24.0.jar
opengl-api-gl1.1-android-2.1_r1.jar
org.osgi.core-4.2.0.jar
proto-google-common-protos-2.0.0.jar
proto-google-iam-v1-1.0.2.jar
protobuf-java-3.13.0.jar
protobuf-java-util-3.13.0.jar
shiro-cache-1.4.0.jar
shiro-config-core-1.4.0.jar
shiro-core-1.4.0.jar
shiro-crypto-cipher-1.4.0.jar
shiro-crypto-core-1.4.0.jar
shiro-crypto-hash-1.4.0.jar
shiro-event-1.4.0.jar
shiro-lang-1.4.0.jar
stax2-api-3.1.4.jar
stax-api-1.0.1.jar
threetenbp-1.5.0.jar
woodstox-core-asl-4.4.1.jar
xmlParserAPIs-2.6.2.jar
xmlschema-core-2.2.1.jar
xpp3-1.1.4c.jar
xz-1.5.jar

新版本3.21.8.1实例化ObsClient失败

由于pom版本[3.21.8,)是这种写法,导致更新maven,下载了最新版本。
新版本3.21.8.1实例化ObsClient失败,debug在com.obs.services.AbstractClient#static代码块failIfExternalEntityParsingCannotBeConfigured抛出异常org.springframework.beans.BeanUtils#instantiateClass(java.lang.reflect.Constructor, java.lang.Object...)
throw new BeanInstantiationException(ctor, "Constructor threw exception", ex.getTargetException());

JDK11下sun.misc.BASE64Decoder class not found问题

JDK11下sun.misc.BASE64Decoder class not found问题
obs sdk版本:com.huaweicloud:esdk-obs-java:3.20.6.1

java.lang.ClassNotFoundException: sun.misc.BASE64Decoder
at java.base/java.lang.Class.forNameImpl(Native Method)
at java.base/java.lang.Class.forName(Class.java:343)
at com.obs.services.internal.utils.ReflectUtils.(ReflectUtils.java:79)
at com.obs.services.internal.utils.ServiceUtils.toBase64(ServiceUtils.java:407)
at com.obs.services.internal.utils.ServiceUtils.signWithHmacSha1(ServiceUtils.java:184)
at com.obs.services.internal.utils.AbstractAuthentication.caculateSignature(AbstractAuthentication.java:38)
at com.obs.services.internal.utils.AbstractAuthentication.makeAuthorizationString(AbstractAuthentication.java:53)
at com.obs.services.internal.RestStorageService.authorizeHttpRequest(RestStorageService.java:934)
at com.obs.services.internal.RestStorageService.performRequest(RestStorageService.java:618)
at com.obs.services.internal.RestStorageService.performRestGet(RestStorageService.java:982)
at com.obs.services.internal.RestStorageService.performRestGet(RestStorageService.java:961)
at com.obs.services.internal.ObsService.listObjectsImpl(ObsService.java:2124)

创建桶的时候提示没有桶

调用obsClient.createBucket(“obsBucket”);

NoSuchBucket
The specified bucket does not exist
0000017C11ADD169951127911DBDB09D
6Znivw4MmdSwirEClq1nZ3gKpNE6pFJppcuG/zUYdGzEkKw+Zb6EIzPQNRZ74Pw2
已存在的桶名

关于android 对象存储服务OBS 使用时发现对“ResumableClient$UploadCheckPoint”检验代码抛出异常而无法正确的续传,应该怎么处理?

我在使用 对象存储服务 OBS > SDK参考> Android> 上传对象> 断点续传上传 的时候,百分百按照该文档所描述的Demo进行操作,发现并不能实现续传功能,在翻阅源码发现,在解析uploadFile_record文件时,所使用的SecureObjectInputStream类中,对“ResumableClient$DownloadCheckPoint”和“ResumableClient$UploadCheckPoint”进行了解析验证,这里的解析代码 String name = desc.getName();中还被得到name 为UploadCheckPoint内部所使用的类,例如“java.util.ArrayList”“UploadPart”等的结果,造成uploadFile_record文件解析过程抛出异常,而造成文件必须重新开始上传。请问是不支持断点续传了吗?还是应该如何正确实现断点续传?

public final class SecureObjectInputStream extends ObjectInputStream {
public SecureObjectInputStream() throws IOException, SecurityException {
}

public SecureObjectInputStream(InputStream in) throws IOException {
    super(in);
}

protected Class<?> resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException {
    String name = desc.getName();
    if (!name.equals("com.obs.services.internal.ResumableClient$DownloadCheckPoint") && !name.equals("com.obs.services.internal.ResumableClient$UploadCheckPoint")) {
        throw new ClassNotFoundException(name + "not find");
    } else {
        return super.resolveClass(desc);
    }
}

}

删除对象返回204

调用删除方法,成功删除文件,但返回结果中deleteMarker属性却一直是false,即使桶里没有被删除的文件
代码:DeleteObjectResult result = getObsClient().deleteObject(bucketName, fileName);
日志信息:2021-06-17 16:13:17 468|com.obs.services.internal.RestStorageService|tryRequest|421|Response for 'DELETE'. Content-Type: null, ResponseCode:204, Headers: Server: OBS
华为云问题反馈

分段上传最后合并出错 obsClient.completeMultipartUpload

引入方式 implementation 'com.huaweicloud:esdk-obs-android:3.21.8'
版本 3.21.8
2021-11-26 14:13:11.900 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: ERROR StatusLogger Could not reconfigure JMX
2021-11-26 14:13:11.900 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: java.lang.NoClassDefFoundError: Failed resolution of: Ljava/lang/management/ManagementFactory;
2021-11-26 14:13:11.900 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:140)
2021-11-26 14:13:11.900 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:629)
2021-11-26 14:13:11.900 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:691)
2021-11-26 14:13:11.901 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:708)
2021-11-26 14:13:11.901 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:263)
2021-11-26 14:13:11.901 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:243)
2021-11-26 14:13:11.901 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
2021-11-26 14:13:11.901 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at org.apache.logging.log4j.LogManager.getContext(LogManager.java:174)
2021-11-26 14:13:11.901 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:669)
2021-11-26 14:13:11.901 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at java.lang.reflect.Method.invoke(Native Method)
2021-11-26 14:13:11.901 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at com.obs.log.LoggerBuilder.getLogger(LoggerBuilder.java:53)
2021-11-26 14:13:11.901 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at com.obs.log.LoggerBuilder.getLogger(LoggerBuilder.java:62)
2021-11-26 14:13:11.901 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at com.obs.services.internal.RestConnectionService.(RestConnectionService.java:42)
2021-11-26 14:13:11.901 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at com.maezia.ezia.composer.phoneapp.uploader.UploaderManager$UploadToObsTask.uploadInitiateMultipart(UploaderManager.java:379)
2021-11-26 14:13:11.901 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at com.maezia.ezia.composer.phoneapp.uploader.UploaderManager$UploadToObsTask.doInBackground(UploaderManager.java:274)
2021-11-26 14:13:11.901 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at com.maezia.ezia.composer.phoneapp.uploader.UploaderManager$UploadToObsTask.doInBackground(UploaderManager.java:209)
2021-11-26 14:13:11.901 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:333)
2021-11-26 14:13:11.901 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
2021-11-26 14:13:11.901 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
2021-11-26 14:13:11.901 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
2021-11-26 14:13:11.901 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
2021-11-26 14:13:11.901 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at java.lang.Thread.run(Thread.java:764)
2021-11-26 14:13:11.902 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: Caused by: java.lang.ClassNotFoundException: Didn't find class "java.lang.management.ManagementFactory" on path: DexPathList[[zip file "/data/app/com.maezia.ezia.composer.phoneapp-x45qbK9IiA0pRNPJmRi-ug==/base.apk"],nativeLibraryDirectories=[/data/app/com.maezia.ezia.composer.phoneapp-x45qbK9IiA0pRNPJmRi-ug==/lib/arm64, /system/lib64, /system/vendor/lib64]]
2021-11-26 14:13:11.902 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
2021-11-26 14:13:11.902 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
2021-11-26 14:13:11.902 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
2021-11-26 14:13:11.902 10715-11891/com.maezia.ezia.composer.phoneapp W/System.err: ... 22 more
2021-11-26 14:13:12.765 10715-11891/com.maezia.ezia.composer.phoneapp I/UploadPart: 0000017D5AE05619804FD51858E1A3F4
2021-11-26 14:13:12.801 10715-10738/com.maezia.ezia.composer.phoneapp I/zygote64: Do full code cache collection, code=1006KB, data=643KB
2021-11-26 14:13:12.804 10715-10738/com.maezia.ezia.composer.phoneapp I/zygote64: After code cache collection, code=945KB, data=539KB
2021-11-26 14:13:28.296 10715-11897/com.maezia.ezia.composer.phoneapp I/UploadPart: Part#4 done
2021-11-26 14:13:41.383 10715-11894/com.maezia.ezia.composer.phoneapp I/UploadPart: Part#1 done
2021-11-26 14:13:48.841 10715-11896/com.maezia.ezia.composer.phoneapp I/UploadPart: Part#3 done
2021-11-26 14:13:53.241 10715-11895/com.maezia.ezia.composer.phoneapp I/UploadPart: Part#2 done

--------- beginning of crash

2021-11-26 14:13:53.259 10715-11891/com.maezia.ezia.composer.phoneapp E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #4
Process: com.maezia.ezia.composer.phoneapp, PID: 10715
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:353)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
at java.util.concurrent.FutureTask.run(FutureTask.java:271)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: javax.xml.parsers.FactoryConfigurationError: Provider com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl not found
at com.obs.services.internal.xml.OBSXMLBuilder.newInstance(OBSXMLBuilder.java:146)
at com.obs.services.internal.xml.OBSXMLBuilder.findDocumentBuilderFactory(OBSXMLBuilder.java:59)
at com.obs.services.internal.xml.OBSXMLBuilder.createDocumentImpl(OBSXMLBuilder.java:66)
at com.obs.services.internal.xml.OBSXMLBuilder.create(OBSXMLBuilder.java:153)
at com.obs.services.internal.V2Convertor.transCompleteMultipartUpload(V2Convertor.java:78)
at com.obs.services.internal.service.ObsMultipartObjectService.completeMultipartUploadImpl(ObsMultipartObjectService.java:93)
at com.obs.services.AbstractMultipartObjectClient.access$400(AbstractMultipartObjectClient.java:39)
at com.obs.services.AbstractMultipartObjectClient$5.action(AbstractMultipartObjectClient.java:185)
at com.obs.services.AbstractMultipartObjectClient$5.action(AbstractMultipartObjectClient.java:182)
at com.obs.services.AbstractClient.doActionWithResult(AbstractClient.java:388)
at com.obs.services.AbstractMultipartObjectClient.completeMultipartUpload(AbstractMultipartObjectClient.java:181)
at com.maezia.ezia.composer.phoneapp.uploader.UploaderManager$UploadToObsTask.uploadInitiateMultipart(UploaderManager.java:451)
at com.maezia.ezia.composer.phoneapp.uploader.UploaderManager$UploadToObsTask.doInBackground(UploaderManager.java:274)
at com.maezia.ezia.composer.phoneapp.uploader.UploaderManager$UploadToObsTask.doInBackground(UploaderManager.java:209)
at android.os.AsyncTask$2.call(AsyncTask.java:333)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 
at java.lang.Thread.run(Thread.java:764) 

--------- beginning of system

Duplicate classes in dependencies

As per following the documentation, i have added the dependencies into the gradle build
image

However, when I sync the gradle build, it shows this error:
image

I am using version 3.20.1(Latest version) of OBS Android SDK and using android studio referencing the Android SDK developer guide to try and do it

建议更换掉 com.obs.services.internal.utils.ReflectUtils 里的 sun.misc.BASE64Encoder 、BASE64Decoder

sun.misc 不是 java 标准公开的 API ,在一些环境下会加载不到这些类。有 apache commons 或者 spring 的 BASE64 工具可供替换。

java.lang.ClassNotFoundException: sun.misc.BASE64Encoder
at java.net.URLClassLoader.findClass(Unknown Source) ~[?:?]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:151) ~[microservice-1.0.0.jar:?]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]
at java.lang.Class.forName0(Native Method) ~[?:?]
at java.lang.Class.forName(Unknown Source) ~[?:?]
at com.obs.services.internal.utils.ReflectUtils.(ReflectUtils.java:73) [esdk-obs-java-3.20.6.jar!/:?]
at com.obs.services.internal.utils.ServiceUtils.toBase64(ServiceUtils.java:407) [esdk-obs-java-3.20.6.jar!/:?]
at com.obs.services.internal.utils.ServiceUtils.signWithHmacSha1(ServiceUtils.java:184) [esdk-obs-java-3.20.6.jar!/:?]
at com.obs.services.internal.utils.AbstractAuthentication.caculateSignature(AbstractAuthentication.java:38) [esdk-obs-java-3.20.6.jar!/:?]
at com.obs.services.internal.utils.AbstractAuthentication.makeAuthorizationString(AbstractAuthentication.java:53) [esdk-obs-java-3.20.6.jar!/:?]
at com.obs.services.internal.RestStorageService.authorizeHttpRequest(RestStorageService.java:934) [esdk-obs-java-3.20.6.jar!/:?]
at com.obs.services.internal.RestStorageService.performRequest(RestStorageService.java:618) [esdk-obs-java-3.20.6.jar!/:?]
at com.obs.services.internal.RestStorageService.performRestGet(RestStorageService.java:982) [esdk-obs-java-3.20.6.jar!/:?]
at com.obs.services.internal.RestStorageService.performRestGet(RestStorageService.java:961) [esdk-obs-java-3.20.6.jar!/:?]
at com.obs.services.internal.ObsService.listObjectsImpl(ObsService.java:2124) [esdk-obs-java-3.20.6.jar!/:?]
at com.obs.services.ObsClient.access$1500(ObsClient.java:211) [esdk-obs-java-3.20.6.jar!/:?]
at com.obs.services.ObsClient$4.action(ObsClient.java:881) [esdk-obs-java-3.20.6.jar!/:?]
at com.obs.services.ObsClient$4.action(ObsClient.java:878) [esdk-obs-java-3.20.6.jar!/:?]
at com.obs.services.ObsClient.doActionWithResult(ObsClient.java:3929) [esdk-obs-java-3.20.6.jar!/:?]
at com.obs.services.ObsClient.listObjects(ObsClient.java:877) [esdk-obs-java-3.20.6.jar!/:?]

最新版java sdk 3.20.6.2 上传返回状态码:-1

// 您的工程中可以只保留一个全局的ObsClient实例
// ObsClient是线程安全的,可在并发场景下使用
ObsClient obsClient = null; 
try
{
    String endPoint = "https://your-endpoint";
    String ak = "*** Provide your Access Key ***";
    String sk = "*** Provide your Secret Key ***";
    // 创建ObsClient实例
    obsClient = new ObsClient(ak, sk, endPoint);
    // 调用接口进行操作,例如上传对象
    HeaderResponse response = obsClient.putObject("bucketname", "objectname", new File("localfile"));  // localfile为待上传的本地文件路径,需要指定到具体的文件名
    System.out.println(response);
}
catch (ObsException e)
{
    System.out.println("HTTP Code: " + e.getResponseCode());
    System.out.println("Error Code:" + e.getErrorCode());
    System.out.println("Error Message: " + e.getErrorMessage());
    
    System.out.println("Request ID:" + e.getErrorRequestId());
    System.out.println("Host ID:" + e.getErrorHostId());
}finally{
    // 关闭ObsClient实例,如果是全局ObsClient实例,可以不在每个方法调用完成后关闭
    // ObsClient在调用ObsClient.close方法关闭后不能再次使用
    if(obsClient != null){
        try
        {
            // obsClient.close();
        }
        catch (IOException e)
        {
        }
    }
}

上述示例代码在最新版本:3.20.6.2出现异常,如下:(在3.20.6.1中不会)
HTTP Code: -1
Error Code:null
Error Message: null
Request ID:null
Host ID:null
Error Message: OBS servcie Error Message. Request Error: java.lang.NoSuchMethodError: okhttp3.internal.http.RetryAndFollowUpInterceptor.(Lokhttp3/OkHttpClient;Z)V

出现403 访问错误

使用最新版本的华为obs sdk,配置好域名 key等相关配置,请求出现403 的错误,但是将域名换成ip就没啥问题,不知道这是不是个bug

putObject 返回 408 是sdk版本问题吗

image
image

2021-07-19 20:01:54 287|com.obs.services.AbstractClient|init|97|[OBS SDK Version=3.21.4];[Endpoint=https://obs.cn-south-1.myhuaweicloud.com:443/];[Access Mode=Virtul Hosting]

obsClient.setBucketFSStatus方法报错

obsClient.setBucketFSStatus(new SetBucketFSStatusRequest(bucketName, FSStatusEnum.ENABLED))
报错:
The request signature we calculated does not match the signature you provided. Check your key and signing method.
但是 obsClient.getBucketFSStatus却可以执行。

Maven Central 上的 SDK 版本过低 SDK released on Maven Central is outdated

你好。OBS SDK 在本站的最新版本是 3.20.4(发布于 5 月 6 日),而在 Maven **仓库上的最新版本是 3.19.7 (发布于去年 8 月 2 日)。希望能够同步更新。
Hello there, the SDK released on Maven Central is outdated (3.19.7, released on 2nd August, last year) compared to the one released on Github (3.20.4, released on 6th May). Could you please keep it updated.

OBS servcie Error Message. java.lang.NoSuchMethodException: <init> [interface org.xml.sax.XMLReader]

使用官方的断点续传示例,报这个错误

代码如下:
`UploadFileRequest request = new UploadFileRequest("anne-bqj-file", objectname + "/" + fileMD5 + "." + endName);
// 设置待上传的本地文件,其中localfile为待上传的本地文件路径,需要指定到具体的文件名
request.setUploadFile(filePath);
// 设置分段上传时的最大并发数
request.setTaskNum(5);
// 设置分段大小为10MB
request.setPartSize(10 * 1024 * 1024);
// 开启断点续传模式
request.setEnableCheckpoint(true);

        request.setProgressListener(new ProgressListener() {

            @Override
            public void progressChanged(ProgressStatus status) {
                mObsUploadCallBack.progressChange(status);
            }
        });
        // 每上传1MB数据反馈上传进度
        request.setProgressInterval(1024 * 1024L);

        try{
            // 进行断点续传上传
            CompleteMultipartUploadResult result = obsClient.uploadFile(request);
            LogUtils.e("上传成功",result.getStatusCode() + "");
            if (result.getStatusCode() == 200){
                
            }else{
               
            }
        }catch (ObsException e) {
            // 发生异常时可再次调用断点续传上传接口进行重新上传
            LogUtils.e("上传失败,重新断点上传");
            e.printStackTrace();

// obsClient.uploadFile(request); 不继续尝试,直接失败,让用户自己处理
}`

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.