NSOAP已不再发展,而且已经有一段时间没有发展了。
我查看了目前大多数的PHP肥皂选项, 并选择了Zend_Soap_Server, 特别是因为其AutoDiscovery 的组成部分。
AutoDiscovery 的要点是 WSDL 来自于代码内的文档区块。 只要你遵循正确的常规, 组件将为您建立一个完善的 WSDL 。
如果您不想使用一个框架, 您可以只包含文件服务器. php、 Auto Discover.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 );
同样值得记住的是,自动发现单是不是 SOAP 服务器, 它只会生成您的 WSDL 。 所以理论上, 您可以使用它来创建 WSDL, 但如果你想使用不同的 SOAP 服务器, 也就是说, 本地 PHP 服务器( 它不会生成 WSDL ) 。 但是, 您将装入 Zend Soap 服务器, 不使用IMO 似乎有点浪费 。