cxf调用接口的几种方式_Java调用CXF WebService接口的两种方式实例
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接口的两种方式实例相关推荐
- JDK四种常见线程池及使用场景、两种提交任务的方法
转载:JDK 提供的线程池及使用场景 - 编程猎人 (programminghunter.com) 目录 四种常见线程池 1.newFixedThreadPool 2.newSingleThreadE ...
- java中map类型_Java中Map类型遍历的两种方式对比
Java中Map类型是存储键值对数据的类型,在编程过程经常使用,进行遍历操作对于每个Java程序员都不会模式,下面总结两种常用的遍历方式(一种keySet,一种entrySet),通过对比让你明白使用 ...
- java校验码的设计_Java动态验证码单线设计的两种方法
1.java的动态验证码我这里将介绍两种方法: 一:根据java本身提供的一种验证码的写法,这种呢只限于大家了解就可以了,因为java自带的模式编写的在实际开发中是没有意义的,所以只供学习一下就可以了 ...
- java多线程的实现方式_Java 多线程(一)——多线程的实现方式
一.前言 Java 异常的处理方式与自定义异常 我们已经讲完了,从今天开始我们来学习多线程. 二.与多线程相关的概念 2.1.并发与并行并发:指两个或多个事件在同一个时间段内发生,具体如下图所示: 并 ...
- python 调用控制台并获取返回结果_Java调用Python脚本并获取返回值
在Java程序中有时需要调用Python的程序,这时可以使用一般的PyFunction来调用python的函数并获得返回值,但是采用这种方法有可能出现一些莫名其妙的错误,比如ImportError.在 ...
- oracle自增的两种办法,ORACLE数据库实现自增的两种方式
Mysql数据库因为其有自动+1,故一般我们不需要花费太多时间,直接用关键字auto_increment即可,但是Oracle不行,它没有自动增长机制.顾我们需要自己去实现.一般有两种方式,但是这两种 ...
- HTML5动态加载资源方式,动态加载JavaScript文件的两种方法
这篇文章主要为大家详细介绍了动态加载JavaScript文件的两种方法,感兴趣的小伙伴们可以参考一下 第一种便是利用ajax方式,把script文件代码从背景加载到前台,而后对加载到的内容经过eval ...
- java random构造方法_Java中的Random()函数及两种构造方法
Java中存在着两种Random函数: java.lang.Math.Random; 调用这个Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是 ...
- mysql数据存储方式_数据存储在mysql的两种方式
数据存储在mysql的两种方式 发布时间:2020-05-12 16:16:25 来源:亿速云 阅读:250 作者:三月 下文主要给大家带来数据存储在mysql的两种方式,希望这些内容能够带给大家实际 ...
最新文章
- ICLR 2020 | ELECTRA:新型文本预训练模型
- 财务大数据比赛有python吗-Python去做大数据开发,真的有前景吗?
- c语言程序朴素贝叶斯分类器,生成式学习算法(四)之----朴素贝叶斯分类器
- Android笔记-使用okhttp3库发送http请求
- 【C语言】赋值运算中的类型转换
- MYSQL的Commit与程序的原子性
- 伯努利-欧拉装错信封问题
- 2021年全国计算机能力挑战赛C++决赛,题目分享
- 为什么普通人做量化交易会亏钱?
- 理解LaaS、SaaS、PaaS的含义及区别
- 电脑“应用程序无法启动,因为应用程序的并行配置不正确......“问题的解决方法
- 如何实现1分钟写一个API接口
- 杂项-一张图片和爆破一
- charles的基本介绍与使用
- 计算机网络原理 - 概述
- linux挂载03磁盘,Linux_常用命令_03_磁盘/挂载_信息查看(示例代码)
- 北京2008年地铁规划收集
- 提示计算机类型不匹配啥意思,提示:运行时错误“13”:类型不匹配。是什么意思刚装好...
- revit2016项目样板_2016年有10个项目
- SAP-FICO LSMW批量导财务凭证批量导固定资产主数据-AS91