2011-04-27 33 views
11

我們使用PayloadRootQNameEndpointMapping將端點腳本(基於groovy或其他的腳本語言)映射到給定的根QName。我們最近試圖將spring ws遷移到2.0版本。 PayloadRootQNameEndpointMapping的javadoc顯示該類標記爲已棄用。由於缺少bean端點映射,遷移到Spring WS 2.0失敗?

PayloadRootQNameEndpointMapping棄用了Spring Web Services 2.0中,贊成PayloadRootAnnotationMethodEndpointMapping

由於註解的是靜態的,我們不能爲腳本的端點提供一個動態的概念。到目前爲止,我們可以將處理腳本端點的Bean(提供了腳本文件和一些上下文)一般地映射到根QName

Short:如何在不使用棄用API的情況下實現良好的舊bean端點到根QName映射?有任何想法嗎?

預先感謝您。

回答

1

你可以使用類似SimpleMethodEndpointMapping的東西來編寫自己的調度程序嗎?檢查源代碼的鏈接

+0

是的,我爲此寫了自己的調度程序。我現在也生成bean配置,不是最佳實踐,儘管= / – codevour 2011-11-14 08:37:53

-1

您可以使用更通用的XPathPayloadEndpointMapping,其中xpath將指向根元素。

<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>