Bonjour,

j ai un soucis que j imagine basique, mais n ayant jamais developpé de WS avec le zend framework je seche

je viens de commencer le dev d un WS avec Zend, tout fonctionne bien avec auto discover , le serveur et le client, sauf que l appel de mes fonctions retourne null a chaque fois, alors que les methode de la classe en question ont bien un retour (string pour le moment)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
class AD_Hosting_WS {
 
    public function method1($inputParam) {
 
            return (string)'method1';
    }
 
// server : 
 
include 'Zend/Soap/Server.php';
include 'Zend/Soap/AutoDiscover.php';
 
if(isset($_GET['wsdl'])) {
 
    $soap = new Zend_Soap_AutoDiscover();
    $soap->setClass('AD_Hosting_WS');
    $soap->handle();
 
} else {
 
    $soap = new Zend_Soap_Server(null,array('uri' => "http://mydomain.com/ws.php?wsdl"));
    $soap->setClass('AD_Hosting_WS');
    $soap->setObject(new AD_Hosting_WS());
    $soap->handle();
 
}
cette partie semble ok , j ai bien un WSDL de géré

mais ici ca coince:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
include 'Zend/Soap/Client.php';
 
 
 
$client = new Zend_Soap_Client('http://mydomain.com/ws.php?wsdl',
                              array('compression' => SOAP_COMPRESSION_ACCEPT));
 
 
 
$params = 'test';
$result = $client->method1( $params );
 
 
echo "result : ".gettype($result);
 
echo '<pre>result : ';
print_r($result);
print_r($client->getFunctions());
echo '</pre>';
getFunctions ne donne bien une fonction method1 mais d un type void

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
void method1(anyType $inputParam)
ne devrait etre pas etre de type string car retournant une chaine?

dans tous les cas $result est null, ce qui n arrange pas mon affaire