1

Zend フレームワークの autodiscover クラスを使用して 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

hello 関数に docblocking を追加してみてください。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 に答える