Доброго времени суток,
Появилась проблема связи друпала с другой системой, которая отправляет сообщения в виде POST запросов.
Формат запроса такой:
POST / HTTP/1.1
Content-Type: application/xml; charset="windows-1251"
Content-Length: nnnn
<?xml version='1.0' ?>
Вопрос в том как принять и обработать данное сообщение в друпале?
Я начал следующим образом. В правильном ли я направлении?
Допустим, запрос будет отправляться по пути: мой_ip_адрес/gateway
function gateway__menu() {
$items = array();
$items['gateway'] = array(
'callback' => 'gw_processor',
'type' => MENU_CALLBACK
);
return $items;
}
function gw_processor(){
}
Если начало правильное то далее что вещать внутри gw_processor?
Так как я начинающий, пожалуйста ответьте подробнее.
Заранее огромное спасибо!
Комментарии
$items = array();
$items['gateway'] = array(
'page callback' => 'gateway_processor',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
return $items;
}
function gateway_processor() {
drupal_set_message('<pre>'. print_r($_POST, 1) .'</pre>');
}
Большое спасибо! Попробую продолжить.
Если передаются данные в XML, то стоит обратить внимание на модуль Services.
Он позволяет делать поддобные обработчики, но работу с XML берёт на себя, а на выходе мы получаем PHP-структуры (массивы и/или объекты).