Sommaire :
Configuration
Afin d'exposer la couche service sous forme de Web Service il y a quelques éléments de configuration CXF à mettre dans la configuration Spring de la couche métier (properties/domain/domain.xml) :
Bloc de code |
---|
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<jaxws:endpoint id="domainService.remoteService" implementor="#domainService"
address="/DomainService">
</jaxws:endpoint> |
Explications :
- Les imports spécifiques à CXF. A noter l'utilisation du préfixe classpath: qui permet de rechercher les fichier XML dans les jar du projet (celui de CXF ici)
- L'espace de nom jaxws: est défini dans la balise racine du fichier Spring :
Bloc de code |
---|
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation=".../...
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"
|
- La balise jaxws:endpoint définit un point d'entrée (il est possible d'en définir plusieurs) de type Web Service. Elle a comme propriétés :
- implementor qui pointe vers la classe ou une référence (signalé par le préfixe #) vers un bean Spring qui implémente le service.
- address correspond à l'url, préfixée par /CXF, qui permettra d'interagir avec le Web Service. Typiquement ici si on veut accéder au WSDL du service on utilisera :
http://www.jtips.info/index.php?title=JAX-WS/CXF_et_Spring