是否存在任何 <jaxws:endpoint /> 注释?

bru*_*azi 5 java spring cxf jax-ws

我正在使用CXFSpringJBoss 5.1 中发布和使用我的 WebServices 。一切正常。

但是,有一件事情我觉得很乏味:在applicationContext.xml 中为每个 WebService放置一个jaxws:endpoint标记。

真的没有办法用注释做到这一点吗?谢谢大家。

sou*_*ica 2

您也可以放入一些用于配置内容的注释<jaxws:endpoint>。声明 CXF 端点的注释会很好。

您可以使用代码而不是 Spring XML 配置端点。如果您有大量可以分解的重复配置,这会很方便。或者,如果您在不同的环境中对某些端点进行了不同的配置。

例如:

@Autowired var authImpl: Auth = _
@Autowired var faultListener: FaultListener = _

def initWebServices() {
  var sf: JaxWsServerFactoryBean = _

  val propMap = mutable.HashMap[String, AnyRef]("org.apache.cxf.logging.FaultListener"->faultListener.asInstanceOf[AnyRef])

  sf = new JaxWsServerFactoryBean
  sf.setServiceBean(authImpl)
  sf.setAddress("/auth")
  sf.setServiceName(new QName("http://auth.ws.foo.com/", "auth", "AuthService"))
  sf.setProperties(propMap)
  sf.create   

  // more services...
Run Code Online (Sandbox Code Playgroud)