1.静态调用

// 创建WebService客户端代理工厂

JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();

// 判断是否抛出异常

factory.getOutInterceptors().add(new LoggingInInterceptor());

// 注册webservice接口

factory.setServiceClass(DeductionService.class);

// 配置webservice地址

factory.setAddress("http://localhost:7002/card/services/HelloWorld?wsdl");

// 获得接口对象

CxfService service = (CxfService) factory.create();

// 调用接口方法

String result = service.sayHello("aaaaaaaaaa");

System.out.println("调用结果:" + result);

// 关闭接口连接

System.exit(0);

2.动态调用:

JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();

org.apache.cxf.endpoint.Client client = dcf

.createClient("http://localhost:7002/card/services/HelloWorld?wsdl");

// url为调用webService的wsdl地址

QName name = new QName("http://dao.xcf.digitalchina.com/", "sayHello");

// namespace是命名空间,methodName是方法名

String xmlStr = "aaaaaaaa";

// paramvalue为参数值

Object[] objects;

try {

objects = client.invoke(name, xmlStr);

System.out.println(objects[0].toString());

} catch (Exception e) {

e.printStackTrace();

}

区别:

静态调用需要依赖service类,因为客户端调用cxf webservice接口的过程中需要服务器端提供service,很不方便,如果同一个项目中则没有区别。

动态调用完全不依赖service类,服务器端只要提供接口名和路径就可以方便的调用。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

时间: 2019-03-11

cxf调用接口的几种方式_Java调用CXF WebService接口的两种方式实例相关推荐

  1. JDK四种常见线程池及使用场景、两种提交任务的方法

    转载:JDK 提供的线程池及使用场景 - 编程猎人 (programminghunter.com) 目录 四种常见线程池 1.newFixedThreadPool 2.newSingleThreadE ...

  2. java中map类型_Java中Map类型遍历的两种方式对比

    Java中Map类型是存储键值对数据的类型,在编程过程经常使用,进行遍历操作对于每个Java程序员都不会模式,下面总结两种常用的遍历方式(一种keySet,一种entrySet),通过对比让你明白使用 ...

  3. java校验码的设计_Java动态验证码单线设计的两种方法

    1.java的动态验证码我这里将介绍两种方法: 一:根据java本身提供的一种验证码的写法,这种呢只限于大家了解就可以了,因为java自带的模式编写的在实际开发中是没有意义的,所以只供学习一下就可以了 ...

  4. java多线程的实现方式_Java 多线程(一)——多线程的实现方式

    一.前言 Java 异常的处理方式与自定义异常 我们已经讲完了,从今天开始我们来学习多线程. 二.与多线程相关的概念 2.1.并发与并行并发:指两个或多个事件在同一个时间段内发生,具体如下图所示: 并 ...

  5. python 调用控制台并获取返回结果_Java调用Python脚本并获取返回值

    在Java程序中有时需要调用Python的程序,这时可以使用一般的PyFunction来调用python的函数并获得返回值,但是采用这种方法有可能出现一些莫名其妙的错误,比如ImportError.在 ...

  6. oracle自增的两种办法,ORACLE数据库实现自增的两种方式

    Mysql数据库因为其有自动+1,故一般我们不需要花费太多时间,直接用关键字auto_increment即可,但是Oracle不行,它没有自动增长机制.顾我们需要自己去实现.一般有两种方式,但是这两种 ...

  7. HTML5动态加载资源方式,动态加载JavaScript文件的两种方法

    这篇文章主要为大家详细介绍了动态加载JavaScript文件的两种方法,感兴趣的小伙伴们可以参考一下 第一种便是利用ajax方式,把script文件代码从背景加载到前台,而后对加载到的内容经过eval ...

  8. java random构造方法_Java中的Random()函数及两种构造方法

    Java中存在着两种Random函数: java.lang.Math.Random; 调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是 ...

  9. mysql数据存储方式_数据存储在mysql的两种方式

    数据存储在mysql的两种方式 发布时间:2020-05-12 16:16:25 来源:亿速云 阅读:250 作者:三月 下文主要给大家带来数据存储在mysql的两种方式,希望这些内容能够带给大家实际 ...

最新文章

  1. ICLR 2020 | ELECTRA:新型文本预训练模型
  2. 财务大数据比赛有python吗-Python去做大数据开发,真的有前景吗?
  3. c语言程序朴素贝叶斯分类器,生成式学习算法(四)之----朴素贝叶斯分类器
  4. Android笔记-使用okhttp3库发送http请求
  5. 【C语言】赋值运算中的类型转换
  6. MYSQL的Commit与程序的原子性
  7. 伯努利-欧拉装错信封问题
  8. 2021年全国计算机能力挑战赛C++决赛,题目分享
  9. 为什么普通人做量化交易会亏钱?
  10. 理解LaaS、SaaS、PaaS的含义及区别
  11. 电脑“应用程序无法启动,因为应用程序的并行配置不正确......“问题的解决方法
  12. 如何实现1分钟写一个API接口
  13. 杂项-一张图片和爆破一
  14. charles的基本介绍与使用
  15. 计算机网络原理 - 概述
  16. linux挂载03磁盘,Linux_常用命令_03_磁盘/挂载_信息查看(示例代码)
  17. 北京2008年地铁规划收集
  18. 提示计算机类型不匹配啥意思,提示:运行时错误“13”:类型不匹配。是什么意思刚装好...
  19. revit2016项目样板_2016年有10个项目
  20. SAP-FICO LSMW批量导财务凭证批量导固定资产主数据-AS91

热门文章

  1. inode索引节点的概念
  2. 前端中心化管理API使用说明
  3. svn 地址中文_iGit自助迁移SVN工程解密
  4. kafka是什么_Kafka的Controller Broker是什么
  5. 要不是真的喜欢学技术,谁会来用Python爬小姐姐啊
  6. 2月份Github上很热门的Python项目
  7. 多进程服务器(python 版)
  8. python3中import的那么些坑
  9. 腾讯云实验之搭建 GIT 服务器教程
  10. Java继承注意事项难点理解