Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 20-07-2009 17:14:12

Fadeninev
Nouveau membre
Date d'inscription: 07-12-2007
Messages: 9

Recevoir un type complexe en paramètre

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 :

Code:

/**
 * .....
 *
 * @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...

Code:

<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

 

#2 21-07-2009 09:12:36

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Recevoir un type complexe en paramètre

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

 

#3 21-07-2009 18:36:52

Fadeninev
Nouveau membre
Date d'inscription: 07-12-2007
Messages: 9

Re: Recevoir un type complexe en paramètre

Merci pour ta réponse Mr.Moox smile 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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages