1、首先去官网下载cxf包

http://archive.apache.org/dist/cxf/

记住要选.zip结尾 大概40兆的样子

2、把上边的包都放项目里。如果你用的jeecg框架,那它自带,不过少了一个jetty的包。记得在pom.xml中加入

<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>${cxf.version}</version>
</dependency> 3、http://blog.csdn.net/oneGeng/article/details/5979442 这里面讲的很详细
第一步:新建一个webservice接口 
  1. @WebService
  2. public interface IHelloWorld {
  3. //@WebParam给参数命名,提高可代码可读性。此项可选
  4. blic String sayHi(@WebParam(name="text") String text);
  5. }
   通过注解@WebService申明为webservice接口 
   第二步,实现WebService接口 
  1. @WebService
  2. public class HelloWorldImpl implements IHelloWorld {
  3. public String sayHi(String name) {
  4. System.out.println("sayHello is called by " + name);
  5. return "Hello " + name;
  6. }
  7. }
   第三步,创建服务端 
  1. public class Server {
  2. private Server(){
  3. IHelloWorld helloWorld = new HelloWorldImpl();
  4. //创建WebService服务工厂
  5. JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
  6. //注册WebService接口
  7. factory.setServiceClass(IHelloWorld.class);
  8. //发布接口
  9. factory.setAddress("http://localhost:9000/HelloWorld");
  10. factory.setServiceBean(helloWorld);
  11. //创建WebService
  12. factory.create();
  13. };
  14. public static void main(String[] args) throws InterruptedException{
  15. //启动服务端
  16. new Server();
  17. System.out.println("Server ready...");
  18. //休眠一分钟,便于测试
  19. Thread.sleep(1000*60);
  20. System.out.println("Server exit...");
  21. System.exit(0);
  22. }
  23. }
    第四步,创建客户端 
  
  1. public class Client {
  2. private Client(){};
  3. public static void main(String[] args){
  4. //创建WebService客户端代理工厂
  5. JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
  6. //注册WebService接口
  7. factory.setServiceClass(HelloWorld.class);
  8. //设置WebService地址
  9. factory.setAddress("http://localhost:9000/HelloWorld");
  10. IHelloWorld iHelloWorld = (IHelloWorld)factory.create();
  11. System.out.println("invoke webservice...");
  12. System.out.println("message context is:"+iHelloWorld.sayHi("
  13. Josen"));
  14. System.exit(0);
  15. }
  16. }

4、 首先,运行服务端程序 
    其次,打开浏览器,在地址栏中输入http://localhost:9000/HelloWorld?wsdl

5、当你运行服务端时,其他原有的程序报错了。比如:javax.servlet-api 读不到了 ,读了geronimo-servlet包中的javax-servlet。。

在pom.xml里换个位置就行了。程序喜欢读前边的那个。(纠结好久TT)

webService cxf学习的更多相关文章

  1. WebService CXF学习:复杂对象传递(List,Map)

    转自:https://blog.csdn.net/z69183787/article/details/35988335 第一步:创建存储复杂对象的类(因为WebServices的复杂对象的传递,一定要 ...

  2. WebService基础学习

    参考 WebService基础学习(一)—基础知识:http://www.cnblogs.com/yangang2013/p/5708647.html WebService基础学习(二)—三要素:ht ...

  3. WebService基础学习(三)—CXF

    一.什么是CXF?      Apache CXF = Celtix + Xfire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF.Apache ...

  4. CXF学习(4) 处理无法自动转换的复合数据类型

    只贴出服务端代码 1.Service接口类 package com.test.hello; import java.util.Map; import javax.jws.WebService; imp ...

  5. CXF学习(2) helloworld

    0.新建一个项目取名wsserver. pom.xml 文件如下 <project xmlns="http://maven.apache.org/POM/4.0.0" xml ...

  6. CXF学习 (1)

    Axis(Apache) -> Axis2(Apache) XFire - > CXF (XFire+Celtrix) (Apache) CXF并不仅仅是Webservice框架,更号称是 ...

  7. webservice cxf error:类的两个属性具有相同名称 "password"

    execption detail: Caused by: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.Servic ...

  8. WebService CXF调试常见报错及解决方案

    1.CXF java.lang.RuntimeException: Cannot create a secure XMLInputFactory 解决方案:从apache-cxf/lib下寻找Wood ...

  9. webservice(CXF)基于3.1.1版本实例

    引言 有没有一种办法可以实现跨应用程序进行通信和跨平台进行通信呢? 换句话说,就是有什么办法可以实现我的应用程序 A 可以和应用程序 B 进行通信呢? 或者说是,我用 Java 写的应用程序和用 . ...

随机推荐

  1. jedis3.1.0在weblogic(jdk1.6)中无法运行

    文章目录 错误 探索 总结 错误 在tomcat中运行是没有问题的,可是在weblogic中是不能够运行的,weblogic中的jdk客户要求是1.6的. 如果更换版本jedis2.9.0是没有问题的 ...

  2. private变量引用问题

    public class Scope{ private int i; public static void main(String argv[]){ //注意main参数不能少,否则编译ok,运行抛出 ...

  3. 第三周——重新clone项目、配置并编译

    重新clone项目的原因 因为实习尚未有公司邮箱,使用qq邮箱没有权限提交代码,因此使用晶哥的账号和gitlab, 但是git clone项目默认会关联账号(可能有某些配置项,但是找不到), idea ...

  4. while语句结构(for循环)

    while语句结构(for循环) python for 循环可以遍历任何序列的项目,如一个列表或一个字符串 for循环的一般形式 for 条件判断 in 一个序列: 执行语句 else: 执行语句 可 ...

  5. marquee标签(跑马灯效果)

  6. HTML - 文本标签相关

    <html> <head></head> <body> <!-- 标题标签 : h1到h6, 文字大小依次变小, 加粗显示, 自带换行 标签中的部 ...

  7. Python3基础笔记_迭代器

    # Python3 迭代器与生成器 import sys ''' 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开 ...

  8. 跳表上线性dp——1150D 好题!

    题目设计的很好,感觉做了这题对dp的状态有了更深的理解 /* 先预处理序列自动机 dp[i][j][k]表示匹配到i,j,k时的最靠前的位置 那么现在A串加入了一个字母,我们要求的就是dp[i+1][ ...

  9. codevs1222 信与信封的问题

    二分图匹配. 先匹配一次,一定是完美匹配.然后枚举每条边,去掉它,若是不能完美匹配,这条边就必须. #include<cstdio> #include<cstring> #in ...

  10. 关于SqlServer的内连接,外链接以及left join,right join之间的一些问题与区别。

    就我个人理解通俗点来说内连接和外连接区别: 内连接 inner join或者 join (被默认为内连接) : 内连接的原理是:先进行语句判断和运行得出结果,然后在将结果连接起来,一般是横着连接. 外 ...