class LookupXmlToItemsArray in Amazon Product Advertisement API 8.2
Hierarchy
- class \Drupal\amazon\LookupXmlToItemsArray implements \ApaiIO\ResponseTransformer\ResponseTransformerInterface uses LoggerChannelTrait
Expanded class hierarchy of LookupXmlToItemsArray
File
- src/
LookupXmlToItemsArray.php, line 12 - Contains Drupal\amazon\LookupXmlToItemsArray
Namespace
Drupal\amazonView source
class LookupXmlToItemsArray implements ResponseTransformerInterface {
use LoggerChannelTrait;
/**
* Log an error during API calls.
*
* @param string $error_code
* Amazon API error code.
* @param string $error_message
* Amazon API error message.
*/
public function logError($error_code, $error_message) {
$logger = $this
->getLogger('amazon');
$logger
->error('@code: "@message', [
'@code' => $error_code,
'@message' => $error_message,
]);
}
/**
* @param string $response
* XML response from Amazon's REST services.
*
* @return array
* Array of SimpleXMLElement objects representing the response from Amazon.
*/
public function transform($response) {
$xml = simplexml_load_string($response);
$xml
->registerXPathNamespace("amazon", "http://webservices.amazon.com/AWSECommerceService/2011-08-01");
$errors = $xml
->xpath('//amazon:Errors');
foreach ($errors as $error) {
$error_code = (string) $error->Error->Code;
$error_message = (string) $error->Error->Message;
$this
->logError($error_code, $error_message);
}
$elements = $xml
->xpath('//amazon:ItemLookupResponse/amazon:Items/amazon:Item');
return $elements;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
LoggerChannelTrait:: |
protected | property | The logger channel factory service. | |
LoggerChannelTrait:: |
protected | function | Gets the logger for a specific channel. | |
LoggerChannelTrait:: |
public | function | Injects the logger channel factory. | |
LookupXmlToItemsArray:: |
public | function | Log an error during API calls. | |
LookupXmlToItemsArray:: |
public | function |