Eu gostaria de saber como posso implementar os métodos de uma classe para utilizá-la com SoapServer.
A seguinte classe de exemplo funciona:
<?phpclass WebService { private $message; public function writeMessage($message) { $this->message = $message->message; return array("mensagem" => $this->message); } public function hW() { return array("mensagem" => "Hello world"); }}
Mas, eu preciso retornar sempre um array?
E, os parâmetros não podem ser separados? Sempre têm que vir no formato de objeto?
E, eu também gostaria de saber se alguém conhece alguma ferramenta que gera o arquivo wsdl, pois até agora não encontrei nenhuma que funcione.
Muito obrigado desde já!
PS.: A Classe acima foi usada com:
<?php require('WebService.class.php'); $server = new SoapServer('meu.wsdl'); $server->setClass('WebService'); $server->handle();
e acessada com:
<?php$client = new SoapClient('meu.wsdl');var_dump($client->hW());var_dump($client->writeMessage(array('message' => 'Texto a ser retornado')));