| Tabla de contenidos |
|---|
...
Dependencia pom.xml
Para hacer un cliente SOAP en Spring Boot, en primer lugar tendremos que añadir la siguiente dependencia a nuestro pom.xml:
| Info | ||
|---|---|---|
Con la configuración actual de las APIs, con el parent fundewebjs-api-parent (ver Creación y estructura de proyecto SpringBoot o Migración de APIs a Parent FundeWebJS). No es necesario realizar ninguna configuración de librerías en pom.xml. | ||
| Bloque de código | ||
| ||
| <!-- Dependencia Spring WS --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web-services</artifactId> </dependency> |
Plugin para generar automáticamente el cliente
...
Además, también tendremos que especificar el paquete en el que se encuentran las clases generadas, en la instrucción marshaller.setContextPath( ... ).
Configurar más de un cliente
Si configuramos más de un cliente como hemos explicado, se producirá un conflicto por los Bean y no iniciará la aplicación. Para solucionarlo, en cada clase de configuración de un cliente tendremos que ponerle nombre al bean de Jaxb2Marshaller, y en el método del cliente, etiquetar al marshaller que se pasa como parámetro con @Qualifier con el mismo nombre. Así:
| Bloque de código | ||
|---|---|---|
| ||
@Bean( name = "marshallerMarket" ) public Jaxb2Marshaller marshaller() { ... } @Bean public MarketSoapClient marketSoapClient( @Qualifier( "marshallerMarket" ) Jaxb2Marshaller marshaller) { ... } |