Trabalhando com classes de sabão Zend e WSDL automático
-
26-09-2019 - |
Pergunta
Algo muito estranho. O arquivo WSDL gera bom. Aqui está a classe simples de origem
class SoapTest
{
/**
* Prapapapapapapap
* @return string Bls bls
*/
public function getList()
{
return "code";
}
}
Código para WSDL, servidor, cliente
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();
}
O WSDL autogenerado tem alguns problemas com o SoapServer
Exceção não capturada 'zend_soap_server_exception' com mensagem 'inválida xml' em z: home localhost www zend sabonete server.php: 694 Stack rastreio: #0 z: home localhost www zend sabone server. php (817): zend_soap_server-> _ setRequest ('') #1 z: home localhost www test.php (54): zend_soap_server-> handle () #2 {main} jogado em z: home localhost www zend Soap server.php na linha 694
Eu simplesmente não entendo por quê? Não há símbolo extra no WSDL como o espaço ou n, todos os cabeçalhos são especificados.
Php 5.2.12 ZF 1.10.0
Solução
Todos os problemas do Eaccelerator