0

在 Windows 7 Pro 机器上运行 AMTU 时出现问题。

打开时运行良好,但运行几天后崩溃。

这是崩溃报告。

2013-09-14 09:48:19,482 [pool-3-thread-3] com.amazon.merchants.services.RetrieverService - 无法检索未确认的报告信息 - MWS 请求 ID 未知 2013-09-14 09:48:19,482 [pool-3-thread-3] com.amazon.merchants.services.RetrieverService - MWS 响应错误:内部错误 com.amazonaws.mws.MarketplaceWebServiceException:com.amazonaws.mws.MarketplaceWebServiceClient.processErrors(MarketplaceWebServiceClient. java:2342) 在 com.amazonaws.mws.MarketplaceWebServiceClient.invoke(MarketplaceWebServiceClient.java:2231) 在 com.amazonaws.mws.MarketplaceWebServiceClient.invoke(MarketplaceWebServiceClient.java:2011) 在 com.amazonaws.mws.MarketplaceWebServiceClient.getReportList(MarketplaceWebServiceClient .java:1206)在 com.amazon.merchants.services.RetrieverService。processReportCheck(RetrieverService.java:94) at com.amazon.merchants.services.RetrieverService.run(RetrieverService.java:46) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent。 FutureTask$Sync.innerRunAndReset(Unknown Source) at java.util.concurrent.FutureTask.runAndReset(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask .runPeriodic(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run (未知来源)在 java.lang.Thread。运行(未知来源)

我也无法启动名为 AMTU 的 Windows 服务。得到以下错误:

本地计算机上的 AMTU 服务已启动然后停止

我怀疑它是Java版本问题。

在 AMTU 文档中,它说“需要 Java 版本 1.6.0 或更高版本(列为 JDK/JRE - 6)”并链接到http://www.oracle.com/technetwork/java/archive-139210.html。该链接有许多下载链接,但没有列出“JDK/JRE - 6”。

AMTU 文档:https ://d28hcfptedr5ia.cloudfront.net/ug/AMTU_2.2_UserGuide.pdf

有任何想法吗?

提前致谢。

4

1 回答 1

0

在我阅读这个崩溃报告的过程中,AMTU 从 MWS 服务器得到了一个意想不到的结果:

MWS responded with an error: Internal Error

似乎 AMTU 中的错误处理不足以优雅地处理 HTTP 状态 500,对此您无能为力。您可以在中间放置一个 HTTP 代理,并在它到达 AMTU 之前捕获在线上的 HTTP 500,将其替换为 AMTU 处理得更优雅的东西(例如空 XML 结果或超时)。尽管亚马逊不会将这些错误发回,这将是更可取的,毕竟,500 是他们一方的错误。

我严重怀疑 Java 版本是否与此有关,但以防万一:即使 JRE6 已停产,您仍然可以下载它:

Java 6 下载

请注意,JRE6 的真名是“Java SE 运行环境”,JDK6 被称为“Java SE 开发工具包”。在撰写本文时,最新版本是“更新 45”。您可能需要卸载 Java 7 以确保 AMTU 实际使用您想要的版本。另请注意,由于 AMTU 是 32 位进程,因此即使在 64 位 Windows 上运行,您也需要 32 位 JRE。

于 2013-09-29T12:45:18.013 回答