public function __doRequest($request, $location, $action, $version, $oneway=0){
      if (self::$logger->isDebugEnabled()) {
        self::$logger->debug("Request:");
        self::$logger->debug($request);
      }
      $response = trim(parent::__doRequest($request, $location, $action, $version, $oneway));
      if (self::$logger->isDebugEnabled()) {
        self::$logger->debug("Response:");
        self::$logger->debug($response);
        self::$logger->debug($this->getDebugInfos());
      }
      $parsedResponse = preg_replace('/^(\x00\x00\xFE\xFF|\xFF\xFE\x00\x00|\xFE\xFF|\xFF\xFE|\xEF\xBB\xBF)/', "", $response);
      // fix missing last e> caused by php's built-in webserver
      if (preg_match('/^<\?xml/', $parsedResponse) && !preg_match('/e>$/', $parsedResponse)) {
        $parsedResponse .= 'e>';
      }
      return $parsedResponse;
  }