1,jar包导入,从官网下载zip文件后里面会有很多jar包,哪些必须哪些不是必须,我能力有限,从其他人那参考了导入的一下jar包。

2、配置相关文件

web.xml中配置servlet

<servlet>
        <servlet-name>CXFService</servlet-name>
        <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>CXFService</servlet-name>
        <url-pattern>/zxg/*</url-pattern>  //此处用于访问时的路径比如    项目名称/zxg ,自己随意改
    </servlet-mapping>

3、配置到spring中

我的是apllication-context.xml中

<jaxws:endpoint id="userService"        接口名称
            implementor="com.webservice.spring.UserWSImpl"   接口的实现类
            address="/webservice">                                                 系统自动给zxg后面追加的地址,自己随意改
       </jaxws:endpoint>

4、服务端其实就是将一个方法进行了发布,说直白就是一个特殊的方法,就是写一个接口,再写一个接口实现类,在实现类中做一些业务处理,再返回相应处理结果,把代码贴一下,三个类

@WebService
public interface UserWS {
    public User1 getUserById(long id);
}

@WebService
public class UserWSImpl implements UserWS{

@Override
    public User1 getUserById(long id) {
        User1 user = new User1();
        user.setAge(18);
        user.setName("张三");
        user.setId(1);
        return user;
    }

}

@SuppressWarnings("serial")  
public class User1 implements Serializable {

private int id;  
    private String name;  
    private int age;  
    private String description;  
      
    public User1() {  
        super();  
    }

public int getId() {
        return id;
    }

public void setId(int id) {
        this.id = id;
    }

public String getName() {
        return name;
    }

public void setName(String name) {
        this.name = name;
    }

public int getAge() {
        return age;
    }

public void setAge(int age) {
        this.age = age;
    }

public String getDescription() {  
        return description;  
    }

public void setDescription(String description) {  
        this.description = description;  
    }  
      
      
}

5、启动项目访问wsdl看是否成功localhost:8080/myFirstBlood/zxg/webservice?wsdl

6、成功后,将cxf配置到系统变量中,通过dos命令生成客户端代码,这个网上教程比较多,而且没有啥大难度,不写了

7、客户端做好后,一般调用时会报错说类名重复一类的,需要做的就是将每一个get*这样的类中的方法中@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "getUserById1", propOrder = {
    "arg0"
})中name的名称改一下,比如这个加了一个1.接口中方法越多自动生成的get方法也多,需要每一个都改。这样总体就没啥错误了。

8、客户端test

public class Test {
    public static void main(String[] args) {
        UserWSImplService ui = new UserWSImplService();
        UserWS uws = ui.getUserWSImplPort();
        User1 user = uws.getUserById(1);
        System.out.println(user.getName());
    }
}

Spring 与CXF整合(spring3.2,cxf3.1.11)的更多相关文章

  1. spring与cxf整合配置webservice接口(以jaxws:server的方式配置)

    ps:最近项目需要跟其他系统做同步,需要使用webservice来提供接口给其他系统调用:临时抱佛脚赶紧去网上找了下资料,发现用Endpoint的方式发布接口好容易哦:赶紧写了个例子做验证,发布成功. ...

  2. spring 与 CXF 整合 webservice 出现error “Unable to locate Spring NamespaceHandler for XML schema namespace” 总结

    我试了多个版本的spring 发现 出现error : Unable to locate Spring NamespaceHandler for XML schema namespace 并非都是sp ...

  3. Spring 、 CXF 整合 swagger 【试炼】

    官网:http://swagger.io/ http://swagger.io/specification/ 上面就是描述了什么是 SWAGGER OBJECT 2. 如何用jax-rs 注解方式产生 ...

  4. Spring与CXF整合

    1.首先引入CXF相关jar包以及spring相关jar包,因项目是maven项目,所以直接在pom.xml文件中引入以下依赖即可(以下只是CXF的依赖包,Spring的也要引入,相关的依赖参考我博客 ...

  5. Spring和CXF整合时报Unsupported major.minor version 51.0异常

    好吧,官网上有写:The current plan is that CXF 3.1 will no longer support Java 6 and will require Java 7 or n ...

  6. WebService之Spring+CXF整合示例

    一.Spring+CXF整合示例 WebService是一种跨编程语言.跨操作系统平台的远程调用技术,它是指一个应用程序向外界暴露一个能通过Web调用的API接口,我们把调用这个WebService的 ...

  7. 【Java EE 学习 81】【CXF框架】【CXF整合Spring】

    一.CXF简介 CXF是Apache公司下的项目,CXF=Celtix+Xfire:它支持soap1.1.soap1.2,而且能够和spring进行快速无缝整合. 另外jax-ws是Sun公司发布的一 ...

  8. webservice 服务端例子+客户端例子+CXF整合spring服务端测试+生成wsdl文件 +cxf客户端代码自动生成

    首先到CXF官网及spring官网下载相关jar架包,这个不多说.webservice是干嘛用的也不多说. 入门例子 模拟新增一个用户,并返回新增结果,成功还是失败. 大概的目录如上,很简单. Res ...

  9. WebService学习之三:spring+cxf整合

    步骤一:spring项目(java web项目)引入CXF jar包 步骤二:创建webservice服务器 1)创建一个服务接口 package com.buss.app.login; import ...

随机推荐

  1. Codeforces Round #493 (Div. 2) A. Balloons 贪心水题

    由于是输出任意一组解,可以将价值从小到大进行排序,第一个人只选第一个,第二个人选其余的.再比较一下第一个人选的元素和第二个人所选元素和是否相等即可.由于已将所有元素价值从小到大排过序,这样可以保证在有 ...

  2. 初见UDP_Client

    from socket import *ip_prot = ('192.168.55.1',8080)buffer_size = 1024udp_client = socket(AF_INET,SOC ...

  3. sed将上下两行并列

    #cat log5 mmmm 1234 nnnn 2344 #sed -n '{N;s/\n/\t/p}' log5 mmmm 1234 nnnn 2344

  4. Lumen5.5,使用laravel excel 下载 、导入excel文件

    1.安装 首先是安装laravel excel,使用composer安装 composer require maatwebsite/excel ~2.1.0 2.配置 在bootstrap/app.p ...

  5. NOI 2018 你的名字 (后缀自动机+线段树合并)

    题目大意:略 令$ION2017=S,ION2018=T$ 对$S$建$SAM$,每次都把$T$放进去跑,求出结尾是i的前缀串,能匹配上$S$的最长后缀长度为$f_{i}$ 由于$T$必须在$[l,r ...

  6. centos7最小化安装Oracle11gR2

    1.准备CentOS 7 系统环境 我以 CentOS-7-x86_64-DVD-1511.iso 为例,简述Oracle 11g的安装过程. 由于是使用静默模式(silent)安装的,无需使用图形化 ...

  7. Shell(二)运算符

    基本运算符 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 ...

  8. js实现导航固定定位

                                                                                   js实现导航固定定位 <!DOCTY ...

  9. myeclipse导入工程 Some projects cannot be imported because they already exist in the workspace

    问题描述: 1 第一次从外部导入工程或者新建工程,成功: 2 删除该工程,但是没有选择delete project contents on disk 3 再次需要该工程,导入该工程时出现警告:Some ...

  10. [using_microsoft_infopath_2010]Chapter3 表单设计基础:使用InfoPath布局,控件,和视图

    本章概要 1.使用InfoPath的布局工具构建吸引人的表单 2.使用InfoPath表格工具 3.在表单上添加字段和控件 4.使用section和container组织表单里的控件 5.在一个表单上 ...