public function getFieldNames()
    {
        if ( ! $this->isActive ) {
            throw new NonActiveException('You can only get the field names of the active template');
        }

        $ret = array();

        try {
            $result = $this->getSoapClient()->GetFieldNames();
        } catch ( SoapException $ex ) {
            throw new StatusException('Error while getting the list of all fields in the active template' , $ex);
        }

        if ( isset($result->GetFieldNamesResult->string) ) {
            if ( is_array($result->GetFieldNamesResult->string) ) {
                $ret = $result->GetFieldNamesResult->string;
            } else {
                $ret[] = $result->GetFieldNamesResult->string;
            }
        }

        return $ret;
    }