1.建项目,导包.

 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 2     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 3     <modelVersion>4.0.0</modelVersion>
 4     <groupId>cn_itcast.maven</groupId>
 5     <artifactId>cxf_ws_spring</artifactId>
 6     <version>0.0.1-SNAPSHOT</version>
 7     <name>cxf_ws_spring</name>
 8     <description>CXF的WS整合Spring发布</description>
 9
10     <dependencies>
11         <!-- CXF WS开发 -->
12         <dependency>
13             <groupId>org.apache.cxf</groupId>
14             <artifactId>cxf-rt-frontend-jaxws</artifactId>
15             <version>3.0.1</version>
16         </dependency>
17         <!-- Spring开发 -->
18         <dependency>
19             <groupId>org.springframework</groupId>
20             <artifactId>spring-context</artifactId>
21             <version>4.1.7.RELEASE</version>
22         </dependency>
23
24         <dependency>
25             <groupId>org.springframework</groupId>
26             <artifactId>spring-web</artifactId>
27             <version>4.1.7.RELEASE</version>
28         </dependency>
29
30         <dependency>
31             <groupId>org.springframework</groupId>
32             <artifactId>spring-test</artifactId>
33             <version>4.1.7.RELEASE</version>
34         </dependency>
35         <!-- Spring整合junit开发 -->
36         <dependency>
37             <groupId>junit</groupId>
38             <artifactId>junit</artifactId>
39             <version>4.12</version>
40         </dependency>
41
42     </dependencies>
43     <build>
44         <plugins>
45             <plugin>
46                 <groupId>org.codehaus.mojo</groupId>
47                 <artifactId>tomcat-maven-plugin</artifactId>
48                 <version>1.1</version>
49                 <configuration>
50                     <port>9998</port>
51                 </configuration>
52             </plugin>
53         </plugins>
54     </build>
55 </project>

pom.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 3     xmlns="http://java.sun.com/xml/ns/javaee"
 4     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 5     id="WebApp_ID" version="2.5">
 6
 7     <!-- spring配置文件位置 -->
 8     <context-param>
 9         <param-name>contextConfigLocation</param-name>
