Amazon Web Services

客户要求获取Amazon的数据,解决方案是使用Amazon Web Services (AWS)

相关资源

http://www.awszone.com/index.aws

http://docs.amazonwebservices.com/AWSEcommerceService/2005-03-23/

http://developer.amazonwebservices.com/connect/index.jspa

1.这里获取aws最新的wsdl, 这里使用的是2007-01-15版本.

2.使用Apache Axis的WSDL2Java来生成源文件. 在命令行中运行

java -cp "E:\test\axis.jar;E:\test\axis-ant.jar;E:\test\commons-discovery-0.2.jar;E:\test\commons-logging-1.0.4.jar;E:\test\jaxrpc.jar;E:\test\log4j-1.2.8.jar;E:\test\saaj.jar;E:\test\wsdl4j-1.5.1.jar" org.apache.axis.wsdl.WSDL2Java -v -W http://webservices.amazon.com/AWSECommerceService/2007-01-15/AWSECommerceService.wsdl -o E:\test\src

也可以使用Ant的wsdl2java来生成.  2007-01-15版本生成了171个文件, 版本不同,生成的文件个数也不同.

3.通过awszone可以看到请求结果xml, 也有代码生成的功能, 但是awszone的版本好象太低了,缺少一些新功能,比如TopSellers.

ItemLookup来说,  awszone会自动给出一个SubscriptionId,  在 ResponseGroup中选择你要查找的内容.

要查找产品信息, 就可以选择Small , Medium , Large 中的一个.

要查找价格, 就可以选择OfferSummary ,Offers ,OfferFull 中的一个. 等等 ResponseGroup详细信息,可以参考这里.

IdType中的ASIN是Amazon对其收录产品的唯一编码.

在ItemId 中输入一个ASIN 比如 B000K8LV1O 就可以查询这个产品的相关信息了.

在Code It 选项卡中可以自动生成代码, 将自动生成的代码复制现在就可以使用了.

4.一般情况下,只需要将WSDL2Java生成的代码,和awszone自动生成的代码加入项目就可以使用AWS了.

AWS的请求响应过程一般如下:

java 代码
  1. AWSECommerceService locator = new AWSECommerceServiceLocator();   
  2. AWSECommerceServicePortType service = locator.getAWSECommerceServicePort();   
  3.   
  4. //ItemLookup代表请求的AWS方法,如ItemSearch, BrowseNodeLookup等都可以   
  5. ItemLookup itemLookup = new ItemLookup();   
  6. //创建ItemLookup相应的Request对象   
  7. ItemLookupRequest request = new ItemLookupRequest();   
  8. //设置SubscriptionId    
  9. itemLookup.setSubscriptionId ( SubscriptionId );   
  10.   
  11. //设置你需要AWS返回哪些数据,这些值可以在'ResponseGroup详细信息'中选择   
  12. request.setResponseGroup( new String[]{ "Small""OfferSummary" } );   
  13.   
  14. //设置查询条件,输入ASIN号   
  15. request.setItemId( new String[]{"B000K8LV1O"} );   
  16. request.setIdType("ASIN");   
  17.   
  18. // Setup request   
  19. itemLookup.setRequest ( new ItemLookupRequest [] { request } );   
  20.   
  21. //获取AWS的响应, 你所需要的数据都在response里了.   
  22. ItemLookupResponse response = service.itemLookup ( itemLookup );   
  23. //Response实际上是帮助你解析XML中的数据而已.   
  24. Items[] itemsArray = response.getItems();  

 

 

 

你可能感兴趣的:(apache,xml,Web,log4j,ant)