43.10.2. Spring 配置
概述
将端点配置为使用处理程序链的最简单方法是在端点配置中定义链。这可以通过在配置端点的元素中添加 jaxwxs:handlers
子级来完成。
重要
通过配置文件添加的处理程序链优先于程序配置的处理器链。
流程
要配置端点来加载处理器链,请执行以下操作:
如果端点还没有配置元素,请添加。
有关配置 Apache CXF 端点的详情请参考 第 17 章 配置 JAX-WS 端点。
-
将
jaxws:handlers
子元素添加到端点的配置元素。 对于链中每一处理程序,添加一个
bean
元素,指定实施该处理程序的类。如果在多个位置中使用您的处理程序实施,您可以使用
ref
元素引用bean
元素。
handlers 元素
jaxws:handlers
元素在端点配置中定义一个处理程序链。它可以作为所有 JAX-WS 端点配置元素的子项显示。这些是:
-
jaxws:endpoint
配置服务供应商。 -
jaxws:server
还配置服务提供商。 -
jaxws:client
配置服务消费者。
您可以通过以下两种方式之一向处理器链添加处理程序:
-
添加定义实现类的
bean
元素 -
使用
ref
元素引用来自配置文件其他位置的命名bean
元素
在配置中定义处理程序的顺序就是执行它们的顺序。如果您混合了逻辑处理程序和协议处理程序,则顺序可以被修改。运行时间会将它们排序成正确的顺序,同时保持配置中指定的基本顺序。
示例
例 43.17 “配置端点以在 Spring 中使用处理程序链” 显示加载处理程序链的服务提供商的配置。
例 43.17. 配置端点以在 Spring 中使用处理程序链
<beans ... xmlns:jaxws="http://cxf.apache.org/jaxws" ... schemaLocation="... http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd ..."> <jaxws:endpoint id="HandlerExample" implementor="org.apache.cxf.example.DemoImpl" address="http://localhost:8080/demo"> <jaxws:handlers> <bean class="demo.handlers.common.LoggingHandler" /> <bean class="demo.handlers.common.AddHeaderHandler" /> </jaxws:handlers> </jaws:endpoint> </beans>