- 下载apache-cxf,下载地址:http://cxf.apache.org/download.html
- 这个类似于tomcat,将下载的文件解压到D:,然后将D:\apache-cxf\bin配置到环境变量(注意文件名),这个不多说
- 浏览器打开wenservice接口地址并登录,右键页面另存为,将本页面保存到本地文件(默认是.xml文件),修改后缀为.wsdl,例如:Test.wsdl
- 打开cmd,运行 wsdl2java -d D:\项目路径\src -all D:Test.wsdl,没有报错的话就生成文件成功了,刷新项目查看新增的java文件
- 在新增的文件里找到以Clinet结尾的java文件,如果有的话里面会有一个main方法,就是一个例子,可直接传参测试,后续怎么封装方法就看你自己的了
- 如果没有以Clinet结尾的java文件,那就找到以server结尾的文件,实例化这个类,具体如下:
public static void main(String args[]){
// 这里的第一个参数是targetNamespace,可在浏览器访问接口地址,在页面查找,第二个参数是方法名
QName SERVICE_NAME = new QName("urn:test", "USER_CREATE");
/*这个WSDL_LOCATION会自动生成,不用管,其实就是我们之前保存的Test.wsdl的绝对路径,
例如WSDL_LOCATION="file:/d:/Test.wsdl",这里如果要放到Linux环境,需要修改路径*/
URL wsdlURL = USERCREATE_Service.WSDL_LOCATION;
// 实例化Server类
USERCREATE_Service ss = new USERCREATE_Service(wsdlURL, SERVICE_NAME);
// 获取接口
USERCREATE port = ss.getUSERCREATE();
User user = new User();// 初始化参数
user.setName("张三");
user.setAge("8");
// Holder类型的参数是用来返回数据的,里面也可以是对象
Holder<String> result = new Holder<String>();
port.USER_CREATE(user,result);// 调用接口里面的方法
System.out.println("result=" + result.value);
}