Je dois consommer en java des webservices. ON m'a fourni les wsdl correspondant.
J'utilise Axis1 avec eclipse pour mes clients WS. La plupart des web méthode fonctionne;sauf, dans un cas, ou j'ai cette erreur
org.apache.axis.message.SAXOutputter, message=SAXOutputter.characters ['org.xml.sax.SAXException: WSWS3047E: Error: Cannot deserialize element Fields of bean com.XXXXX.data.Fields.
voir wsdl.jpg -> extrait de la définition.
On voit donc que Form est composé d'un Fields et Fields de n Field.
Voici ce que me génére Axis
cls = com.XXXXX.www.data.Field[].class me parait tres étrange.Citation:
qName = new javax.xml.namespace.QName("http://www.XXXXXX.com/data", ">Field");
cachedSerQNames.add(qName);
cls = com.xxxxxx.www.data.Field.class;
cachedSerClasses.add(cls);
cachedSerFactories.add(beansf);
cachedDeserFactories.add(beandf);
qName = new javax.xml.namespace.QName("http://www.XXXXXX.com/data", ">Fields");
cachedSerQNames.add(qName);
cls = com.XXXXXX.www.data.Field[].class;
cachedSerClasses.add(cls);
qName = new javax.xml.namespace.QName("http://www.xxxxxx.com/data", "Field");
qName2 = null;
cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2));
cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory());
et je n'ai pas de class Fields ou Field[] présente.
Lors de l'envoi du fichier
<FormDefID>500000013</FormDefID>
<Fields>
<Fields>
<FieldID>1</FieldID><Value>totoo</Value>
</Fields>
....
Il remplace les field par fields ....
Pourriez vous m'aider à corriger ce problème? Je suis vraiment bloqué.