1

我正在尝试使用 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 定义。有人可以告诉我我做错了什么:)

非常感谢

4

3 回答 3

2

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

于 2011-01-27T06:28:36.590 回答
1

尝试将 docblocking 添加到 hello 函数中。WSDL 生成器依赖它来生成正确的 WSDL 文件。http://framework.zend.com/manual/en/zend.soap.autodiscovery.html请参阅该链接中的重要说明。

于 2011-01-13T15:33:15.223 回答
0

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

于 2011-05-06T11:14:59.567 回答