Bonjour,
J'utilise Axis pour faire des services Web.
Je souhaite dans mon service que la méthode qui sera appelée possède en paramètre une classe : par exemple :
public class Calculator {
// methode permettant de faire l'addition de 2 entiers
public int add(Nombres n) {
return n.a + n.b;
}
}
le problème c'est que quand dans le client j'essai d'apppeller la méthode, j'ai une erreur
// adresse de destination du message SOAP
String endpoint = "http://localhost:8080/axis/services/calculator";
// création du service
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(endpoint));
// invocation de la méthode
Integer res = (Integer) call.invoke("add", new Object[] { new Nombres(1, 2) });
// affichage du résultat
System.out.println("resultat = " + res);
voici l'erreur :
java.io.IOException: No serializer found for class fr.cls.ws.test.service.Nombres in registry org.apache.axis.encoding.TypeMappingDelegate@737371
j'ai vu sur le net cet article :
http://ws.apache.org/axis/java/user-guide.html#WhatAxisCanNotSendViaSOAP
d'après ce que j'ai compris on peut âs faire appel à des classes qu'on a créé nous même, ils parlent de java bean mais je ne comprend pas trop comment ils font .
quelqu'un a déjà essayé de passer une classe ou une "enum" en paramètre d'un service ?
Merci par avance
Apple

