2011-04-27 10 views
11

Utilizamos PayloadRootQNameEndpointMapping para asignar scripts de punto final (basados ​​en un lenguaje de scripts como groovy u otra cosa) a una raíz determinada QName. Recientemente, hemos intentado migrar Spring ws a la versión 2.0. El javadoc del PayloadRootQNameEndpointMapping muestra que la clase está marcada como obsoleta.¿Falló la migración a Spring WS 2.0 debido a la falta de asignación de puntos finales de beans?

PayloadRootQNameEndpointMapping obsoleta, ya que de Spring Web Services 2.0, a favor de PayloadRootAnnotationMethodEndpointMapping

Desde anotaciones son estáticos no podemos proporcionar un concepto dinámico para los puntos finales de scripting. Hasta ahora, podíamos mapear genéricamente Bean, que maneja un punto final de script (proporcionado con un archivo de script y algunos contextos) en la raíz QName.

Cortocircuito: ¿Cómo podemos lograr el buen punto final del viejo bean en la asignación Root QName sin usar la API obsoleta? ¿Algunas ideas?

Gracias de antemano.

Respuesta

1

¿Se puede usar algo como el SimpleMethodEndpointMapping para escribir su propio despachador? Compruebe el enlace para la fuente

+0

Sí, escribí mi propio despachador para esto. También ahora genero la configuración del bean, aunque no es una buena práctica = / – codevour

-1

Puede usar más general XPathPayloadEndpointMapping donde xpath apuntará al elemento raíz.

<bean id="endpointMapping" class="org.springframework.ws.server.endpoint.mapping.XPathPayloadEndpointMapping"> 
    <property name="expression" value="local-name(//*[1])" /> 
    <property name="endpointMap"> 
     <map> 
      <entry key="rootElement" value="endpointRef" /> 
     </map> 
    </property> 
</bean> 
Cuestiones relacionadas