我在stackoverflow上的某处读到了使用NuSoap并不是一个好主意而且已经死了。如果是,创建WSDL文件的最佳解决方案是什么。我只是用于创建wsdl文件而且我从未让web服务工作
答案 0 :(得分:3)
NuSOAP不再开发,并且已经有一段时间了。
我查看了大多数当前的PHP Soap选项,并选择了Zend_Soap_Server,特别是因为它的AutoDiscovery组件。
关于AutoDiscovery的要点是WSDL是从代码中的docblock生成的。因此,只要遵循正确的约定,组件就会为您构建格式良好的WSDL。
如果您不想使用框架,可以只包含文件Server.php,AutoDiscover.php和Wsdl.php。我是这样做的;
require_once 'Zend/Loader.php';
require_once "Zend/Loader/Autoloader.php";
$autoloader = Zend_Loader_Autoloader::getInstance();
Zend_Loader::loadClass('Zend_Soap_Server');
Zend_Loader::loadClass('Zend_Soap_AutoDiscover');
Zend_Loader::loadClass('Zend_Soap_Wsdl');
还值得记住的是,单独的AutoDiscovery不是SOAP服务器,它只是生成您的WSDL。因此从理论上讲,您可以使用它来创建WSDL,但如果您想要使用不同的SOAP服务器(即不生成WSDL),则使用它。但是,正如你将装载Zend肥皂服务器一样,不使用IMO似乎有点浪费。
答案 1 :(得分:1)
如果您正在使用PHP4,它可能是您唯一的选择。
使用PHP5,您可以使用Zend Soap。 http://framework.zend.com/manual/en/
答案 2 :(得分:1)
我正在使用Nusoap和php 5.2.5。为我工作很棒。但我从来没有用更高的版本测试它。
答案 3 :(得分:0)
与MacMan相同,我使用的是PHP 5.2.17,它的工作非常好,很容易就是原生的PHP SOAP,我猜。