gpt4 book ai didi

java - 亚马逊产品广告 API - 使用 Java/SOAP 批量 itemLookup 出现 503 错误

转载 作者:太空宇宙 更新时间:2023-11-04 12:58:30 28 4
gpt4 key购买 nike

我在批量项目查找方面遇到问题

com.sun.xml.internal.ws.client.ClientTransportException:

   com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 503: Service Unavailable

com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 503: Service Unavailable at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.checkStatusCode(HttpTransportPipe.java:296) at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.createResponsePacket(HttpTransportPipe.java:245) at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:203) at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:122) at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:95) at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:626) at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:585) at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:570) at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:467) at com.sun.xml.internal.ws.client.Stub.process(Stub.java:308) at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:146) at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:98) at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78) at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:129) at $Proxy29.itemLookup(Unknown Source)

此 itemLookup 是根据以下请求进行的:

    List<String> resGroup = new ArrayList<String>();
resGroup.add("Offers");
resGroup.add("Images");
resGroup.add("ItemAttributes");
resGroup.add("ItemIds");

ItemLookupRequest request = new ItemLookupRequest();
request.getItemId().addAll(asins); //asins is an ArrayList<String> of 10 asins
request.setMerchantId(merchant);
request.setCondition(condition);
request.getResponseGroup().addAll(resGroup);

ItemLookup itemLookup = new ItemLookup();

itemLookup.setAWSAccessKeyId(AWS_ACCESS_KEY);
itemLookup.setAssociateTag(ASSOC_TAGS.get("en-GB"));
itemLookup.getRequest().add(request);

response = port.itemLookup(itemLookup); **<-- This line throws the Exception**

此代码已运行 3 年,每 24 小时一次以 10 次为一组查找大约 26,000 个项目,没有出现任何问题,但在接下来的日期,当天进行的每次查找都返回 503。

2015年4月5日,2015年4月6日

2015年4月26日

2015年8月5日

2015年12月25日,2015年12月26日

2016年1月25日至2016年2月2日(含)

亚马逊产品广告 API 文档中的唯一建议是 503 是由限制引起的,并建议减少每秒发送的请求数量。限制不应成为每次查找的问题。如果是由于限制,查找首先会成功,并且仅在达到每小时配额后才返回 503。情况并非如此,在给定日期,成功查找次数为零,服务在所有其他时间恢复正常。

最佳答案

我也遇到503错误,但是当我重复请求时,可能会成功。试试这个:

int retries = 0;
while (retries < 3){

Thread.sleep(1500 * retries);

try{
response = port.itemLookup(itemLookup);
break;
}
catch(Exception ex){ }
retries++;
}

希望这有帮助。

关于java - 亚马逊产品广告 API - 使用 Java/SOAP 批量 itemLookup 出现 503 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35152480/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com