Java调用CXF WebService接口的两种方式实例

作者:小飞侠-2 时间:2023-11-09 02:25:11 

通过http://localhost:7002/card/services/HelloWorld?wsdl访问到xml如下,说明接口写对了。

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类,服务器端只要提供接口名和路径就可以方便的调用。

来源: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
  • asp之家 软件编程 m.aspxhome.com