Amazon API/Web Service is using synchronize method. So, although your function script are matched based on their documentation, the returned value should use the synchronized method, otherwise your script will identify as error value. I ever experienced this kind of issue when using Amazon API at first time 3 years ago. And I am sure your PHP script trapped by this similar issue. But, I better to review your script at overall, so I know the exact problem.