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