Esempio n. 1
0
 /**
  * serialize exception.
  * 
  * @param ODataException &$exception              Exception to serialize
  * @param Boolean        $serializeInnerException if set to true
  * 
  * serialize the inner exception if $exception is an ODataException.
  * 
  * @return void  
  */
 public static function serializeException(ODataException &$exception, $serializeInnerException)
 {
     $writer = new JsonWriter('');
     // Wrapper for error.
     $writer->startObjectScope();
     // "error"
     $writer->writeName(ODataConstants::JSON_ERROR);
     $writer->startObjectScope();
     // "code"
     if ($exception->getCode() != null) {
         $writer->writeName(ODataConstants::JSON_ERROR_CODE);
         $writer->writeValue($exception->getCode());
     }
     // "message"
     $writer->writeName(ODataConstants::JSON_ERROR_MESSAGE);
     $writer->startObjectScope();
     // "lang"
     $writer->writeName(ODataConstants::XML_LANG_ATTRIBUTE_NAME);
     //if ($exception->getMsgLang() != null) {
     $writer->writeValue('en-US');
     //}
     // "value"
     $writer->writeName(ODataConstants::JSON_ERROR_VALUE);
     $writer->writeValue($exception->getMessage());
     $writer->endScope();
     $writer->endScope();
     $writer->endScope();
     return $writer->getJsonOutput();
 }
 /**
  * Serialize the exception
  *
  * @param ODataException &$exception              Exception to serialize
  * @param boolean        $serializeInnerException if set to true,
  * serialize the inner exception if $exception is an ODataException.
  * 
  * @return nothing
  */
 public static function serializeException(ODataException &$exception, $serializeInnerException)
 {
     $xmlWriter = new \XMLWriter();
     $xmlWriter->openMemory();
     $xmlWriter->startDocument('1.0', 'UTF-8', 'yes');
     $xmlWriter->setIndent(4);
     $xmlWriter->startElement(ODataConstants::XML_ERROR_ELEMENT_NAME);
     //$xmlWriter->writeAttributeNs(
     //    ODataConstants::XMLNS_NAMESPACE_PREFIX,
     //    ODataConstants::XML_NAMESPACE_PREFIX,
     //    ODataConstants::XML_NAMESPACE,
     //    null
     //);
     $xmlWriter->writeAttribute(ODataConstants::XMLNS_NAMESPACE_PREFIX, ODataConstants::ODATA_METADATA_NAMESPACE);
     $xmlWriter->endAttribute();
     $xmlWriter->startElement(ODataConstants::XML_ERROR_CODE_ELEMENT_NAME);
     if ($exception->getCode() != null) {
         $xmlWriter->text($exception->getCode());
     }
     $xmlWriter->endElement();
     $xmlWriter->startElement(ODataConstants::XML_ERROR_MESSAGE_ELEMENT_NAME);
     $xmlWriter->text($exception->getMessage());
     $xmlWriter->endElement();
     $xmlWriter->endElement();
     $xmlWriter->endDocument();
     return $xmlWriter->outputMemory(true);
 }