Search amazon example with new amazon service

后端 未结 2 1914
渐次进展
渐次进展 2021-01-14 16:38

I can not find a working example of the new amazon service (or at least, within the last couple of years). The closest working example just comes back with a null item no ma

相关标签:
2条回答
  • 2021-01-14 17:21

    I believe your problem may be lack of an Associate Tag. As of November, 2011, this is required for all requests and I noticed early on in my testing that I got null responses back (with an error code) when I didn't include it. I'm not sure if that's still the behavior but I'd definitely assume that if you aren't adding it (which I don't see in your code) that's a likely suspect.

    Look at top change note here

    If you don't have an Associate ID you will need to apply for one.

    0 讨论(0)
  • 2021-01-14 17:22

    I'm assuming that you've downloaded the code from here. If this is correct then you need to replace this line:

    AWSECommerceServicePortTypeClient amazonClient = new AWSECommerceServicePortTypeClient();
    

    With these lines:

    BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
    binding.MaxReceivedMessageSize = int.MaxValue;
    
    AWSECommerceServicePortTypeClient amazonClient = new AWSECommerceServicePortTypeClient(
                binding,
                new EndpointAddress("https://webservices.amazon.com/onca/soap?Service=AWSECommerceService"));  
    
    // add authentication to the ECS client
    amazonClient.ChannelFactory.Endpoint.Behaviors.Add(new AmazonSigningEndpointBehavior(accessKeyId, secretKey));
    

    The problem is two fold:

    1. You are not binding the amazonClient to an HttpBinding
    2. You are not signing the request

    If my assumption is incorrect then you should download the code from the above link as it is a working example of how to call the Amazon Product API.

    0 讨论(0)
提交回复
热议问题