2011-01-13 15 views
1

Zendフレームワークの自動検出クラスを使用してwsdlファイルを生成しようとしています。結果の定義は利用可能にならないようで、その後の機能は機能しません。以下はzend soapを使用してwsdlを生成する方法

は黙って失敗するすべてのweemsはhttp://localhost/service.php?wsdlを呼び出すことがちょうど静かに死に、何の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(); 
} 

?> 

これ...私が使用しているコードです。誰かが私が間違ってやっているかのアイデアを与えてくださいでした:)

感謝

答えて

1

ハロー機能にdocblockingを追加してみてくださいを。 WSDLジェネレータはそれを使用して適切なWSDLファイルを生成します。 http://framework.zend.com/manual/en/zend.soap.autodiscovery.htmlそのリンクの重要な注意を参照してください。

+0

私は方法)(ハローの上に次のブロックコメントを置い: \t/** \t *文字列としてのHello Worldを返します。 \t * \t * @戻り文字列 \t */ まだ何もしません。 :| –

2

投稿したコードを試しましたが、私が追加した点を除いて:require('Zend/Soap/AutoDiscover.php');。出来た。

0

ええ、必要がありません( 'Zend/Soap/AutoDiscover.php');それで全部です。

関連する問題