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.
Thanks.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
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
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
ASKER
Yes here is the screen shoot of error I have attached. look over it.
Error.png
Error.png
Does your itemSearch object have a property or method called Signature?
itemSearch.Signature = "";
ASKER
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 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.
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.