Amazon提供了一个富web服务接口来访问他们的在线内容。为了帮助您理解如何使用这些Web服务。Amazon还提供了一个全面的示例应用来展示如何使用所有被暴露出的操作。通过一步步的操作,本文向您展示如何在NetBeans IDE中修改、构建、运行以及调试mazon的示例应用程序。进而让您了解所有NetBeans的优点,比如代码补全、代码链接以及集成的Javadoc帮助。还有调试程序的功能,尽管是单步的但监控的变量能够让您深入了解Amazon web服务的运行机制。
配置环境
安装Java和NetBeans
Amazon web服务在J2SE 1.4.2下运行得最好。假如你没有安装SE 1.4.2和NetBeans,那么请下载NetBeans IDE 和2SE SDK。
Amazon E-Commerce Services (ECS)
以Amazon Web Services Developer的身份注册。每个Amazon web服务都需要一个订阅的ID参数,注册后你就能获得。
下载并解压Java SOAP以及其它示例应用程序(2.7MB)。本文假设示例程序已经被解压到根目录下。
创建NetBeans应用程序
1.启动NetBeans。
2.选择File>New Project (Ctrl+Shift+N)。
3.在General Category下选择Java Project with Existing Sources。
4.将项目命名为AmazonSample并选择存放项目的文件夹。点击Next。
5.所有Amazon示例应用程序的Java源代码都在解压文件AWS4Sample_JavaTool的根目录下。将此文件夹作为源代码包文件夹,点击Next。
添加必要的JAR文件然后运行应用程序
1.在AmazonSample项目的库节点上点击鼠标右键,然后选择Add JAR/Folder.... 
2.浏览AWS4Sample_JavaTool目录,选择下面的JAR包(你可以按住Ctrl键来一次选择多个JAR包)
3.在库节点上再次点击鼠标右键并选择Properties...
4.选择1.4.2的Java平台(假如你没有在列表中看到1.4.2,点击Manage Platforms然后添加此平台)
按F6键运行应用程序。你会被提示要选择main class,也就是Main。
然后你就会看到示例应用程序了。
注意:假如出现as of release 1.5, “enum' is a keyword, and may not be used as an identifier”的编译错误,请务必选择1.4.2的Java平台。
测试应用程序
Amazon web服务实际上包括一个Help操作,它对如何执行其它操作返回信息。例如,按照下面的操作去做:
1.选择示例程序的SOAP标签
2.从combo-box中选择Help
3.输入在你注册Amazon时获得的SubscriptionId
4.在About文本字段中输入ItemSearch
5.在HelpType文本字段中输入Operation
点击Send。你会看到以下的响应(如果你收到一个连接异常,请看下面的Setting Your Proxy部分。)
通过使用help特性,你能看到ItemSearch的参数是SearchIndex和SubscriptionId。你还能看到默认的响应组是Small,它表示返回了最少的信息(注意,amazon网站还提供了很好的API Reference文档)。用这些信息,让我们试着请求ItemSearch。
1.从ComboBox中选择ItemSearch
2.输入你的subscription Id
3.输入一个Author,例如Ludovic Champenois
4.输入Search Index Books。
5.输入ResponseGroup Medium.
修改示例应用程序
设置你的Subscription Id
如果你不必每次在你运行不同操作时都要粘贴你的Amazon SubscriptionId,那会更好。让我们像下面这样改进:
1.打开DataInput.java。按F7键(打开/选择到Navigator),输入“create”(注意Quick Search字段)并按下Enter键。现在,你应该能看到createGUI方法。
2.在两行现有的代码中插入兰色部分的代码。
commonTextFields[i] = new JTextField(); if (commonParameterNames[i].equals("SubscriptionId")) { commonTextFields[i].setText("<your subscriptionId>"); } container = new Container();
3.按F6键,测试你的改进。
设置你的代理
如果你和我一样也在一个防火墙后面,那你很可能会得到下面的异常。
在AmazonSample项目上单击右键,选择properties。选择Run节点然后设置下面的VM选项:
-Dhttp.proxyHost=<your proxy host> -Dhttp.proxyPort=<your proxy port>
下面是我机器上的例子:
调试应用程序
在NetBeans上运行示例程序的一个现实的优点是你能够调试它。
1. 打开DataInput.java。按F7键,输入“create”并按下Enter,导航到createGUI方法。
2.点击编辑器的左边缘来设置某一行的断点。
3.按F5来调试项目。程序将会在你的断点处停下。
4.按Alt+Shift+1,打开Local Variables窗口。
5.扩展this > commonParameterNames.这是我所知的测试参数名与"SubscriptionId"相等的方法。
6.按F8键(继续运行)或者F7(进入运行)。