2011-09-20 61 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“