`
zqb666kkk
  • 浏览: 733579 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

cxf+wss4j+mysql webservice 加密服务开发

    博客分类:
  • java
 
阅读更多
我采用的是cxf

加密端用的 WSS4J

服务端查询数据库 信息 然后发布服务 客户端调用 服务端 实现数据保护加密服务的功能
WSS4J有三种验证方式本项目采用 最简单的一种 UsernameToken用户名密码验证


Cxf mss4j加密模块 系统集成说明:所需环境 Spring
因为cxf是非常方便与spring集成的 并且支持注解
client_Spring.xml放到src/main/resources下
<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns:jaxws="http://cxf.apache.org/jaxws"
	xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
                       http://www.springframework.org/schema/beans/spring-beans.xsd
                       http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
                       http://cxf.apache.org/transports/http/configuration
                       http://cxf.apache.org/schemas/configuration/http-conf.xsd">


	<bean id="clientPasswordCallback" class="com.prisys.ws.client.ClientPasswordCallback"></bean>
	
	<bean id="wss4jOutInterceptor" class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
        <constructor-arg>
            <map>
                <!-- 用户认证(明文密码) -->
                <entry key="action" value="UsernameToken"/>
                <entry key="user" value="client"/>
                <entry key="passwordType" value="PasswordText"/>
                <entry key="passwordCallbackRef" value-ref="clientPasswordCallback"/> 
            </map>
        </constructor-arg>
    </bean>

	<jaxws:client id="client" address="http://localhost:9080/SOA_Server/webservice/gtinfo"
		serviceClass="com.prisys.ws.service.CxfClientSOA">
		<jaxws:inInterceptors>
			<bean class="org.apache.cxf.interceptor.LoggingInInterceptor" />
		</jaxws:inInterceptors>
		<jaxws:outInterceptors>
			<bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
            <ref bean="wss4jOutInterceptor"/>
        </jaxws:outInterceptors>
	</jaxws:client>
	
	<jaxws:client id="updateFile" address="http://localhost:9080/SOA_Server/webservice/updateFile"
		serviceClass="com.prisys.ws.service.CxfClientSOA">
	</jaxws:client>
	
	<!-- 对所有的服务配置超时机制   只对服务名为{http://service.ws.cxfdemo.com/}HelloWorldService的服务生效.   -->
	<http-conf:conduit name="*.http-conduit">       
		<!-- ConnectionTimeout获取连接超时   ReceiveTimeout获取结果超时-->
		<http-conf:client ConnectionTimeout="15000" ReceiveTimeout="30000"/>
	</http-conf:conduit>
</beans>




Pom.xml:
 <!-- CXF START -->
		<!-- CXF依赖 -->
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-api</artifactId>
			<version>2.7.9</version>
		</dependency>
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-transports-http</artifactId>
			<version>2.7.9</version>
		</dependency>
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-bindings-soap</artifactId>
			<version>2.7.9</version>
		</dependency>
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-frontend-jaxws</artifactId>
			<version>2.7.9</version>
		</dependency>
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-ws-security</artifactId>
			<version>2.7.9</version>
		</dependency>
		<!-- CXF END -->



加密支持类 :
package com.prisys.ws.client;
import java.io.IOException;
import java.util.Date;

import javax.security.auth.callback.Callback;
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.callback.UnsupportedCallbackException;

import org.apache.ws.security.WSPasswordCallback;
 
public class ClientPasswordCallback implements CallbackHandler {
 
    public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
        WSPasswordCallback callback = (WSPasswordCallback) callbacks[0];
        System.out.println(new Date());
        try {
			Thread.sleep(1000L);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
        callback.setPassword("这里填你自己想填的密码");
    }
}






其他按照cxf正常发布模式就好了

需要源码的 进群讨论 186408628
0
0
分享到:
评论

相关推荐

    webservice+cxf+wss4j+spring

    在本示例中,"webservice+cxf+wss4j+spring"的整合过程可能包括以下步骤: 1. **设置Spring配置**:首先,我们需要在Spring配置文件中定义CXF服务端点和WSS4J的安全策略。这可能涉及到创建bean,如`...

    android_ksoap2_cxf_wss4j_authentication

    WSS4J(Web Services Security for Java)是Apache CXF的一部分,专注于提供Web服务安全功能,如签名、加密、身份验证等。在服务器端,你可以使用CXF和WSS4J来设置安全策略,确保只有经过验证的客户端才能访问服务。...

    ibatis+spring+cxf+mysql搭建webservice的客户端

    ibatis+spring+cxf+mysql搭建webservice的客户端,文章地址在http://blog.csdn.net/cenyi2013/article/details/17315755. 服务端源码的下载地址在http://download.csdn.net/detail/cenyi2012/6712729

    Spring集成CXF实例(包含WSS4J安全认证)

    本实例将详细介绍如何在Spring环境中集成CXF,并使用WSS4J进行安全认证。 **一、Spring与CXF集成** 1. **配置CXFServlet**: 首先,我们需要在Spring的`web.xml`配置文件中声明CXF的Servlet,如`...

    Spring+CXF+tomcat开发webservice

    这个项目"Spring+CXF+tomcat开发webservice"旨在教你如何利用这些技术搭建一个完整的Web服务环境,包括服务端和服务端客户端的实现。 **Spring** 是一个广泛使用的Java企业级应用开发框架,它提供了依赖注入(DI)...

    Spring+xFire+wss4j配置Helloworld完整Demo.rar

    标题中的"Spring+xFire+wss4j配置Helloworld完整Demo"揭示了这是一个关于整合Spring框架、xFire(现称为Apache CXF)和WSS4J的安全Web服务示例项目。这个项目旨在帮助开发者理解如何在Spring环境中配置并实现一个...

    SSM+cxf+log4j整合框架

    SSM+cxf+log4j整合框架是一种常见的Java企业级应用开发模式,它结合了Spring、SpringMVC、MyBatis以及CXF和Log4j等多个组件,为开发者提供了高效、灵活的开发环境。让我们详细了解一下这些技术及其整合的关键点。 1...

    简单的webservice+Cxf+Spring数据对接实例以及jar.rar

    简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar简单的webservice+Cxf+Spring数据对接实例以及jar.rar...

    CXF+Spring+自定义拦截器 WebService实例源码下载

    这里少了一个类,是根据实体类生成xml的文件下载地址为:http://download.csdn.net/detail/qq_14996421/9495688

    cxf+spring webservice demo client

    【标题】:“cxf+spring webservice demo client” 在IT领域,Web服务是一种常见的系统间交互方式,它允许不同应用程序之间共享数据和服务。本示例是关于如何使用Apache CXF和Spring框架创建一个Web服务客户端的...

    WebService+CXF+Spring+MySql+注解

    【CXF】:Apache CXF是一个开源的Java框架,主要用于构建和开发WebService。CXF支持多种协议和绑定,如SOAP、RESTful、XML/HTTP等,同时支持WS-*标准,如WS-Security、WS-ReliableMessaging等。它提供了一种简单的...

    Spring+xFire+wss4j配置Helloworld完整版,Myeclipse项目服务端+客户端.rar

    在本教程中,我们将深入探讨如何使用Spring框架与xFire集成,同时利用wss4j进行WS-Security安全配置,创建一个"Hello World"的Web服务。这是一个完整的MyEclipse项目,包括服务端和客户端的工程,旨在帮助开发者快速...

    CXF WS-Security WSS4J 例子

    2. **WSS4J**:作为CXF中实现WS-Security的库,WSS4J提供了丰富的API,允许开发者在发送和接收Web服务请求时添加安全头信息。这些头信息可以包含用户名令牌、X.509证书、SAML令牌等,以实现不同级别的身份验证和授权...

    cxf+spring实现webservice

    以上是CXF+Spring实现Web Service的基本流程和关键知识点。实际应用中,还需要根据具体的需求和环境进行适当的调整和扩展。例如,如果涉及到大型分布式系统,可能还需要考虑服务治理、负载均衡等问题。通过熟练掌握...

    CXF+spring+jdk1.5开发webService

    ### CXF + Spring + JDK1.5 开发 WebService 的技术要点 #### 一、概述 在本篇文章中,我们将详细介绍如何使用 CXF (Community Xenith Framework)、Spring 框架以及 JDK 1.5 来开发并部署 WebService 应用到 ...

    CXF+Spring+Tomcat发布WebService

    【标题】"CXF+Spring+Tomcat发布WebService"涉及的是使用Apache CXF框架与Spring框架结合,在Tomcat服务器上部署和消费Web服务的过程。这是一个常见的企业级应用开发场景,特别是对于实现基于SOAP协议的Web服务。...

    cxf wss4j demo

    【标题】"cxf wss4j demo"指的是一个基于Apache CXF框架并结合WSS4J库的Web服务安全示例项目。Apache CXF是一个开源的Java框架,用于构建和开发服务导向架构(SOA)的应用和服务。它支持多种Web服务标准,包括SOAP、...

    webservice+cxf+spring

    【标题】:“WebService+CXF+Spring”是一个关于在Java环境中使用Apache CXF框架与Spring框架集成实现Web服务的专题。Apache CXF是一个开源的Web服务框架,它允许开发人员创建和部署SOAP和RESTful Web服务。Spring...

    CXF+Spring+自定义拦截器 webservice源码下载

    CXF+Spring+自定义拦截器 webservice源码下载

    cxf+spring开发webservice实例(java)

    web项目使用spring和cxf的一个开发实例,有简单的代码样例和jar。是一个完整的项目,最终发布完成时访问 http://ip:port/项目名称/webservices/ 就会发现你发布的webservice服务。

Global site tag (gtag.js) - Google Analytics