2016-02-08 1 views
0

Есть ли какое-нибудь решение для загрузки метаданных STANDARD-XML из RETS с использованием PHRETS?Как загрузить метаданные STANDARD-XML из RETS с использованием PHRETS

В настоящее время я могу извлекать метаданные каждого класса в виде массива, используя функцию PHRETS GetMetadataTable и комбинируя преобразование & в формат XML.

Но в последнее время я обнаружил разницу в единых метаданных STANDARD-XML (всех ресурсов и классов) и отдельных метаданных класса. Используя службу просмотра метаданных RETSMD.com (также на основе PHRETS), имя класса, получаемое из метаданных STANDARD-XML, отличается и не может просмотреть детали.

Примечание: Я получил метаданные STANDARD-XML с помощью прямого браузера входа в систему с помощью учетных данных, как это http://rets.login.url/GetMetadata?Type=METADATA-TABLE&Format=STANDARD-XML&ID=0

Любой сталкивался с такой же? Есть ли какое-либо решение с использованием PHP?

Спасибо заранее!

+0

Я понимаю, что, что это старый пост, но мне интересно, если вы решили решить свою проблему – Kamamba

+0

@ Kamamba, да, я получил решение, размещенное ниже. –

ответ

0

У меня есть решение, изменив библиотеку PHRETS. Добавлена ​​новая функция там с помощью следующего кода,

if (empty($this->capability_url['GetMetadata'])) { 
     die("GetServerInformation() called but unable to find GetMetadata location. Failed login?\n"); 
    } 

    $optional_params['Type'] = 'METADATA-SYSTEM'; 
    $optional_params['ID']  = '*'; 
    $optional_params['Format'] = 'STANDARD-XML'; 

    //request server information 
    $result = $this->RETSRequest($this->capability_url['GetMetadata'], $optional_params); 

    if (!$result) { 
     return false; 
    } 
    list($headers, $body) = $result; 
    $xml = $this->ParseXMLResponse($body); 

Примечание: Главное, чтобы отметить это,

$optional_params['ID']  = '*'; 

Должно быть «*» вместо «0»

 Смежные вопросы

  • Нет связанных вопросов^_^