CXF WebService 接口 调用 XML

本文基础来自于: https://www.cnblogs.com/diyunfei/p/8183852.html

本文重点说的是复盘过程中遇到的问题,及解决方式。

Demo 用到的方法类

一;

服务端

创建New Dynamic Web Project (如下方客户端创建图)
方法类:


SayHelloService.java
@WebService(targetNamespace = "http://dao.diy.com", serviceName = "SayHelloService")
public interface SayHelloService {
 
   @WebResult(name = "return", targetNamespace = "http://dao.diy.com")
   @WebMethod(action = "http://dao.diy.com/sayHello")
   public String sayHello(@WebParam(name = "arg0", 
   targetNamespace = "http://dao.diy.com") String arg0);
}

SayHelloServiceImpl.java
public class SayHelloServiceImpl implements SayHelloService {
	 
	   public String sayHello(String arg0) {
	      return "Hello Test:" + arg0;
	   }
	}
 
Server.java
public class Server {
   public static void main(String[] args) {
      System.out.println("开启webservice。。。");
      SayHelloService sayHelloService = new SayHelloServiceImpl();
      String address = "http://localhost:8089/web";
      JaxWsServerFactoryBean factoryBean = new JaxWsServerFactoryBean();
      factoryBean.setAddress(address); // 设置暴露地址
      factoryBean.setServiceClass(SayHelloService.class); // 设置接口类
      factoryBean.setServiceBean(sayHelloService); // 设置实现类
      factoryBean.create();
      System.out.println("开启webservice成功。。。");
   }
}
 

客户端

新建
在这里插入图片描述
在这里插入图片描述

  • 创建客户端后,打开CMD 将路径指向客户端src文件夹下 ,然后输入
    wsdl2java http://localhost:8089/web?wsdl 回车,稍等几秒会生成一个文件夹
    其中包含客户端需要的类文件

客户端类


public class Client {

	 
	   public static void main(String[] args) {
	      System.out.println("开始获取数据。。。");
	      SayHelloService_Service service = new SayHelloService_Service();
	      SayHelloService sayHelloService = service.getSayHelloServicePort();
	      System.out.println(sayHelloService.sayHello("Fuck"));
	      System.out.println("获取完成。");
	   }
	 
}

在这里插入图片描述

wsdl2java 工具配置使用方法:

wsdl2java工具的使用前准备,首先下载 apache-cxf-3.4.5
环境变量配置:
新建 CXF_HOME C:\ProgramFiles(my)\apache-cxf-3.4.5 (CXF所在路径)
在PATH中添加 %CSF_HOME%\bin
验证:
操作 win+R —> cmd —> 回车 —》 wsdl2java -v
结果 显示 wsdl2java - Apache CXF 2.7.2
证明配置成功


*** 如果cmd下检测 CXF 环境变量是否配置成功时出现 ***

  此处不应该有 9   的错误提示

  则说明Java JDK版本过高,尝试 1.8

CXF Eclipse 引用方法

在这里插入图片描述

源码:

下载地址: 链接:https://pan.baidu.com/s/1RY3fMRT_QjOHGYywBesKcA 提取码:lzvx


版权声明:本文为u014535389原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。