添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
首页 > 软件编程 > java > SpringBoot调用webservice接口

SpringBoot项目使用 axis 调用webservice接口的实践记录

作者:Smile_X

这篇文章主要介绍了SpringBoot项目使用 axis 调用webservice接口,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

实际工作场景中会存在对接去很多系统的数据的任务,数据对接呢 方式很多吧,接触过 :

  • http| https请求
  • 数据库视图
  • 数据库存储过程
  • soap+xml工单...

然后这两天接到一个关于webservice 数据接口的方式对接,说实话对于这个一脸懵逼,完全不知道是啥(听一个比较年长的大哥说一些比较老的系统中喜欢使用这个进行数据对接)。所以只能学习一下然后进行搞了

WebService

通过度娘等方式,个人理解为变相的soap协议加xml工单处理,

webservice 常识

一个webservice 接口发布地址往往类似:

  • qq 在线验证接口:

www.webxml.com.cn/webservices…

  • 其他可测试接口:

email电子邮箱地址接口: www.webxml.com.cn/WebServices…

全国天气情况接口:

www.webxml.com.cn/WebServices…

qq在线接口验证接口为例

在接口后面加: /wsdl www.webxml.com.cn/webservices…

访问查看然后找到下图中定义的内容:注意使用关联key找到对应的必要使用的参数。

maven 使用 axis

应用依赖(不可缺失必须)

        <!-- https://mvnrepository.com/artifact/org.apache.axis/axis -->
        <dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis</artifactId>
            <version>1.4</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/wsdl4j/wsdl4j -->
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.6.2</version>
        </dependency>
<!--        解决cell 转换问题-->
        <!-- https://mvnrepository.com/artifact/javax.xml/jaxrpc-api -->
        <dependency>
            <groupId>javax.xml</groupId>
            <artifactId>jaxrpc-api</artifactId>
            <version>1.1</version>
        </dependency>
<!--       解析调用结果以及数据转换包-->
        <!-- https://mvnrepository.com/artifact/commons-discovery/commons-discovery -->
        <dependency>
            <groupId>commons-discovery</groupId>
            <artifactId>commons-discovery</artifactId>
            <version>0.2</version>
        </dependency>

代码(粘贴可用)

@Test
public void testWebService() {
    try {
        //wsdl地址
        String endpoint = "http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx";
        //命名空间
        String namespace = "http://WebXml.com.cn/";
        //服务名
        String serviceName = "qqOnlineWebService";
        //方法名
        String methodName = "qqCheckOnline";
        //soapAction
        String soapAction = "http://WebXml.com.cn/qqCheckOnline";
        Service service = new Service();
        Call call = (Call) service.createCall();
        //设置响应超时
        call.setTimeout(3000);
        //设置地址
        call.setTargetEndpointAddress(new java.net.URL(endpoint));
        //设置方法名
        call.setOperationName(new QName(namespace, methodName));
        //设置参数
        call.addParameter(new QName(namespace, "qqCode")
                , org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
        //设置返回类型
        call.setReturnType(XMLType.XSD_SCHEMA);
        //启用soap
        call.setUseSOAPAction(true);
        //设置soapAction
        call.setSOAPActionURI(soapAction);
        //设置服务名
        SOAPService soapService = new SOAPService();
        soapService.setName(serviceName);
        call.setSOAPService(soapService);
        Schema result = (Schema) call.invoke(new Object[]{"xxxxx"});
        for (int i = 0; i < result.get_any().length; i++) {
            System.out.println(result.get_any()[i]);
    } catch (Exception e) {
        log.error("ddd", e);

对于以上代码,我这边吐槽一下,网上其实很多这个的例子但是实际调用的时候会出问题,注意点:

xxxx需要填写真实的QQ号码

到此这篇关于SpringBoot项目使用 axis 调用webservice接口的文章就介绍到这了,更多相关SpringBoot调用webservice接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • Mybatis-Plus将字段设置为null解决方法
    Mybatis-Plus将字段设置为null解决方法
    2023-04-04
  • 解决定时任务@Scheduled没有准时执行的原因及分析
    解决定时任务@Scheduled没有准时执行的原因及分析
    2023-04-04
  • 一文带你掌握Java中Scanner类的使用
    一文带你掌握Java中Scanner类的使用
    2023-04-04
  • idea64.exe.vmoptions文件如何设置调整VM配置文件
    idea64.exe.vmoptions文件如何设置调整VM配置文件
    2023-04-04
  • 如何使用axis调用WebService及Java WebService调用工具类
    如何使用axis调用WebService及Java WebService调
    2023-04-04
  • Java Http的基础概念了解
    Java Http的基础概念了解
    2023-04-04
  • 深入探讨Java SPI机制及其应用场景
    深入探讨Java SPI机制及其应用场景
    2023-04-04
  • IDEA修改idea64.exe.vmoptions文件以及解决coding卡顿问题
    IDEA修改idea64.exe.vmoptions文件以及解决coding
    2023-04-04
  • 美国设下计谋,用娘炮文化重塑日本,已影响至中国
    美国设下计谋,用娘炮文化重塑日本,已影响至中国
    2021-11-19
  • 时空伴随者是什么意思?时空伴随者介绍
    时空伴随者是什么意思?时空伴随者介绍
    2021-11-09
  • 工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    2021-11-05
  • 2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2021-10-26
  • 电脑版 - 返回首页

    2006-2023 脚本之家 JB51.Net , All Rights Reserved.
    苏ICP备14036222号