Amazon ItemSearch in Java with SOAP
/*The Code for ItemSearchTester*/
package com.amazon.webservices.awsecommerceservice._2007_10_29;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.ws.Holder;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
import java.math.BigInteger;
public class ItemSearchTester{
public static void main(String[] args)
{
ItemSearchTester ist = new ItemSearchTester();
ist.runSearch();
}
public void runSearch()
{
String awsAccessKeyID = "1NFGXR5CM3CZJ8EX43G2";
// Set the service:
AWSECommerceService service = new AWSECommerceService();
//Set the service port:
AWSECommerceServicePortType port = service.getAWSECommerceServicePort();
//A new ItemSearch
ItemSearch ItemSearch = new ItemSearch();
ItemSearch.setAWSAccessKeyId("1NFGXR5CM3CZJ8EX43G2");
//A new ItemSearchRequest which is part of the ItemSearch
ItemSearchRequest SearchRequest = new ItemSearchRequest();
java.util.List<ItemSearchRequest> list = ItemSearch.getRequest();
list.add(SearchRequest);
/*Set up the values of the ItemSearchRequest */
SearchRequest.setSearchIndex("Electronics");
//SearchRequest.setAuthor("");
SearchRequest.setKeywords("Digital+Rebel+XT");
ItemSearch.getRequest().add(SearchRequest);
java.util.List<String> responseGroup = SearchRequest.getResponseGroup() ;
responseGroup.add("Images");
responseGroup.add("ItemAttributes");
responseGroup.add("Large");
Holder<OperationRequest> operationrequest = new Holder<OperationRequest>();
Holder<java.util.List<Items>> items = new Holder<java.util.List<Items>> ();
//marketplacedomain,accesskey,subscriptionkey,associateTag, xmlEscaping, String validate, ItemSearchRequest shared, List<ItemSearchRequest> request,
// Holder<OperationRequest> operationRequest, Holder<List<Items>> items
port.itemSearch("",awsAccessKeyID,awsAccessKeyID,"","","",SearchRequest,ItemSearch.getRequest(),operationrequest,items);
//search.getRequest()
java.util.List<Items> result = items.value;
BigInteger totalPages = result.get(0).getTotalResults() ;
System.out.println(totalPages);
for (int i = 0; i < result.get(0).getItem().size(); ++i)
{
Item myItem = result.get(0).getItem().get(i) ;
System.out.print(myItem.getASIN()) ;
System.out.print( ", " ) ;
System.out.println (myItem.getDetailPageURL());
System.out.print( ", " ) ;
System.out.println (myItem.getSmallImage() == null ? "" : myItem.getSmallImage().getURL());
}
}
}
