2011-07-11 57 views
1

是否有可能只有一個地址的多個實現器? 因此,像:用於一個地址的CXF多個實現器

<jaxws:endpoint id="ws1" implementor="#ws1" address="/ws" /> 
<jaxws:endpoint id="ws2" implementor="#ws2" address="/ws" /> 

感謝 --MB

+0

您想實現什麼目標?哪個實現應該處理對'/ ws'的請求? –

+0

取決於所稱的方法。我只是想有一個端點,但多個Java實現類,所以我不會結束5000行長文件 –

回答

0

我假設你有很多操作的一個巨大的終點。如果您首先執行開發,則CXF將爲每個端點創建一個類,每個操作包含一個方法。我相信這是唯一的方法。但是,您可以僅將此端點類用作Facade,將其委託給幾個專用類(每個操作一行,就是這樣)。

當然,您總是可以重構您的WSDL以擁有多個端點,但這可能不適合您。據我所知,沒有辦法將實現分成幾個類,這個類必須完全實現WS接口。

然而,在WS WS中,任何方法都可以通過在@Endpoint註釋的類中註釋@PayloadRoot來處理SOAP請求。這看起來像是一個很棒的功能,因爲您可以根據需要跨越多個類的實現(即使每個SOAP操作都有一個類)!