Relu
Relecture RB
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) :
<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 :
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 :