如何使用zend肥皂生成wsdl

问题描述:

我正尝试使用Zend框架中的自动发现类生成wsdl文件。由此产生的定义似乎不可用,并且后续功能不起作用。如何使用zend肥皂生成wsdl

下面是我使用的代码...

<?php 

/** 
* Returns Hello World as a string. 
* 
* @return string 
*/ 
function hello() 
{ 
    return "Hello World"; 
} 


if(isset($_GET['wsdl'])) 
{ 
    $autodiscover = new Zend_Soap_AutoDiscover(); 
    $autodiscover->addFunction('hello'); 
    $autodiscover->handle(); 
} 
else if(isset($_GET['client'])) 
{ 
    $client = new Zend_Soap_Client("http://localhost/service.php"); 
    echo $client->hello(); 
} 
else 
{ 
    $server = new Zend_Soap_Server("http://localhost/service.php?wsdl"); 
    $server->addFunction('hello'); 
    $server->handle(); 
} 

?> 

这一切都威姆斯默默失败,调用http://localhost/service.php?wsdl刚刚去世默默不产生WSDL定义。可能有人请给我,我做错了什么的想法:)

非常感谢

尝试增加docblocking到Hello功能。 WSDL生成器依赖它来生成适当的WSDL文件。 http://framework.zend.com/manual/en/zend.soap.autodiscovery.html请参阅该链接中的重要注释。

+0

我把下面的注释块以上的Hello()方法: \t/** \t *返回的Hello World作为一个字符串。 \t * \t * @return string \t */ 它仍然没有什么。 :| – 2011-01-13 16:56:11

我试过你发布的代码,除了我添加了:require('Zend/Soap/AutoDiscover.php');。有效。

是的,你失踪require('Zend/Soap/AutoDiscover.php');就这样。