AMTU(亚马逊传输实用程序)崩溃并且服务未运行

时间:2013-09-16 17:19:57

标签: java amazon amazon-mws

在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)       在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(未知来源)       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(Unknown Source)       在java.lang.Thread.run(未知来源)

我也无法启动名为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

任何想法?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我读取此崩溃报告的方式,AMTU从MWS服务器获得了意外结果:

MWS responded with an error: Internal Error

AMTU中的错误处理似乎不足以优雅地处理HTTP状态500,并且您无法做很多事情。您可以在它们之间放置一个HTTP代理,并在它到达AMTU之前捕获该线路上的HTTP 500,将其替换为AMTU更优雅地处理的内容(例如,空XML结果或超时)。虽然亚马逊不会发回这些错误,但是在他们的方面错误500是错误的。

我严重怀疑Java版本与此有什么关系,但以防万一:你仍然可以下载JRE6,即使它已经过时了:

Java 6 downloads

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