我使用 Axis2 1.4 和 glassfish 2.1.1 开发了一个 WS,它使用端点 url 正确运行,例如
`http://server:port/appname/services/FooService`
但我需要让它通过像这样的端点工作
`http://server:port/FooService`
因为无法更改 WS 客户端以使用不同的端点。
摆脱“appname”部分很容易,将 appname 设置为应用程序服务器下的 root(更改应用程序的 application.xml 配置文件)。这会导致一个端点像http://server:port/services/FooService
它工作正常但仍然有“服务”部分。
为了摆脱“服务”部分,我尝试了:
更改了axis2.xml 配置文件的“servicePath”属性。如果我将此属性设置为空白,null、“”或“/”不起作用。在前两种情况下,部署应用程序时会引发“servicePath 不能为空或为空”异常。
在 web.xml 文件中添加了一个新条目以将 AxisServlet 映射到 url 模式“/”,但它再次不起作用。
所以,我的问题是:有没有办法摆脱 servicePath 参数?
假设没有办法这样做,另一个想法是将请求从我尝试使用的端点 url“重定向”到axis2使用的那个(使用servicePath)。我不确定如何做到这一点,也许使用 servlet?应用服务器上的一些配置?