相关疑难解决方法(0)

Amazon Product Advertising API使用Java签署了请求

经过几个小时的修补和多次阅读整个互联网,我无法弄清楚如何签署使用Product Advertising API的请求.

到目前为止,我设法从提供的WSDL文件生成客户端.我使用了亚马逊的教程.你可以在这里找到它:

生成Web服务客户端的教程

到目前为止没有问题.为了测试客户端,我写了一小段代码.该代码旨在简单地获取有关产品的一些信息.该产品由其ASIN指定.

代码:

package client;

import com.ECS.client.jax.AWSECommerceService;
import com.ECS.client.jax.AWSECommerceServicePortType;
import com.ECS.client.jax.ItemLookup;
import com.ECS.client.jax.ItemLookupResponse;
import com.ECS.client.jax.ItemLookupRequest;

public class Client {

  public static void main(String[] args) {
    System.out.println("API Test startet");

    AWSECommerceService service = new AWSECommerceService();
    AWSECommerceServicePortType port = service.getAWSECommerceServicePort();

    ItemLookupRequest itemLookup = new ItemLookupRequest();
    itemLookup.setIdType("ASIN");
    itemLookup.getItemId().add("B000RE216U");

    ItemLookup lookup = new ItemLookup();
    lookup.setAWSAccessKeyId("<mykeyishere>");
    lookup.getRequest().add(itemLookup);

    ItemLookupResponse response = port.itemLookup(lookup);

    String r = response.toString();
    System.out.println("response: " + r);

    System.out.println("API Test stopped");
  }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我没有签署请求的部分.我已经通过了很多使用过的类,并没有找到签署请求的方法.

那么,如何签署请求?

我实际上在文档中找到了一些东西:请求身份验证

但他们不使用自己的API.所提出的解决方案或多或少仅供手动使用.所以我查看了客户端类,以便了解我是否可以获取请求URL并将自己请求签名所需的所有部分放入其中.但是没有这样的方法.

我希望有人可以指出我做错了什么.


这就是我为解决问题所做的.所有的功劳归功于乔恩 …

java api amazon web-services amazon-web-services

16
推荐指数
1
解决办法
8686
查看次数

标签 统计

amazon ×1

amazon-web-services ×1

api ×1

java ×1

web-services ×1