IDEA中WebService生成Java代码并调用外部接口实现

IDEA中WebService生成Java代码并调用外部接口实现


最近一个Spring项目中需要调用其他第三方系统的接口对接数据,对方只给了一个wsdl地址,我们需要根据给的wsdl地址,自己来生成里边的接口等调用接口所需要的类,来调用接口实现数据获取,进行自己的业务处理。

通过wsdl文件生成java代码

我们根据wsdl地址生成所需接口的代码,方式很多。可以用jdk自带的wsimport,我是用的idea开发工具生成的。

  1. 根据对方提供的地址,在浏览器中输入能调用得到xml格式文件,证明对方服务开启并能访问,然后右键网页保存xml文件,修改后缀名为wsdl。
    在这里插入图片描述

  2. 将wsdl文件拷贝到项目中。idea生成的时候需要选择这个文件。在这里插入图片描述

  3. 首先你要确定你要确定将代码生成在哪里。如图我新建的一个项目,我打算在我新建的webservice文件夹里生成代码,点击file-new-module(idea版本好像老版本可以右键webservice文件夹来选择webservice client),如下:
    在这里插入图片描述

  4. 如果是第一次使用webservice Client来生成java代码,则需要安装插件,并重启浏览器,此时我已安装。在这里插入图片描述

  5. 安装好插件后,再次new modeuls,选择WebService Client,选择Axis方式来生成java代码,选择download来下载axis相关的jar包。在这里插入图片描述

  6. 点击next,配置代码生成的路径和模块名称,点击ok,点击finish,会下载相关jar包,下载成功后在这里插入图片描述

  7. 下载成功后,选择wsdl文件,生成java代码在这里插入图片描述

  8. 生成文件的目录,包括jar包和java代码和测试类在这里插入图片描述

  9. 生成的测试类如下:

package example;

public class HelloWorldClient {
    public static void main(String[] argv) {
        try {
            HelloWorldServiceLocator locator = new HelloWorldServiceLocator();
            Activator service = locator.get();
            // If authorization is required
            //((HelloWorldSoapBindingStub)service).setUsername("user3");
            //((HelloWorldSoapBindingStub)service).setPassword("pass3");
            // invoke business method
            service.businessMethod();
        } catch (javax.xml.rpc.ServiceException ex) {
            ex.printStackTrace();
        } catch (java.rmi.RemoteException ex) {
            ex.printStackTrace();
        }
    }
}
调用外部接口

idea工具生成java代码后,还需要根据实际情况来调用接口

  1. 在测试类里面,可以测试调用外部接口在这里插入图片描述
  2. 这里我是新建了一个客户端类,来调用外部的接口方法在这里插入图片描述
  3. 调用成功返回数据在这里插入图片描述
  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值