Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
J'utilise Zend Soap, j'ai crée plusieurs web services qui retournent en réponse des types complexes et des tableaux de types complexes. Ca ne me pose aucun problème.
Par contre, lorsque je souhaite recevoir un type complexe (un tableau de type complexe) en paramètre de mon webservice, il semblerait que ça fonctionne un peu moins bien. J'ai en effet le message d'erreur suivant :
'Zend_Soap_Wsdl_Exception' with message 'Cannot add a complex type SignedDocument[] that is not an object or where class could not be found in 'DefaultComplexType' strategy.'
Voilà un extrait de la déclaration de mon webservice :
/** * ..... * * @param double $montantTotal * @param double $montantMaxUnitaire * @param SignedDocument[] $signedDocuments * @return AuthorizationRequestWSResponse */ function authorizationRequestWS($montantTotal = null, $montantMaxUnitaire = null, $signedDocuments) { ... }
A noter qu'en local cela fonctionne très bien (cf l'extrait du wsdl ci-dessous), mais dès que je balance tout ça sur serveur j'ai cette maudite erreur...
<xsd:complexType name="ArrayOfSignedDocument"> <xsd:complexContent> <xsd:restriction base="soap-enc:Array"> <xsd:attribute ref="soap-enc:arrayType" wsdl:arrayType="tns:SignedDocument[]"/> </xsd:restriction> </xsd:complexContent> </xsd:complexType>
Quel peut bien être le problème à votre avis ?
Merci d'avance pour votre aide !!
Hors ligne
Ce qui me semble bizarre, c'est le fait que tu mettes des paramètres par default aux 2 premiers paramètres et pas au 3ième...
function authorizationRequestWS($montantTotal = null, $montantMaxUnitaire = null, $signedDocuments = ???) {
Ton serveur de test a-t-il le même niveau d'error_reporting que sur ton serveru de dév. ?
Hors ligne
Merci pour ta réponse Mr.Moox En fait, c'est seulement que la version du projet qu'il y avait sur serveur n'était pas la même que sur mon poste............... Et il me manquait la classe correspondant au type complexe SignedDocument.......
On est boulet ou on ne l'est pas... :\
Hors ligne