Link to home
Start Free TrialLog in
Avatar of avacaralife
avacaralife

asked on

How to implement amazon api service?

I want to imlement amazon api web service to my application. I have implemente it but its gives error. The error is 'The request must contain the parameter Signature'. How can I solve it?
Thanks.
Avatar of Vel Eous
Vel Eous

Take a look at the following two web pages:

1) http://developer.amazonwebservices.com/connect/ann.jspa?annID=483

Amazon documentation on the enforcement of signed API requests including developers guide and sample source code


2) http://richardcummings.info/AWS-Signature-Parameter-Convert.php

"AWS Signature Parameter Convert Utility" provided by someone who had a similar issue to yourself.

Hope this helps.
ASKER CERTIFIED SOLUTION
Avatar of avacaralife
avacaralife

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I've not dealt with AWS API myself which is why I provided the two links.

Perhaps you could provide more information such as which line is generating the error?  You can step through your code using F11 in Visual Studio and when it hits the offending line will automatically stop.

However from the reading I have done using the links I provided for YOU to look through, it can be determine that you require a HMAC-SHA signature concatinated to your API URL.

Take a look at these pages for further info:

// Product Advertising API documentation
http://docs.amazonwebservices.com/AWSECommerceService/latest/DG/index.html?RequestAuthenticationArticle.html

// Signed request generator
http://associates-amazon.s3.amazonaws.com/signed-requests/helper/index.html

Avatar of avacaralife

ASKER

Yes here is the screen shoot of error I have attached. look over it.
Error.png
Does your itemSearch object have a property or method called Signature?


itemSearch.Signature = "";

Open in new window

No there is no signature property.
Basically that error message is informing you that your SOAP message does not have a value for a required parameter (web services can implemenet parameters however they can be specified as either IsRequired = true | false).

I did a further google search and turns out the parameter is part of the SOAP header rather than the SOAP body, take a look at the following web page which has been created by someone who has had the same issue or one very similar to yours and provides information regarding a resolution.

http://flyingpies.wordpress.com/2009/08/01/17/


This following page might also be of use to you.

http://apisigning.com/
I would be curious to know just what the resolution was as I feel the information I provided was valid in relation to the question and subsequent information provided.