Невозможно соединить RETS-сервер с PHRETS
Может кто-нибудь сказать мне, какие поля являются обязательными для подключения с помощью PHRETS?
Я использовал:
$config->setLoginUrl($rets_login_url)
->setUsername($rets_username)
->setPassword(getenv($rets_password))
->setRetsVersion('1.7.2');
3 ответа
Используйте этот код вместо выше.
<?php
date_default_timezone_set('America/New_York');
require_once("vendor/autoload.php");
$log = new \Monolog\Logger('PHRETS');
$log->pushHandler(new \Monolog\Handler\StreamHandler('php://stdout', \Monolog\Logger::DEBUG));
$config = new \PHRETS\Configuration;
$config->setLoginUrl('xxxx')
->setUsername('xxx')
->setPassword('xxx')
->setRetsVersion('1.7.2');
$rets = new \PHRETS\Session($config);
$rets->setLogger($log);
$connect = $rets->Login();
if($connect)
{
echo "ok";
exit;
}
else
{
echo "error";
exit;
}
?>
Некоторые серверы MLS требуют больше параметров, таких как:
- Пользовательский агент. Когда этот параметр обязателен, допускается только несколько пользовательских агентов. Пример: RETSMD/1.0
- Пароль агента пользователя. Это связано с параметром агента пользователя. Ваш системный администратор MLS должен предоставить вам этот пароль.
- Версия RETS. Версия стандарта, которую вы хотите использовать.
Посмотрите фрагмент кода ниже для примера:
$config = \PHRETS\Configuration::load([
'login_url' => $login_url,
'username' => $user_name,
'password' => $user_password,
'user_agent' => $user_agent,
'user_agent_password' => $user_agent_password,
'rets_version' => '1.8',
]);
$rets = new \PHRETS\Session($config);
Вы можете попробовать добавить 'RETSMD/1.0' для пользовательского агента следующим образом:
$ config = new PHRETS \ Configuration; $ Config->setLoginUrl($loginUrl) ->setUsername($ имя пользователя) -> SetPassword($ пароль) ->setRetsVersion('1.7.2') ->setUserAgent('RETSMD/1.0'); $rets = new PHRETS\Session($config); if ($rets->Login()) { эхо ('Connected...'); }
Это работает для меня при подключении к MRIS rets.