Mil*_*kic 13 java tomcat web-services jax-ws java-ee
我正在尝试在Tomcat上部署基于JAX-WS的Web服务时最小化所需的配置.随着Servlet 3.0的推出(由Tomcat 7+支持),web.xml可以抛出,但仍然存在sun-jaxws.xml.这篇博文很有意思:
当然,通过使用jax-ws注释,即使配置sun-jaxws.xml也可以选择使其完全无描述符,但这需要指定一个默认的url-pattern,如JSR-109或自定义模式,如Jersey REST服务,在JAX-WS规范中.
是否有可能避免sun-jaxws.xml在Tomcat上,以及如何?
kol*_*sus 14
可悲的是,配置必须存在于某处.根据消息来源,这是强制性的.信不信由你,sun-jaxws.xml文件的位置硬编码为/WEB-INF/sun-jaxws.xml(感谢,guys @ Metro).
实际上,您需要控制以下类
需要做什么:
WSServletContextListener显然不会延长.此侦听器根据sun-jaxws.xml和jaxws-catalog文件执行大多数初始化.就像我之前提到的,位置是硬编码的.所以你的阻力最小的路径是
实现自己的vanilla servlet监听器(带@WebListener)并调用a new WSServletContextListener().然后,您将自己contextInitialized(ServletContext ctxt)和contextDestroyed()方法委托给您的实例中的那些WSServletContextListener.
使用一个@XmlRootElement代表sun-jaxws文件的类,在运行时实例化生成监听器的文件(我将在短时间内提供此示例,现在没有时间:)) .
对于这样一个可有可无的便利,这是一个很大的麻烦,IMO,但它应该在理论上工作.我会写一些样本,看看他们很快就会播放.
| 归档时间: |
|
| 查看次数: |
11281 次 |
| 最近记录: |