Bonjour,
Après plusieurs recherches je n'ai pas trouvé de solution précises à mon problème (a priori simple).
J'ai fait un web service Axis 2 qui renvoi un ArrayList de String car je dois gérer dynamiquement des messages d'erreur. Je pensais récupérer tout ça côté client (Java pour le moment mais peut être n'importe quoi) sous forme de String[].
J'ai codé quelque chose du genre pour le wsdl en typant ma variable de retour (qui est un POJO complexe mais contenant uniquement des booléen ou des chaînes, plus cette liste d'erreur)
1 2 3 4 5 6 7 8 9
|
<complexType name="ArrayOfString">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType"
wsdl:arrayType="string[]"/>
</restriction>
</complexContent>
</complexType> |
En générant le wsdl par le plug in il type la liste par anyType et forcément ça plante aussi a l'éxecution, d'où cette modif...
Le client est généré avec le plug in d'Axis et lorsque j'exécute un appel simple du web service j'ai l'erreur suivante :
org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement listErreursValidation
Remarque : lorsqu'il n'y a qu'un élément dans l'ArrayList côté serveur, le client ne plante pas. C'est lorsqu'il y a plusieurs éléments que ça plante.
Si quelqu'un a une piste... merci !
Partager