Autodesk Forge java教程新建bucket创建失败

Posted

技术标签:

【中文标题】Autodesk Forge java教程新建bucket创建失败【英文标题】:Autodesk Forge java tutorial new bucket creation failure 【发布时间】:2018-10-26 21:15:00 【问题描述】:

我正在关注 java 的 autodesk forge 教程,但使用他们的代码示例,新存储桶创建对我来说失败,除了“com.autodesk.client.ApiException: error”之外几乎没有错误信息。所以我想知道是否有其他人已经尝试使用他们的教程创建简单的查看器并设法解决了这个问题,或者至少遇到了它。 遗憾的是,他们在 GitHub 中的示例程序不完整,因此我无法准确检查 servlet 映射是否存在任何错误。

com.autodesk.client.ApiClient.invokeAPI(ApiClient.java:581), com.autodesk.client.api.BucketsApi.createBucket(BucketsApi.java:113), forgesample.oss.doPost(oss.java:141), javax.servlet.http.HttpServlet.service(HttpServlet.java:661), javax.servlet.http.HttpServlet.service(HttpServlet.java:742), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166), org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166), org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198), org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96), org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496), org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140), org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81), org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650), org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87), org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342), org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803), org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66), org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790), org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1468), org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617), org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61), java.lang.Thread.run(Thread.java:745)

编辑 显然使用了一个更独特的存储桶名称,我设法创建了一个,但是给定的错误是普通的 400 并且堆栈跟踪并没有提供太多帮助。

【问题讨论】:

对于这样的问题我很抱歉,你能在错误发生时添加完整的调用堆栈吗?谢谢! @AugustoGoncalves 我更新了问题,但也设法解决了它。当原因是 http 400 并且没有额外信息时,它仍然不能提供确切的信息。 @WidnmaxJ,本教程的 Java 代码不会抛出原始错误,因为 JAVA SDK 已经处理好了。为了使错误更简单,本教程仅打印一般错误。对不起这个问题。我们可以增强工作流程。关于错误400,请问您的bucket名称是否符合规则:-_.a-z0-9(长度在3-128个字符之间)?根据我的经验,通常 400 表示存储桶名称无效。 【参考方案1】:

为了记录,这里是bucket names的要求:

您分配给存储桶的唯一名称。它必须是全局唯一的 跨所有应用程序和区域,否则调用将失败。 可能的值:-_.a-z0-9(长度在 3-128 个字符之间)。笔记 您无法更改存储桶密钥。

感谢@WidnmaxJ 的反馈,感谢logged 对教程的改进。

【讨论】:

以上是关于Autodesk Forge java教程新建bucket创建失败的主要内容,如果未能解决你的问题,请参考以下文章

Autodesk Forge 扩展

Autodesk-forge 查看器:访问令牌

Autodesk Forge Viewer - 图钉位置不准确

Autodesk-forge 不接受 cURL 请求范围

将模型从 Autodesk Viewer 加载到 Forge Viewer

Autodesk Forge - 指定要上传的文件的路径