У меня настроен мыльный сервер в php файле.Работает нормально.Ниже мой файл server.php
<?php
// turn off WSDL caching
ini_set("soap.wsdl_cache_enabled","0");
// model, which uses in web service functions as parameter
class Book
{
public $name;
public $year;
}
/**
* Determines published year of the book by name.
* @param Book $book book instance with name set.
* @return int published year of the book or 0 if not found.
*/
function Ping()
{
$book = new Book();
$book->name = 'test';
$book->year = '2011';
return $book;
}
// initialize SOAP Server
$server=new SoapServer("ping.wsdl");
// register available functions
$server->addFunction(array("Ping"));
$server->addFunction(SOAP_FUNCTIONS_ALL);
// $server->addFunction('Ping');
// $server->addFunction('Ping1');
// start handling requests
$server->handle();
Я переместил этот код в свой проект, который называется phalcon framework.Сценарий успешно запущен, но когда я пытаюсь загрузить XML-файл, запустив этот URL http://localhost/MH/LX/api/book/book?wsdl., он выдает то же, что и http://localhost/MH/LX/api/book/book (не вывод XML).Я думаю, что ?wsdl
не работает в рамках phalcon.Я также проверяю параметр get ($ _ GET), он выдает результат, так как имеет ключ wsdl
.Так что я думаю, что проблема в $server->handle();
, он что-то пропустил, поэтому ?wsdl
не работает.Ниже - мой код фалькона.
$app->get('/api/book/book',function() use ($app){
$_GET = array('wsdl' => '');
ini_set("soap.wsdl_cache_enabled","0");
$server=new SoapServer(APP_PATH . "/soap/soap.wsdl", array('uri' => "http://lsapi.local/api/game/liw"));
$server->soap_defencoding = 'utf-8';
// register available functions
$server->addFunction(array("Ping"));
$server->addFunction(SOAP_FUNCTIONS_ALL);
$server->handle();
print_r($server);
print "SUCCESS";
});
Не могли бы вы, пожалуйста, кто-нибудь помочь мне выяснить проблему?
Заранее спасибо