`
conquer0
  • 浏览: 78393 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论
阅读更多
校验类AuthorizationInterceptor写在服务器端的,代码如下:
package com.huawei.support.security;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import org.apache.cxf.binding.soap.interceptor.SoapHeaderInterceptor;
import org.apache.cxf.configuration.security.AuthorizationPolicy;
import org.apache.cxf.endpoint.Endpoint;
import org.apache.cxf.interceptor.Fault;
import org.apache.cxf.message.Exchange;
import org.apache.cxf.message.Message;
import org.apache.cxf.transport.Conduit;
import org.apache.cxf.ws.addressing.EndpointReferenceType;
import org.springframework.core.io.Resource;
import com.huawei.support.utils.StreamUtil;
import com.huawei.support.utils.StringUtil;

public class AuthorizationInterceptor extends SoapHeaderInterceptor
{
    private static Properties props;
    /**
     * 配置路径
     */
    private Resource configLocation;

    public void setConfigLocation(Resource aConfigLocation)
    {
        this.configLocation = aConfigLocation;
    }
    private Properties getProps()
    {
        if (null == props)
        {
            props = new Properties();
            InputStream is = null;
            try
            {
                is = configLocation.getInputStream();
                props.load(is);
            }
            catch (IOException e)
            {
                props = null;
            }
            finally
            {
                StreamUtil.close(is);
            }
        }
        return props;
    }
private Conduit getConduit(Message inMessage) throws IOException
    {
        Exchange exchange = inMessage.getExchange();
        EndpointReferenceType target = exchange.get(EndpointReferenceType.class);
        Conduit conduit = exchange.getDestination().getBackChannel(inMessage,
                null,
                target);
        exchange.setConduit(conduit);
        return conduit;
    } 
    private void close(Message outMessage) throws IOException
    {
        OutputStream os = outMessage.getContent(OutputStream.class);
        os.flush();
        os.close();
    }
分享到:
评论

相关推荐

    spring4+cxf3

    本文将详细探讨"spring4+cxf3"整合的相关知识点,包括Spring 4.1.8和CXF 3.1.3的特性、整合过程以及实际应用场景。 **Spring 4.1.8** Spring 4.1.8是Spring框架的一个稳定版本,它引入了诸多改进和新功能。以下是...

    CXF3+maven+spring

    【CXF3+maven+spring】是一个典型的Java Web服务开发示例,它结合了三个关键的技术:Apache CXF、Maven以及Spring框架。这个项目旨在展示如何使用这些工具来构建和消费Web服务,同时实现与Spring框架的集成。 ...

    cxf3 + spring4

    CXF3是该框架的第三个主要版本,增加了许多新功能和性能优化。 另一方面,Spring4是Spring框架的一个版本,它是一个强大的企业级应用开发框架,提供了依赖注入、面向切面编程、数据访问、事务管理等功能。Spring4...

    spring4+cxf3+maven3整合客户端与服务端

    在IT行业中,Spring、CXF和Maven是三个非常重要的框架和工具,它们在构建高效、可维护的Java应用程序中发挥着关键作用。本项目整合了Spring 4、CXF 3和Maven 3,旨在创建一个服务端和客户端的完整解决方案。以下是...

    cxf-3.1.5 和 cxf-3.3.13 JAVA7和JAVA8对应CXF资源

    JAVA7和JAVA8对应CXF资源 WebService CXF 用了一天时间找,官网打不开,国内要积分,下下来又永不了。...java 8 3.x java 7 2.2x --- 3.2之前版本 java 6 3.1 之前版本 只能上传一个资源,这次合并了

    jdk21集成cxf示例程序

    3. **创建Web服务接口**:定义一个Java接口,声明你想要公开的服务方法。例如: ```java @WebService public interface HelloWorldService { String sayHello(String name); } ``` 4. **实现Web服务接口**:...

    cxf3.1.14所需要的jar包

    cxf3整合springmvc所需要的jar包。cxf-core-3.1.14.jar,cxf-rt-bindings-soap-3.1.14.jar ,cxf-rt-databinding-jaxb-3.1.14.jar ....................

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

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

    cxf2.1jar包

    8. **版本差异**:虽然CXF 2.1较旧,但其后有许多更新的版本,例如CXF 3.x,这些新版本通常包含更多的功能、改进和错误修复。在选择使用CXF 2.1时,需要权衡其稳定性和新版本的特性需求。 9. **文档与社区**:CXF...

    Spring4.3整合CXF3.0.4需要使用的Jar包--亲测可用

    Spring4.3整合CXF3.0.4需要使用的Jar包,Spring4.0以上需要使用CXF3.0以上的jar包才可以,之前使用CXF2.7会报各种错误,cxf-core-3.0.4.jar,cxf-rt-bindings-soap-3.0.4.jar

    CXF3.0+Spring3.2 RESTFul服务

    3. **编写RESTFul接口**:在Java类中定义一个实现了JAX-RS标准的接口,例如`HelloWorldResource`: ```java @Path("/hello") public class HelloWorldResource { @GET @Produces(MediaType.TEXT_PLAIN) public...

    cxf3.1.4发布restful风格的web service

    JAX-RS 2.0是CXF 3.x系列支持的版本,它引入了许多新功能,如异步处理、统一异常处理和链接构造等。 在创建RESTful服务时,我们可以使用`@Path`注解来指定服务的URI模板,`@GET`、`@POST`、`@PUT`、`@DELETE`等注解...

    CXF-3.1.11jar包

    3. **JAX-RS集成**:CXF提供了对Java API for RESTful Web Services (JAX-RS)的全面支持,这是Java平台上的REST规范,允许开发者以一种声明式的方式创建RESTful服务。 4. **Spring框架集成**:描述中提到CXF与...

    cxf 3.1.1 jar包

    3. **cxf-rt-frontend-jaxrs.jar**: 支持JAX-RS(Java API for RESTful Web Services),让你可以使用注解轻松地创建RESTful服务。 4. **cxf-rt-transports-http.jar**: 包含了HTTP传输层的实现,使得CXF服务可以...

    WebService之CXF开发指南.rar

    **3. CXF开发流程** 使用CXF开发WebService通常包含以下步骤: - **定义服务接口**:创建Java接口,定义服务的方法。 - **创建服务实现**:实现接口中的方法,提供具体的服务逻辑。 - **生成WSDL**:使用CXF工具从...

    Webservice笔记含使用cxf和jaxws两种方式开发webservice【源代码+笔记】

    Webservice三要素 Wsdl(webservice使用说明书)重点掌握 Soap(jaxws开发webservice的传输协议)重点掌握 UDDI(了解) Webservice的使用场景分析(掌握) 学会jaxws基本开发方法(重点) Soap1.1和soap1.2...

    cxf3.1.1客户端需要最少的JAR

    3. `woodstox-core-asl-4.4.1.jar`:这是一个高效的XML处理器,它基于StAX(Streaming API for XML),用于提高XML解析和生成的性能。在CXF中,它用于读取和写入XML流。 4. `cxf-rt-frontend-jaxws-3.1.1.jar`:这...

    CXF2.2.3完整架包

    3. **数据绑定**:CXF支持JAXB(Java Architecture for XML Binding)进行XML到Java对象的自动转换,简化了数据交换。 4. **WSDL第一**或**代码第一**开发:开发者可以选择从WSDL文件生成Java代码,或者从Java类...

    CXF实现WebServices_3

    CXF实现WebService_1 的视频,WebService的工作原理以及SOAP的简介

    cxf的jar包

    3. **互操作性**:CXF致力于提供与不同平台和语言的互操作性。它支持多种WS-*标准,如WS-Security、WS-Addressing和WS-ReliableMessaging,这些标准增强了Web服务的安全性和可靠性。 4. **绑定灵活性**:CXF支持...

Global site tag (gtag.js) - Google Analytics