CXF configurar bus cliente, servidor en un mismo servicio


Tengo un servicio que hace de proxy. La peticion que le llega la envia a otro Servicio Web y este otro devuelve la respuesta.

Por un lado tengo un modulo: cliente-servicio_externo.
Por otro lado tengo el modulo: servidor-proxy.

El cliente es una dependencia del servidor-proxy, para que mediante la configuracion de Spring, llamar al servicio externo.

	<cxf:bus bus="clientPaxaseBus">
		<cxf:features>
			<cxf:logging />
		</cxf:features>
		<cxf:inInterceptors>
			<ref bean="checkResponse" />
			<bean class="org.apache.cxf.ws.security.wss4j.DefaultCryptoCoverageChecker" />
		</cxf:inInterceptors>
		<cxf:outInterceptors>
			<ref bean="SignRequest" />
		</cxf:outInterceptors>
	</cxf:bus>
		
	<jaxws:client id="clientPaxaseConsultaIdentidad" address="#{url}/consultarIdentidad" bus="clientPaxaseBus"
		serviceClass="es.map.xml_schemas.PeticionPortType"/>

Pongo una configuracion de BUS generica, para todos los clientes. Especifico el nombre del bus: bus=”clientPaxaseBus”.

	<bean id="logInbound" class="org.apache.cxf.interceptor.LoggingInInterceptor" />
	<bean id="logOutbound" class="org.apache.cxf.interceptor.LoggingOutInterceptor" />

	<bean id="cdi" class="es.depontevedra.soap.interoperabilidad.identidad.services.spi.ConsultaIdentidadEnPaxase" />
	<jaxws:endpoint id="cdiService" implementor="#cdi" address="/consultaidentidad"
		publishedEndpointUrl="http://${service.host}:${service.port}/${service.wsname}/consultaidentidad">
		<jaxws:inFaultInterceptors>
			<ref bean="logInbound" />
		</jaxws:inFaultInterceptors>
		<jaxws:inInterceptors>
			<ref bean="logInbound" />
		</jaxws:inInterceptors>
		<jaxws:outFaultInterceptors>
			<ref bean="logOutbound" />
		</jaxws:outFaultInterceptors>
		<jaxws:outInterceptors>
			<ref bean="logOutbound" />
		</jaxws:outInterceptors>
	</jaxws:endpoint>

Evito la configuracion bus, poniendo los interceptors a mano en cada endpoint. No he sido capaz de generar un cxf:bus generico nombrando o etiquetandolo de alguna manera. Esta solucion no me gusta, pero funciona. A ver si encuentro una manera mas limpia…

Anuncios
CXF configurar bus cliente, servidor en un mismo servicio