public function run2($id, $q) { $status = Gorilla_Queue_Model_Queue::STATUS_OPEN; $order = Mage::getModel('sales/order')->loadByIncrementId($id); $this->orderQueuelog('get by order increment id '); $orderId = is_object($order) ? $order->getId() : null; if (!is_object($order) || empty($orderId)) { $this->orderQueuelog('didnt work. get by order id instead.'); $order = Mage::getModel('sales/order')->load($id); } $orderId = is_object($order) ? $order->getId() : null; if (!is_object($order) || empty($orderId)) { $status = Gorilla_Queue_Model_Queue::STATUS_ABORTED; $q->releaseLock($status); return $q; } $gp = new Gorilla_Greatplains_Model_Soap(); $this->orderQueuelog(print_r($order->getData(), true)); $no = $gp->createNewOrder($order); $orderCreationResponse = $no; Mage::log("gp->createNeOrder({$id})", null, 'fed.log', true); $error = $no->getErrors(); //Mage::log($orderCreationResponse, null, 'fed.log', true); $no = !empty($no->_return) && !empty($no->_return[0]) ? $no->_return[0]->CreateNewOrderResult : ''; $pos = stripos($no, "Success"); Mage::log('no 2' . $no, null, 'fed.log', true); if ($pos === false) { /** * Add soap request and response logging */ $soapClient = $gp->getSoapClient(); if ($soapClient instanceof SoapClient) { $q->setSoapRequest($soapClient->__getLastRequest()); } if ($soapClient->__getLastResponse()) { $q->setErrorMessage($error); $q->setSoapResponse($soapClient->__getLastResponse()); } else { $q->setErrorMessage($orderCreationResponse->_return[0]); $q->setSoapResponse($orderCreationResponse->_return[0]); } $q->updateFailedAttempt(); //$q->setShortDescription($error); $status = Gorilla_Queue_Model_Queue::STATUS_PROCESSING; Mage::log('Export failed:', null, 'fed.log', true); Mage::log($no, null, 'fed.log', true); } else { Mage::log('in success', null, 'fed.log', true); $q->setErrorMessage($error); /** * Add soap request and response logging */ $soapClient = $gp->getSoapClient(); if ($soapClient instanceof SoapClient) { $q->setSoapRequest($soapClient->__getLastRequest()); $q->setSoapResponse($soapClient->__getLastResponse()); } Mage::log('Success orderId=' . $orderId . ' return=' . $no->_return[0]->CreateNewOrderResult, null, 'fed.log', true); $q->updateSuccessfulAttempt(); $status = Gorilla_Queue_Model_Queue::STATUS_SUCCESS; } Mage::log("releaseLock({$status}) order={$id}", null, 'fed.log', true); $q->releaseLock($status); return $q; }