10         <param-value>classpath:applicationContext.xml</param-value>
11     </context-param>
12     <!-- spring核心监听器 -->
13     <listener>
14         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
15     </listener>
16     <!-- CXF基于web访问 -->
17     <servlet>
18         <servlet-name>CXFService</servlet-name>
19         <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
20         <!-- 加载级别 -->
21         <load-on-startup>1</load-on-startup>
22     </servlet>
23     <servlet-mapping>
24         <servlet-name>CXFService</servlet-name>
25         <url-pattern>/services/*</url-pattern>
26     </servlet-mapping>
27     <!-- 欢迎页面 -->
28     <welcome-file-list>
29         <welcome-file>index.html</welcome-file>
30         <welcome-file>index.htm</welcome-file>
31         <welcome-file>index.jsp</welcome-file>
32         <welcome-file>default.html</welcome-file>
33         <welcome-file>default.htm</welcome-file>
34         <welcome-file>default.jsp</welcome-file>
35     </welcome-file-list>
36
37 </web-app>

web.xml

2.导入实体类/service

 1 package cn.itcast.cxf.service;
 2
 3 import java.util.List;
 4
 5 import javax.jws.WebMethod;
 6 import javax.jws.WebService;
 7
 8 import cn.itcast.cxf.domain.Car;
 9 import cn.itcast.cxf.domain.User;
10
11 @WebService
12 public interface IUserService {
13     @WebMethod
14     public String sayHello(String name);
15
16     @WebMethod
17     public List<Car> findCarsByUser(User user);
18 }

IUIservice

 1 package cn.itcast.cxf.service;
 2
 3 import java.util.ArrayList;
 4 import java.util.List;
 5
 6 import javax.jws.WebService;
 7
 8 import cn.itcast.cxf.domain.Car;
 9 import cn.itcast.cxf.domain.User;
10 //设置endpointInterface接口服务完整类名,serviceName服务名称.
11 @WebService(endpointInterface = "cn.itcast.cxf.service.IUserService", serviceName = "userService")
12 public class UserServiceImpl implements IUserService {
13
14     // 简单参数传递
15     public String sayHello(String name) {
16         return "Hello," + name;
17     }
18     // 复杂参数传递
19     public List<Car> findCarsByUser(User user) {
20         if ("xiaoming".equals(user.getUsername())) {
21             List<Car> cars = new ArrayList<Car>();
22             Car car1 = new Car();
23             car1.setId(1);
24             car1.setCarName("大众途观");
25             car1.setPrice(200000d);
26             cars.add(car1);
27
28             Car car2 = new Car();
29             car2.setId(2);
30             car2.setCarName("现代ix35");
31             car2.setPrice(170000d);
32             cars.add(car2);
33
34             return cars;
35         } else {
36             return null;
37         }
38     }
39 }

UserviceImpl

 1 package cn.itcast.cxf.domain;
 2
 3 public class Car {
 4     private Integer id;
 5     private String carName;
 6     private Double price;
 7
 8     public Integer getId() {
 9         return id;
10     }
11
12     public void setId(Integer id) {
13         this.id = id;
14     }
15
16     public String getCarName() {
17         return carName;
18     }
19
20     public void setCarName(String carName) {
21         this.carName = carName;
22     }
23
24     public Double getPrice() {
25         return price;
26     }
27
28     public void setPrice(Double price) {
29         this.price = price;
30     }
31
32     @Override
33     public String toString() {
34         return "Car [id=" + id + ", carName=" + carName + ", price=" + price + "]";
35     }
36
37 }

Car

 1 package cn.itcast.cxf.domain;
 2
 3 import java.util.ArrayList;
 4 import java.util.List;
 5
 6 public class User {
 7     private Integer id;
 8     private String username;
 9     private String city;
10
11     private List<Car> cars = new ArrayList<Car>();
12
13     public Integer getId() {
14         return id;
15     }
16
17     public void setId(Integer id) {
18         this.id = id;
19     }
20
21     public String getUsername() {
22         return username;
23     }
24
25     public void setUsername(String username) {
26         this.username = username;
27     }
28
29     public String getCity() {
30         return city;
31     }
32
33     public void setCity(String city) {
34         this.city = city;
35     }
36
37     public List<Car> getCars() {
38         return cars;
39     }
40
41     public void setCars(List<Car> cars) {
42         this.cars = cars;
43     }
44
45 }

User

3.配置Springcxf服务发布

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
 4     xsi:schemaLocation="
 5     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
 6     http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
 7
 8     <!--
 9         address 客户端访问服务路径
10         serviceClass 配置接口
11         serviceBean 配置实现类
12      -->
13     <jaxws:server id="userService" address="/userService"
14         serviceClass="cn.itcast.cxf.service.IUserService">
15         <jaxws:serviceBean>
16             <bean class="cn.itcast.cxf.service.UserServiceImpl" />
17         </jaxws:serviceBean>
18     </jaxws:server>
19
20 </beans>

applicationContext.xml

访问 :http://localhost:9998/cxf_ws_spring/services/userService?wsdl

4.整合Spring测试,编写客户端

1).编写applicationContext.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
 4     xsi:schemaLocation="
 5     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
 6     http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
 7
 8     <!--
 9         serviceClass 服务接口
10         address 服务访问地址
11      -->
12     <jaxws:client id="userServiceClient"
13         serviceClass="cn.itcast.cxf.service.IUserService"
14         address="http://localhost:9998/cxf_ws_spring/services/userService" >
15         <!-- 来源消息拦截器 -->
16         <jaxws:inInterceptors>
17             <bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
18         </jaxws:inInterceptors>
19         <!-- 输出消息拦截器 -->
20         <jaxws:outInterceptors>
21             <bean class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
22         </jaxws:outInterceptors>
23     </jaxws:client>
24 </beans>

客户端的配置

2)测试类编写

 1 package cxf_ws_spring;
 2
 3 import org.junit.Test;
 4 import org.junit.runner.RunWith;
 5 import org.springframework.beans.factory.annotation.Autowired;
 6 import org.springframework.test.context.ContextConfiguration;
 7 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 8
 9 import cn.itcast.cxf.service.IUserService;
10
11 @RunWith(SpringJUnit4ClassRunner.class)
12 @ContextConfiguration(locations = "classpath:applicationContext-test.xml")
13 public class JAXWS_Spring_Test {
14     @Autowired
15     private IUserService proxy;
16
17     @Test
18     public void testCXF() {
19         System.out.println(proxy.sayHello("我是程序员"));
20     }
21 }

测试类

转载于:https://www.cnblogs.com/wwwzzz/p/8036043.html

WebService 的CXF框架 WS方式Spring开发相关推荐

  1. 转载 WebService 的CXF框架 WS方式Spring开发

    WebService 的CXF框架 WS方式Spring开发 1.建项目,导包. 1 <project xmlns="http://maven.apache.org/POM/4.0.0 ...

  2. webservice中cxf框架的HelloWord

    2019独角兽企业重金招聘Python工程师标准>>> 1.先导入我们需要的jar包 2.创建接口 //@WebService是为了外部调用 @WebService public i ...

  3. 系统开发系列 之MyEclipse创建WebService详细教程和调用教程(spring框架+maven+CXF框架)

    1 回顾 [系统开发系列 之MyEclipse创建WebService详细教程和调用教程]介绍了使用JWS实现WebService接口的发布和调用,主要涉及的点有: (1)MyEclipse点击Fil ...

  4. CXF框架的使用,利用cxf开发webservice(六)

    1.CXF介绍 1.1 CXF的介绍(详细介绍 http://blog.csdn.net/dwarcheng/article/details/52449199) CXF 简介 关于 Apache CX ...

  5. CXF整合Spring开发WebService

    刚开始学webservice时就听说了cxf,一直没有尝试过,这两天试了一下,还不错,总结如下: 要使用cxf当然是要先去apache下载cxf,下载完成之后,先要配置环境变量,有以下三步: 1.打开 ...

  6. java cxf spring_CXF整合Spring开发WebService

    刚开始学webservice时就听说了cxf,一直没有尝试过,这两天试了一下,还不错,总结如下: 要使用cxf当然是要先去apache下载cxf,下载完成之后,先要配置环境变量,有以下三步: 1.打开 ...

  7. 使用CXF框架开发WebService客户端

    上一篇讲了使用cxf开发了webservice服务器端接口,这篇我们来开发webservice客户端更多资源访问www.yyjava.com 然后我们要用CXF给我们提供的工具wsdl2java 来根 ...

  8. CXF框架发布WebService服务的例子

    1.CXF框架概念介绍 Apache CXF 是一个开源的 WebService 框架,CXF可以用来构建和开发 WebService,这些服务可以支持多种协议,比如:SOAP.POST/HTTP.H ...

  9. SpringBoot使用cxf框架开发WebServices以及配置安全验证机制

    SpringBoot使用cxf框架开发WebServices以及配置安全验证机制 服务端工程 服务接口的实现 服务接口实现类 服务发布类 启动服务端 客户端工程 生成客户端代码 编写客户端代码 客户端 ...

最新文章

  1. GitHub高赞,针对小白的算法训练仓库
  2. 【算法分析与设计】查找第K大/小元素问题
  3. 数据的标准化【转载】
  4. 李国庆深夜发“15条真相”回应:关于原生家庭、同性恋、1.3亿...
  5. Glide加载相同地址图片,不缓存
  6. springMVC 解决硬编码问题
  7. tile布局的ButtonBar
  8. 二十三、Java异常捕获与处理
  9. 三端线性稳压器工作原理与典型应用电路分析——78XX与LM317
  10. 同花顺通达信公式指标改写成python实现代码,纯numpy,无循环!
  11. 全新 16 核神经网络引擎,a13神经网络处理器
  12. c语言大地坐标系和空间直角坐标系的转换,空间直角坐标系与大地坐标系转换程序.doc...
  13. 知道两点坐标,怎么计算两点方向的方位角
  14. cmnet和cmwap的访问
  15. python中代码注释使用的符号是_Python语句中用于注释代码的符号是
  16. 使用asm.jar将Android手机屏幕投影到电脑
  17. Ubuntu 下谷歌浏览器、搜狗输入法的下载安装
  18. uni-app接入高德地图SDK实现定位用户城市
  19. 局域网工具_如何局域网管理企业海量文件?用这一个工具就够了!
  20. matlab noise level,Matlab生成白噪声

热门文章

  1. browserCaps与浏览器功能设置
  2. layoutSubviews 与 drawRect
  3. 使用异步任务加载网络上的图片
  4. LeetCode(922)——按奇偶排序数组 II(JavaScript)
  5. Udp---模拟实现客户端与服务器通信
  6. 【王道考研计算机网络】—速率相关的性能指标
  7. JavaScript学习(三十)—事件对象
  8. 应该用怎样的态度对待孩子?
  9. 初三下半年应该怎样合理的学习?
  10. 郭麒麟、宋轶主演的《赘婿》1-8集拍得怎么样?