Bonjour à tous,
Après pas mal de recherches sur google, je n'ai pas trouvé de réponse.
Je n'ai pas de grande connaissance en Soap et Zend mais est ce que quelqu'un sait s'il est possible d'utiliser le type complexe ArrayOfString en entrée et sortit des web-services avec la fabrication du wsdl de Zend?
Voici ce que j'ai essayé,
Ceci est le code de la création du wsdl par Zend :
Mais ensuite lorsque je créer un web-service avec un ArrayOfString en entrée, lorsque j'affiche le wsdl dans le navigateur il m'écrit :
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 include_once 'Zend/Loader/Autoloader.php'; $loader = Zend_Loader_Autoloader::getInstance(); require_once('./server.cf.php'); require_once($fwZendPath.'Zend/Soap/AutoDiscover.php'); require_once($fwZendPath.'Zend/Soap/Server.php'); require_once($fwPhpMailerPath.'class.phpmailer.php'); if(isset($_GET['wsdl'])) { $wsdl = new Zend_Soap_AutoDiscover('Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex'); $wsdl->addFunction('wsListInput'); $wsdl->handle(); } else { $server = new Zend_Soap_Server($fwServeurIP . $_SERVER["REQUEST_URI"] . "?wsdl"); foreach ($fwWebServicesLabel as $label) $server->addFunction($label); $server->handle(); }
Fatal error: Uncaught exception 'Zend_Soap_Wsdl_Exception' with message 'Cannot add a complex type ArrayOfString that is not an object or where class could not be found in 'DefaultComplexType' strategy.' in /usr/share/php5/zf/library/Zend/Soap/Wsdl/Strategy/ArrayOfTypeComplex.php:68 Stack trace: #0 /usr/share/php5/zf/library/Zend/Soap/Wsdl.php(609): Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex->addComplexType('ArrayOfString') #1 /usr/share/php5/zf/library/Zend/Soap/Wsdl.php(572): Zend_Soap_Wsdl->addComplexType('ArrayOfString')
Si quelqu'un peut m'aider, je lui en serait très reconnaissant!
Partager