`
bean-woo
  • 浏览: 136055 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Spring 整合CXF

阅读更多

搭建工程spring+cxf工程。添加相应的.jar

Interface:

 

import javax.jws.WebService;

 

@WebService

public interface UserService {

 

public String getUserName(String name);

 

public String getPassWord(String password);

}


Impl:

 

import javax.jws.WebService;

 

@WebService(endpointInterface = "com.bsf.gwtservice.UserService")

public class UserServiceImpl implements UserService {

@Override

public String getPassWord(String password) {

return MD5.getMDFivePassword(password);

}

 

@Override

public String getUserName(String name) {

return name;

}

}


spring-cxf.xml:

 

<?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"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd

http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd

http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd

">

 

<import resource="classpath:META-INF/cxf/cxf.xml" />

<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />

<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

 

 

<bean id="userServiceImplCxf"

class="com.bsf.gwtservice.UserServiceImpl" />

 

<jaxws:endpoint id="userService" implementor="#userServiceImplCxf"

address="/userServiceCxf" />

</beans>

 

注意:<jaxws:endpoint id="userService" implementor="#userServiceImplCxf"

address="/userServiceCxf" />

id:指在spring配置的beanID.

Implementor:#+实现类的bean id.

implementorClass="类全路径"

Address:指明这个web service的相对地址

配置web.xml

 

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<listener>

<listener-class>

org.springframework.web.context.ContextLoaderListener

</listener-class>

</listener>

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:xml/*.xml</param-value>

</context-param>

<servlet>

<servlet-name>CXFServlet</servlet-name>

<servlet-class>

org.apache.cxf.transport.servlet.CXFServlet

</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>CXFServlet</servlet-name>

<url-pattern>/*</url-pattern>

</servlet-mapping>

<welcome-file-list>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

</web-app>

部署到tomcat服务器,输入:http://localhost:9100/GwtService/userServiceCxf?wsdl

客户端:

用DOS将目录切换到cxf/bin运行wsdl2java.bat生成客户端代码

输入:wsdl2java -d src - client http://localhost:9000/helloWorld?wsdl
其作用上面的build.xml作用一样。
附加:wsdl2java用法:
wsdl2java -p com -d src -all  aa.wsdl
-p  指定其wsdl的命名空间,也就是要生成代码的包名:
-d  指定要产生代码所在目录
-client 生成客户端测试web service的代码
-server 生成服务器启动web  service的代码
-impl 生成web service的实现代码
-ant  生成build.xml文件
-all 生成所有开始端点代码:types,service proxy,,service interface, server mainline, client mainline, implementation object, and an Ant build.xml file.

 

配置client-spring.xml

 

<?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:context="http://www.springframework.org/schema/context"

xmlns:jaxws="http://cxf.apache.org/jaxws"

xmlns:customer="http://customerservice.example.com/"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd

http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd

http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd

">

<jaxws:client id="userService"

address="http://localhost:9100/GwtService/userServiceCxf"

serviceClass="com.bsf.gwtservice.UserService">

</jaxws:client>

</beans>

测试类:
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext(
"test/client-applicationContext.xml");
UserService service = (UserService) context.getBean("gpsService");
System.out.println(service.getPassWord("password"));
}


 

 

 

分享到:
评论

相关推荐

    Spring整合CXF发布服务

    当我们需要在Spring环境中发布Web服务时,Spring与CXF的整合就显得尤为重要。本篇文章将深入探讨如何实现Spring与CXF的整合,以便发布服务。 1. **Spring与CXF整合的基础** 在整合Spring和CXF之前,我们需要确保...

    Spring整合CXF demo

    **Spring整合CXF详解** Spring框架与Apache CXF的整合是企业级Java应用中常见的实践,主要用于构建基于SOAP和RESTful服务。这个"Spring整合CXF demo"项目提供了一个直观的例子,帮助开发者理解如何在Spring环境中...

    零配置spring 整合cxf

    标题 "零配置spring 整合cxf" 涉及的是在Spring框架中与Apache CXF服务集成,而无需繁琐的XML配置。Apache CXF是一个开源的Java框架,主要用于构建和开发服务导向架构(SOA)的应用程序。它支持多种Web服务标准,...

    spring整合CXF开发webService所需jar包

    - Spring整合CXF的相关库:cxf-spring-boot-starter-jaxws.jar、cxf-spring-boot-autoconfigure.jar等,这些jar文件帮助Spring容器自动配置CXF相关的bean。 - 其他依赖库:如wsdl4j.jar、jaxb-api.jar、jaxb-impl....

    Spring整合CXF步骤,Spring实现webService,spring整合WebService

    下面我们将详细探讨Spring整合CXF的步骤以及如何在Spring中实现Web服务。 1. **环境准备**: 在开始整合之前,确保已安装JDK,并设置好环境变量。同时,你需要在项目中引入Spring和CXF的依赖库,通常通过Maven或...

    零配置spring 整合cxf、struts2

    在Spring中整合CXF,我们可以使用Spring的注解来定义服务接口和服务实现,然后通过Spring自动扫描和注册这些服务。例如,我们可以在接口上使用`@WebService`注解,实现类上使用`@Service`注解,Spring会自动创建CXF...

    spring整合cxf服务

    **Spring 整合 CXF 服务详解** Spring 框架是 Java 企业级应用开发中的主流选择,而 Apache CXF 是一个强大的服务提供和服务消费框架,它支持多种 Web 服务标准,如 SOAP、RESTful API 等。将 Spring 与 CXF 结合...

    webservice之Spring整合CXF

    WebService小白学习 之 Spring整合CXF,添加拦截器。 博客学习地址:https://blog.csdn.net/qq_37902949/article/details/81262826

    Spring整合CXF,发布RSETful 风格WebService

    首先,让我们回顾一下Spring整合CXF的基础步骤。在SSH(Spring、Struts、Hibernate)架构中,我们需要配置Spring上下文以便CXF能够识别和处理Web服务。这通常涉及到在Spring配置文件中定义CXF的Bus实例、服务端点...

    spring整合cxf 实现webservice

    【Spring 整合 CXF 实现 WebService】是将 Apache CXF 框架与 Spring 框架结合,以创建、部署和管理 WebService 的一种方法。Apache CXF 是一个开源服务框架,它允许开发者创建和消费各种 Web 服务,而 Spring 提供...

    spring整合cxf全jar包 一个都不能少和一个都不能多

    "spring整合cxf全jar包 一个都不能少和一个都不能多"这个主题表明了在配置Spring和CXF时,正确选择和包含所有必要的JAR文件至关重要,因为缺少任何一个都可能导致项目运行失败或者功能缺失。 首先,让我们深入理解...

    cxf spring maven 实例

    5. **Spring整合CXF**:Spring可以通过`cxf-spring`模块来集成CXF,通过`&lt;jaxws:endpoint&gt;`或`&lt;jaxrs:server&gt;`标签在Spring配置文件中声明Web服务。这样,Spring容器会管理Web服务的生命周期,服务实例可以在需要时...

    CXF和spring整合所需jar包

    这里我们将深入探讨CXF与Spring整合时所需的jar包及其作用。 首先,我们需要理解整合的目的:通过Spring管理CXF的服务生命周期,使得服务的创建、配置和管理更加便捷。为了实现这一目标,我们需要以下关键的jar包:...

    cxf整合spring

    将CXF与Spring整合的主要好处在于,可以利用Spring的强大管理和配置能力来管理CXF服务。Spring的DI可以帮助我们将CXF的服务bean与其他业务逻辑bean解耦,从而提高代码的可测试性和可维护性。此外,Spring还提供了对...

    spring整合cxf

    整合Spring和CXF的主要目的是利用Spring的管理能力来控制CXF的服务生命周期,以及利用Spring的配置优势来简化CXF的设置。这可以通过以下几种方式实现: 1. **基于XML的配置**:在`integrateSpringWithCXF1`中,我们...

    spring + cxf + mybatis整合

    "Spring + CXF + MyBatis整合"是指将这三个框架结合在一起,创建一个具备完整功能的后端系统,包括业务逻辑处理、Web服务提供和数据库交互。下面将详细介绍这个整合过程中的关键知识点: 1. **Spring配置**:首先,...

    spring整合CXF开发webService接口所需的全部jar包

    下面我们将深入探讨Spring与CXF整合开发Web服务接口所需的知识点。 1. **Spring框架**: - **依赖注入(Dependency Injection, DI)**:Spring的核心特性之一,它允许将组件间的依赖关系通过配置文件或注解来管理...

    spring+cxf 整合jar包

    在IT行业中,Spring框架和CXF服务框架的整合是一个常见的任务,主要用于构建高效、灵活的分布式服务系统。本文将深入探讨Spring与CXF整合的核心概念、步骤以及它们各自的功能。 **Spring框架** 是一个开源的应用...

Global site tag (gtag.js) - Google Analytics