У меня есть веб-сервис, который отлично работает с запросами на получение, но при попытке использовать почту он не работает.У меня есть это в моих маршрутах:
Router::connect("/products/service_add", array("controller"=>"products", "action" => "service_add", 'seller'=>true, "[method]" => "POST"));
Продавец как администратор.У меня также есть ParseExtensions ('xml').Мое действие:
function seller_service_add() {
$this->log("hit", 'debug');
$hi = array("message"=>"hey");
$this->set(compact('hi'));
}
и представление:
<product>
<?php echo $xml->serialize($hi); ?>
</product>
Когда я пытаюсь отправить сообщение в API, я просто получаю трассировку отладки с информацией о таймере.В том же сценарии, что и при выполнении запроса post, я выполняю get, и при запуске сценария я вижу данные, переданные API для получения, но не для запроса post.
Код, который я использую для отправки сообщения:
$ch = curl_init();
$data = array('Your' => 'Data');
curl_setopt($ch, CURLOPT_URL, "http://localhost/<project>/products/service_add.xml");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$result = curl_exec($ch);
curl_close($ch);
print_r($result);`
Есть идеи, почему это не работает?Любая помощь будет принята с благодарностью.
Извините, если это немного многословно!
Обновление: я добавил строки, чтобы выплевывать вещи в журнал отладки cakephp при срабатывании действий.У меня есть одна запись в beforeFilter, эта запись попадает, и я вижу ее в журнале.Запись в действии service_add отсутствует в журнале, поэтому я предполагаю, что действие не выполняется?