/** * Prepares the parameters for the request * * @param OperationInterface $operation * * @return array */ protected function prepareRequestParams(OperationInterface $operation) { $baseRequestParams = array('Service' => 'AWSECommerceService', 'AWSAccessKeyId' => $this->configuration->getAccessKey(), 'AssociateTag' => $this->configuration->getAssociateTag(), 'Operation' => $operation->getName(), 'Version' => '2011-08-01', 'Timestamp' => Util::getTimeStamp()); $operationParams = $operation->getOperationParameter(); foreach ($operationParams as $key => $value) { if (true === is_array($value)) { $operationParams[$key] = implode(',', $value); } } $fullParameterList = array_merge($baseRequestParams, $operationParams); ksort($fullParameterList); return $fullParameterList; }
/** * Provides some necessary soap headers * * @param OperationInterface $operation * * @return array Each element is a concrete SoapHeader object */ protected function buildSoapHeader(OperationInterface $operation) { $timeStamp = Util::getTimeStamp(); $signature = $this->buildSignature($operation->getName() . $timeStamp); return array(new \SoapHeader('http://security.amazonaws.com/doc/2007-01-01/', 'AWSAccessKeyId', $this->configuration->getAccessKey()), new \SoapHeader('http://security.amazonaws.com/doc/2007-01-01/', 'Timestamp', $timeStamp), new \SoapHeader('http://security.amazonaws.com/doc/2007-01-01/', 'Signature', $signature)); }