使用 Web 服务和 eBay SDK 开发应用程序,第 2 部分: 使用 eBay SOAP API 构建一个 eBay 搜索引擎
2009-12-09 00:00:00 来源:WEB开发网上面代码中的静态变量需要使用应用程序帐号信息和刚才检索的令牌来填充。这也许不是您希望在生产应用程序中编写代码的方法。您至少应该在一个属性文件中定义这些常量,而不该把它们放在上面的源代码中。更好的解决方案是通过使用一个控制反转容器(例如 PicoContainer 或 Spring)来管理这些依赖关系。
上面的代码简单明了,但值得提醒的是:ApiCredential 呈现了调用 eBay 服务的原则。对于某些调用(如检索当前时间),调用由应用程序执行。其他一些调用(如列出某一条目)应当由用户执行,所以您必须使用用户的令牌。您稍后将在本教程中看到这些情况。
获得 eBay 的官方时间
您将调用的第一个 eBay API 会返回 eBay 的官方时间。该调用没有很多必需的参数,也不会改变 eBay 的状态(不像列出某一条目,列出某一条目会改变 eBay 的状态)。它的开销也较低(不像获取分类,获取分类开销很大),所以它可以充当一个好的“Hello World”程序,让您检查一切是否设置正确。
这里的 Java SDK 担当了包装器的角色,因此用户不必担心会直接处理 Web 服务接口。
该类封装了对 eBay Web 服务 API 的实际调用。虽然该实现很简单,但它内部仍然发生了许多事情:
package org.thinkpig.ebay;
import java.util.Date;
import com.ebay.sdk.ApiContext;
import com.ebay.sdk.call.GeteBayOfficialTimeCall;
public class CurrentTimeCall extends EbayCall {
public Date getCurrentEbayTime() {
GeteBayOfficialTimeCall call = new GeteBayOfficialTimeCall(getApiContext());
try {
return call.geteBayOfficialTime().getTime();
} catch (Exception _e) {
throw new RuntimeException("Error in eBay call: ", _e);
}
}
}
更多精彩
赞助商链接