我正在使用CXF和Spring在JBoss 5.1中发布和使用我的WebServices.一切正常.
但是,有一件事我认为非常乏味:在applicationContext.xml中为每个WebService添加一个jaxws:endpoint标记.
用注释真的没办法做到这一点?谢谢大家.
解决方法:
还有some annotations配置您可以放入< 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...