Java调用CXF WebService接口的两种方式实例
作者:小飞侠-2 时间:2023-11-09 02:25:11
通过http://localhost:7002/card/services/HelloWorld?wsdl访问到xml如下,说明接口写对了。
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类,服务器端只要提供接口名和路径就可以方便的调用。
来源:https://blog.csdn.net/qq_26562641/article/details/71534715
标签:java,cxf,webservice,接口
0
投稿
猜你喜欢
Android开发笔记之Android中数据的存储方式(二)
2022-12-04 01:05:55
Java递归运行的机制:递归的微观解读图文分析
2022-09-24 20:04:09
C# TreeView无限目录树实现方法
2023-04-20 03:05:46
Netty实现简易版的RPC框架过程详解
2023-05-23 23:19:58
Java使用HttpUtils实现发送HTTP请求
2021-06-11 07:08:39
java 多线程的几种实现方法总结
2023-10-14 17:43:18
java request.getHeader("user-agent")获取浏览器信息的方法
2022-05-28 01:04:26
简单谈谈RxJava和多线程并发
2023-08-02 00:27:52
Android编程自定义AlertDialog样式的方法详解
2023-09-26 20:55:15
C#集合之链表的用法
2022-02-07 13:38:34
Java 程序员掌握 Spring Boot非常有必要
2021-06-27 19:06:52
基于javaWeb 项目SSM配置要点及可能遇到的问题和解决方法
2023-10-27 21:45:16
Android如何通过scheme跳转界面
2021-08-11 05:19:41
C++实现图书管理系统
2023-11-03 03:00:35
Android悬浮对话框(即点即关对话框)实现代码
2023-01-01 04:53:54
Java面试题冲刺第二十四天--并发编程
2023-08-31 05:39:02
java模拟http的Get/Post请求,并设置ip与port代理的方法
2021-11-25 11:30:57
Android实战教程第一篇之最简单的计算器
2023-03-12 17:57:54
Spring整合mybatis实现过程详解
2022-05-23 02:10:23
Android studio中生成引用.aar和.jar的方法详解
2023-09-29 07:48:33