【发布时间】:2012-09-23 14:23:20
【问题描述】:
我已经为亚马逊产品 API 创建了一个搜索请求,但它的响应是空的。 你能告诉我我的代码有什么问题吗?
代码:
String awsAccessKeyID = "<AWS-KEY>";
String test = "<ASSOCIATE-TAG>";
AWSECommerceService service = new AWSECommerceService();
service.setHandlerResolver(new AwsHandlerResolver("<SECRET-KEY>"));
AWSECommerceServicePortType port = service.getAWSECommerceServicePort();
ItemSearch ItemSearch = new ItemSearch();
ItemSearch.setAWSAccessKeyId(awsAccessKeyID);
ItemSearch.setAssociateTag(test);
ItemSearchRequest SearchRequest = new ItemSearchRequest();
java.util.List<ItemSearchRequest> list = ItemSearch.getRequest();
list.add(SearchRequest);
SearchRequest.setSearchIndex("All");
SearchRequest.setKeywords("nas");
ItemSearch.getRequest().add(SearchRequest);
ItemSearch.setMarketplaceDomain("https://ecs.amazonaws.de/onca/xml?Service=AWSECommerceService");
SearchRequest.getResponseGroup().add("Large");
Holder<OperationRequest> operationrequest = new Holder<OperationRequest>();
Holder<java.util.List<Items>> items = new Holder<java.util.List<Items>>();
port.itemSearch(ItemSearch.getMarketplaceDomain(), ItemSearch.getAWSAccessKeyId(), ItemSearch.getAssociateTag(), ItemSearch.getXMLEscaping(), "True", ItemSearch.getShared(), ItemSearch.getRequest(), operationrequest, items);
java.util.List<Items> result = items.value;
System.out.println(result);
ResultSet 仍然为空,但没有发生错误......
【问题讨论】:
-
你怎么知道没有发生错误?
-
请求期间没有异常。
-
你知道结果必须返回一个大小 > 0 的列表吗?顺便说一句:确定
port.itemSearch是 void 类型(我不知道亚马逊 API)? -
如您所见,结果变量的类型为 holder 并将保存结果。此请求应在名称包含“nas”的所有搜索索引(所有类别)中查找所有产品。我敢肯定有几个产品匹配这个项目....
标签: java soap amazon amazon-product-api