Gerade wer versucht mittels der Magento API Prozesse zu realisieren, der wird ein Logging zu schätzen wissen.
Hierfür genügen ein paar zusätzliche Zeilen:
In der Datei: app/code/core/Mage/Api/Model/Server/Handler/Abstract.php
findet sich die Funktion call.
Hier einfach ein wenig Logging einfügen.
....
Mage::Log($method,null,'api.log');
Mage::Log($args,null,'api.log');
// Vor diesem Aufruf -- Zeile: 292 (Magento Version 1.6)
return call_user_func_array(array(&$model, $method), $args);
// so wie
Mage::Log($e->getMessage(),null,'api.log');
Mage::Log($resourceName,null,'api.log');
Mage::Log($e->getCustomMessage(),null,'api.log');
// Vor diesem Aufruf -- Zeile: 298 (Magento Version 1.6)
return $this->_fault($e->getMessage(), $resourceName, $e->getCustomMessage());
/* Beispielausgabe:
2011-09-07T12:54:43+00:00 DEBUG (7): create
2011-09-07T12:54:43+00:00 DEBUG (7): Array
(
[0] => 100000435
[1] => Array
(
)
[2] =>
[3] => 1
[4] =>
)
2011-09-07T12:54:44+00:00 DEBUG (7): data_invalid
2011-09-07T12:54:44+00:00 DEBUG (7): sales_order_invoice
2011-09-07T12:54:44+00:00 DEBUG (7): Cannot do invoice for order.
*/