`
maosheng
  • 浏览: 567899 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CXF bus interceptor 配备

 
阅读更多
bus是cxf的支架,它主要担当扩展及拦截器提供者的角色。

目前配置cxf的interceptor主要有2中方法:

1.通过xml配置文件的方法,使用<cxf:bus>

2.通过在java代码中使用编码的方式来添加拦截器


下面来看2个例子

1.配置文件方式配置 cxf bus interceptor

<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:cxf="http://cxf.apache.org/core"
      xsi:schemaLocation="
http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

    <bean id="logOutbound" class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>

    <cxf:bus>
        <cxf:outInterceptors>
            <ref bean="logOutbound"/>
        </cxf:outInterceptors>
    </cxf:bus>
</beans>

注意:在使用<cxf:bus>时候,一定要引入 命名空间xmlns:cxf=http://cxf.apache.org/core,及其对应的模式http://cxf.apache.org/schemas/core.xsd

2.java代码硬编码方式在服务端添加拦截器

import javax.xml.ws.Endpoint;
import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.EndpointImpl;

Object implementor = new GreeterImpl();
EndpointImpl ep = (EndpointImpl) Endpoint.publish("http://localhost/service", implementor);

ep.getServiceFactory().getBus().getInInterceptors().add(new LoggingInInterceptor());
ep.getServiceFactory().getBus().getOutInterceptors().add(new LoggingOutInterceptor());



分享到:
评论

相关推荐

    CXF使用EndpointImpl发布WebService加入拦截器

    1. 创建拦截器:首先,我们需要创建自定义拦截器类,实现`org.apache.cxf.interceptor.Interceptor`接口或者其子接口,如`org.apache.cxf.interceptor.ClientInterceptor`或`org.apache.cxf.interceptor....

    CXF3.0+Spring3.2 自定义拦截器

    3. **Spring集成**:在Spring3.2中,我们可以使用`&lt;cxf:bus&gt;`和`&lt;cxf:interceptor&gt;`标签将自定义拦截器注册到CXF Bus中。这样,Spring容器会管理拦截器的生命周期,并在需要时注入其他依赖。 4. **拦截器链**:CXF...

    CXF和Spring整合,并且添加拦截器

    2. **配置Spring**:在Spring配置文件中,我们需要声明CXF的服务端点(Endpoint)和相关的Bus实例。Spring会自动管理这些组件,提供服务的生命周期控制。 ```xml xmlns:xsi=...

    基于CXF的webservice的发布及访问

    &lt;cxf:bus-ref&gt;myBus&lt;/cxf:bus-ref&gt; &lt;/cxf:client&gt; ``` 4. **执行调用**:在Spring配置生效后,可以直接通过客户端接口进行服务调用。 **总结** Apache CXF提供了简洁的API和工具,使得发布和调用SOAP 1.2 Web...

    CXF 添加soap 头部信息.zip_CXF增加soap头验证_bluex8z_cxf_meltedkw7_soap信息头

    创建一个实现了`org.apache.cxf.interceptor.Fault`和`org.apache.cxf.phase.Phase`接口的类,如`SoapHeaderInterceptor`,并在`handleMessage`方法中处理头部信息: ```java public class SoapHeaderInterceptor...

    08.CXF拦截器的理论以及如何为CXF的客户端和服务器端添加拦截器

    - `org.apache.cxf.interceptor.ClientInterceptor` 和 `org.apache.cxf.interceptor.ServerInterceptor`:分别用于客户端和服务端。 - `org.apache.cxf.phase.PhaseInterceptor`:通用接口,适用于任何拦截器。 ...

    spring-cxf 日志记录配置.zip

    - 如果需要更细粒度的控制,可以创建自定义的日志拦截器实现`org.apache.cxf.interceptor.LoggingInterceptor`接口,然后在CXF的`&lt;cxf:inInterceptors&gt;`或`&lt;cxf:outInterceptors&gt;`中注册。 5. **日志输出格式**: ...

    CXF_WebService_开发指南、技术文档

    import org.apache.cxf.interceptor.LoggingInInterceptor; import org.apache.cxf.interceptor.LoggingOutInterceptor; public class HelloWorldClientWithInterceptor { public static void main(String[] args)...

    13.为CXF与Spring整合发布WebService添加拦截器进行权限控制

    首先,我们需要创建一个实现了`org.apache.cxf.interceptor.Fault`和`org.apache.cxf.phase.PhaseInterceptor`接口的类。这个类通常会包含处理权限检查的业务逻辑。例如,你可以定义一个名为`...

    CXF WebService 开发指南、技术文档

    CXF支持使用Interceptor来扩展服务行为,类似于Servlet中的Filter。Interceptor可以用来处理请求和响应消息的预处理和后处理操作。 1. **定义Interceptor**: - 继承`AbstractPhaseInterceptor`。 - 实现`...

    WebService发布框架CXF的源码

    - `org.apache.cxf.interceptor.Interceptor`:处理消息的拦截器,提供了对请求和响应进行预处理和后处理的机制。 - `org.apache.cxf.frontend.ServerFactoryBean`和`ClientFactoryBean`:分别用于配置和创建服务器...

    apache cxf 教程

    Bus 是整个 CXF 架构的核心,类似于 Spring 中的 ApplicationContext,用于管理和配置 CXF 的各种资源,例如 WSDL 管理器、绑定工厂等。Bus 提供了一个可扩展的环境,允许开发者自定义资源或替换默认资源。默认情况...

    CXF服务端和客户端 应用开发指南

    此外,还需配置CXF的Bus实例,这是CXF框架的核心组件,负责处理服务请求的路由和转换。 #### 五、服务发布与客户端调用 服务发布后,客户端可通过调用特定的URL访问服务。CXF支持多种客户端编程模型,包括JAX-WS和...

    CXF Web Server 教程

    1. **Bus**:CXF的核心组件,类似于Spring的ApplicationContext,管理共享资源,如WSDL管理者和绑定工厂。默认的Bus实现基于Spring,通过依赖注入连接各个运行时组件。BusFactory负责创建Bus,SpringBusFactory是...

    CXF 入门示例

    CXF的Bus是其核心组件,相当于Spring的ApplicationContext,用于管理和共享资源。默认的Bus实现是基于Spring的,通过依赖注入将各个组件连接在一起。BusFactory负责创建Bus,SpringBusFactory是默认实现,它会自动...

Global site tag (gtag.js) - Google Analytics