Bonjour,

D'après les tuto que j'ai pu lire sur le net, développer des webservices semble affreusement complexe. Entre les tuto de JBoss qui plantent au milieu avec des exceptions incompréhensible, et ceux de Sun qui font référence à des fichiers//executables que je ne trouve pas, difficile de m'y retrouver.

Il est possible de développer simplement un webservice server pour JBoss. Ce que je n'arrive pas à réaliser, c'est le client !

Dans un projet Eclipse configuré pour jboss4.2, voici mon code server :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
package test;
 
import javax.ejb.Stateless;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
 
/**
 * Session Bean implementation class HelloImpl
 */
@Stateless
@WebService(name="Hello", targetNamespace="http://localhost:8080/hello", serviceName="HelloService")
@SOAPBinding(parameterStyle=SOAPBinding.ParameterStyle.BARE)
public class HelloImpl implements Hello {
 
	@WebMethod
	public String sayHello(String name) {
		return "hello, " + name;
	}
}
Pas de fichier xml nul part, aucun générateur de code à lancer, c'est simple ! ! !

Dans la même idée, je cherche à me faire mon client.
J'ai deux pistes, qui pour le moment me mènent à deux impasses...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
	Service service = Service.create(
				new URL("http://127.0.0.1:8080/serverWebServices/HelloImpl?wsdl"),
				new QName("http://localhost:8080/hello", "HelloService")
		);
 
		Hello hello = service.getPort(HelloImpl.class);
		System.out.println(hello.sayHello("world"));
Là, j'obtient une erreur car HelloImpl n'est pas une interface. Et invoquer getPort(Hello.class) n'est d'aucune aide.

Sinon l'autre piste était d'utiliser l'annotation javax.xml.ws.@WebServiceRef(wsdlLocation=" http://127.0.0.1:8080/serverWebServices/HelloImpl?wsdl"). Mais à nouveau, on doit récuperrer un stub ou quelque chose du genre...

Enfin, je trouve une annotation @WebServiceClient qui m'a l'air intéressante, mais peu de doc dessus :s

Quelqu'un a t'il un pointeur pour me débloquer dans ma recherche de la simplicité?