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
元素引用配置文件中其他位置的 namedbean
元素
在配置中定义处理程序的顺序是它们的执行顺序。如果您混合了逻辑处理程序和协议处理程序,则可以修改顺序。运行时间会将它们排序为正确的顺序,同时保持配置中指定的基本顺序。
示例
例 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>