我正在尝试使用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定义。有人可以让我知道我做错了什么:)
非常感谢
答案 0 :(得分:2)
我尝试了您发布的代码,但我添加了require('Zend/Soap/AutoDiscover.php');
。它奏效了。
答案 1 :(得分:1)
尝试将docblocking添加到hello函数中。 WSDL生成器依赖它来生成适当的WSDL文件。 http://framework.zend.com/manual/en/zend.soap.autodiscovery.html请参阅该链接中的重要说明。
答案 2 :(得分:0)
是的,你缺少必需品('Zend / Soap / AutoDiscover.php');就是这样。