Невозможно загрузить файл soap (из файла wsdl) при добавлении сервера soap в phalcon framework app.php - PullRequest
0 голосов
/ 22 ноября 2018

У меня настроен мыльный сервер в 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";
});

Не могли бы вы, пожалуйста, кто-нибудь помочь мне выяснить проблему?

Заранее спасибо

...