Bonjour,
J'ai un webservice qui doit me retourner un tableau d'objets bien formés (POJOs) mais lorsque je l'appelle en SOAP, j'ai une exception côté client :
org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement col
Mon objet est le suivant (je vous fais grâce des getters/setters) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
public class Gadget implements Serializable {
static final long serialVersionUID = -2455121595840754378L;
private int id;
private int idg;
private int ido;
private String title;
private int col;
private int row;
private int idu;
public Gadget()
{
}
... |
Bien sûr, côté WSDL (généré à partir des classes Java avec Java2WSDL fourni par Axis2), j'ai mon objet qui est mappé comme ceci :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://models.services/xsd">
<xs:complexType name="Gadget">
<xs:sequence>
<xs:element minOccurs="0" name="col" type="xs:int"/>
<xs:element minOccurs="0" name="id" type="xs:int"/>
<xs:element minOccurs="0" name="idg" type="xs:int"/>
<xs:element minOccurs="0" name="ido" type="xs:int"/>
<xs:element minOccurs="0" name="idu" type="xs:int"/>
<xs:element minOccurs="0" name="row" type="xs:int"/>
<xs:element minOccurs="0" name="title" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
... |
Et j'utilise le code suivant pour appeler mon webservice côté client :
1 2 3 4 5 6 7
|
ServicesStub stub = new ServicesStub(null, url);
GetGadgetsByUser req1 = new GetGadgetsByUser();
req1.setId(user);
GetGadgetsByUserResponse res1 = stub.getGadgetsByUser(req1);
Gadget[] gadgets = res1.get_return(); |
Quelqu'un aurait une idée de comment résoudre ce problème ? Merci d'avance.
Marc
Partager