Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.

...

Bloque de código
languagejava
package com.servicios.soap.configuracion;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.oxm.jaxb.Jaxb2Marshaller;

import com.servicios.soap.client.MarketSoapClient;

@Configuration
public class ClientesSoapConfiguracion {

	/**
	 * Bean necesario para que el cliente haga la transformacion JAXB
	 * 
	 * @return
	 */
	@Bean
	public Jaxb2Marshaller marshaller() {
		Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
		// El nombre del paquete debe ser donde esten las clases Java generadas con JAXB
		marshaller.setContextPath("com.servicios.soap.model");
		return marshaller;
	}

	/**
	 * Damos de alta el cliente soap
	 * 
	 * @param marshaller
	 * @return
	 */
	@Bean
	public MarketSoapClient marketSoapClient(Jaxb2Marshaller marshaller) {
		MarketSoapClient client = new MarketSoapClient();
		// Indicar la uri del servicio
		client.setDefaultUri("http://localhost:8080/soap");
		client.setMarshaller(marshaller);
		client.setUnmarshaller(marshaller);
		return client;
	}

}

Aquí tendremos que modificar la uri de nuestro servicio. Esto lo haremos en la línea de client.setDefaultUri( ... ), y podemos obtener dicha uri en el archivo que hemos utilizado para generar las clases necesarias, en la propiedad location del bloque <soap address />, por ejemplo:

Bloque de código
<soap:address location="http://serviciosumupruebas.um.es:80/serviciosumu/services/ServicioUmu"/>