非常に奇妙な何か。WSDL ファイルは正常に生成されます。これがソースの単純なクラスです
class SoapTest
{
/**
* Prapapapapapapap
* @return string Bls bls
*/
public function getList()
{
return "code";
}
}
WSDL、サーバー、クライアントのコード
if (isset($_REQUEST['wsdl'])) {
$ad = new Zend_Soap_AutoDiscover();
$ad->setClass('SoapTest');
$ad->handle();
} else if ( isset($_REQUEST['client']) ) {
$client = new Zend_Soap_Client("http://localhost/test.php");
echo $client->getList();
}
else {
$server = new Zend_Soap_Server("http://localhost/test.php?wsdl");
$server->setClass('SoapTest');
$server->handle();
}
自動生成された WSDL には SoapServer に関するいくつかの問題があります
Z:\home\localhost\www\Zend\Soap\Server.php:694 スタック トレース: #0 Z:\home\localhost\www\Zend\Soap\Server. php(817): Zend_Soap_Server->_setRequest('') #1 Z:\home\localhost\www\test.php(54): Zend_Soap_Server->handle() #2 {main} が Z:\home\localhost でスローされる\www\Zend\Soap\Server.php 行 694
理由がわかりません。WSDL にはスペースや \n などの余分な記号はなく、すべてのヘッダーが指定されています。
PHP 5.2.12 ZF 1.10.0