2011-09-20 60 views
0

我的webservice具有REST端點URL,如/ myapp/admin/services。如果我設置了org.apache.cxf.servlet.hide-service-list-page=false,那麼我的URL將被CXF服務列表劫持。發生這種情況是因爲列表URL是相對於org.apache.cxf.transport.servlet.ServletController中的如何覆蓋CXF服務列表URL?

好的,很好,所以我不應該在我的URL結構中使用「services」這個短語。 Mea culpa。但現在我該如何解決這個問題?我想重寫ServletController中的「/ services」默認值。我只需要我的容器來調用該類的setServiceListRelativePath(),但我不知道如何。我想有一些神奇的Spring代碼片段可以做到這一點?

如果很重要,我將CXF作爲捆綁在Talend Service Factory中。

+0

D'oh,發現這個問題後我發現它正確。 「servletConfig.getInitParameter(」service-list-path「)」 –

+0

在Karaf或TSF下,解決方案是將以下內容添加到etc/org.apache.cxf.osgi.cfg中:「org.apache.cxf.servlet.service -list路徑= /期望的/路徑」 –

回答

0

(把我的評論上方爲答案,因爲現代化TSF不再存在)

在Karaf,添加以下等/ org.apache.cxf.osgi.cfg:「org.apache.cxf .servlet.service-list-path =/desired/path「