/** * Performs the soaprequest * * @param OperationInterface $operation The operation * @param array $params Requestparameters 'ParameterName' => 'ParameterValue' * * @return array The response as an array with stdClass objects */ protected function performSoapRequest(OperationInterface $operation, $params) { $soapClient = new \SoapClient($this->webserviceWsdl, array('exceptions' => 1)); $soapClient->__setLocation(str_replace('%%COUNTRY%%', $this->configuration->getCountry(), $this->webserviceEndpoint)); $soapClient->__setSoapHeaders($this->buildSoapHeader($operation)); return $soapClient->__soapCall($operation->getName(), array($params)); }
/** * Calculates the signature for the request * * @param array $params * * @return string */ protected function buildSignature(array $params) { $template = "GET\nwebservices.amazon.%s\n/onca/xml\n%s"; return Util::buildSignature(sprintf($template, $this->configuration->getCountry(), implode('&', $params)), $this->configuration->getSecretKey()); }