protected function _getMessage($sBody)
    {
        //Load response xml to object
        try {
            // Get the IPN headers and Message body
            $aHeaders = array();

            foreach ($_SERVER as $sKey => $sValue) {
                if (substr($sKey, 0, 5) !== 'HTTP_') {
                    continue;
                }

                $sHeader = str_replace(' ', '-', str_replace('_', ' ', strtolower(substr($sKey, 5))));
                $aHeaders[$sHeader] = $sValue;
            }

            $ipnHandler = $this->getObjectFactory()->createIpnHandler($aHeaders, $sBody);
            $ipnHandler->setLogger($this->_getLogger());
            return json_decode($ipnHandler->toJson());
        } catch (Exception $oException) {
            $this->logIPNResponse(Logger::ERROR, 'Unable to parse ipn message');
        }

        return false;
    }