protected function submitItemResults(AssessmentItemSession $itemSession, $occurence = 0) { parent::submitItemResults($itemSession, $occurence); $item = $itemSession->getAssessmentItem(); $occurence = $occurence; $sessionId = $this->getSessionId(); common_Logger::t("submitting results for item '" . $item->getIdentifier() . "." . $occurence . "'."); try { $itemVariableSet = array(); // Get the item session we just responsed and send to the // result server. $itemSession = $this->getItemSession($item, $occurence); $resultTransmitter = $this->getResultTransmitter(); foreach ($itemSession->getKeys() as $identifier) { common_Logger::t("Examination of variable '{$identifier}'"); $itemVariableSet[] = $itemSession->getVariable($identifier); } $itemUri = self::getItemRefUri($item); $testUri = self::getTestDefinitionUri($item); $transmissionId = "{$sessionId}.{$item}.{$occurence}"; $resultTransmitter->transmitItemVariable($itemVariableSet, $transmissionId, $itemUri, $testUri); } catch (AssessmentTestSessionException $e) { // Error whith parent::endAttempt(). $msg = "An error occured while ending the attempt item '" . $item->getIdentifier() . "." . $occurence . "'."; throw new taoQtiTest_helpers_TestSessionException($msg, taoQtiTest_helpers_TestSessionException::RESULT_SUBMISSION_ERROR, $e); } catch (taoQtiCommon_helpers_ResultTransmissionException $e) { // Error with Result Server. $msg = "An error occured while transmitting item results for item '" . $item->getIdentifier() . "." . $occurence . "'."; throw new taoQtiTest_helpers_TestSessionException($msg, taoQtiTest_helpers_TestSessionException::RESULT_SUBMISSION_ERROR, $e); } }