java 调用wsdl协议接口简单实用方法最新推荐

 更新时间:2025年03月04日 10:31:03   作者:锋丷  
文章介绍了如何使用POM导入依赖,并编写一个测试类来调用不同的Web服务接口,通过访问接口地址,我们可以获取请求和返回的body,并进一步解析返回的JSON结果,感兴趣的朋友一起看看吧

1.导入pom

<!-- JAX-WS API -->
<dependency>
    <groupId>javax.xml.ws</groupId>
    <artifactId>jaxws-api</artifactId>
    <version>2.3.1</version>
</dependency>
<!-- JAX-WS Runtime -->
<dependency>
   <groupId>com.sun.xml.ws</groupId>
   <artifactId>jaxws-rt</artifactId>
   <version>2.3.1</version>
</dependency>
<!-- 工具集 -->
<dependency>
	<groupId>cn.hutool</groupId>
	<artifactId>hutool-all</artifactId>
	<version>5.7.15</version>
</dependency>

2.编写测试类TestWsdl

import cn.hutool.http.webservice.SoapClient;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import javax.xml.soap.SOAPMessage;
/**
 * 测试调用wsdl接口
 * @author laijiangfeng
 * @date 2024/9/27 9:51
 */
public class TestWsdl {
    public static void main(String[] args) throws Exception {
        // 创建SoapClient实例 wsdl协议请求地址:http://xxx.cn/services/GanSuInterface (去掉?wsdl)
        SoapClient client = SoapClient.create("http://xxx.cn/services/GanSuInterface")
                // 设置方法名和命名空间(命名空间url:http://webservice.xxx.xxx ,方法名:getSydwJsonList)
                // tns 命名空间targetNamespace,没有命名空间时直接写方法名即可
                .setMethod("tns:getSydwJsonList", "http://webservice.xxx.xxx")
                // 设置参数(最后的false参数表示参数不加命名空间的前缀web)
                .setParam("in0", "afe9cff39173ff8901917a54c90e448d", false);
        //获取SOAPMessage实例(此步作用是输出请求的XML参数,实际开发并不需要)
		SOAPMessage message = client.getMessage();
		System.out.println(client.getMsgStr(true));
        // 发送请求(true表示输出的结果格式化处理)
        String send = client.send(true);
        Document document = DocumentHelper.parseText(send);
        Element root = document.getRootElement();
        String value = root.getStringValue();
        System.out.println(send);
        System.out.println(value);
    }
}

命名空间url不同的接口可能不一样自己通过访问接口地址获取

3.运行main结果

上面第一部分是请求body、第二部分是返回的结果body、第三部分是解析后的结果json

到此这篇关于java 调用wsdl协议接口简单实用方法最新推荐的文章就介绍到这了,更多相关java 调用wsdl接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

    SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

    SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案,本文给大家介绍SpringSecurity认证、注销、权限控制和注销、记住密码、自定义登入页等知识总结,感兴趣的朋友一起看看吧
    2025-03-03
  • java实现简易局域网聊天功能

    java实现简易局域网聊天功能

    这篇文章主要为大家详细介绍了java实现简易局域网聊天功能,使用UDP模式编写一个聊天程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • MyBatis事务原理与实战深入解析

    MyBatis事务原理与实战深入解析

    本文详细解析了MyBatis事务的原理、配置与企业级实战应用,从核心基础到原生JDBC事务和Spring声明式事务的实现,再到常见问题与解决方案,全面涵盖了MyBatis事务的各个方面,帮助开发者深入理解并正确使用MyBatis事务,感兴趣的朋友跟随小编一起看看吧
    2025-12-12
  • Spring的@CrossOrigin注解处理请求源码解析

    Spring的@CrossOrigin注解处理请求源码解析

    这篇文章主要介绍了Spring的@CrossOrigin注解处理请求源码解析,@CrossOrigin源码解析主要分为两个阶段@CrossOrigin注释的方法扫描注册,请求匹配@CrossOrigin注释的方法,本文从源码角度进行解析,需要的朋友可以参考下
    2023-12-12
  • IDEA切换JDK版本详细教程(超管用)

    IDEA切换JDK版本详细教程(超管用)

    在我们项目开发的过程中可能会遇到JDK版本过高或者过低导致一些程序无法启动,不兼容的问题,所以我们需要切换JDK的版本号,这篇文章主要给大家介绍了关于IDEA切换JDK版本的相关资料,需要的朋友可以参考下
    2023-10-10
  • Java中使用BeanMap将对象转为Map详解

    Java中使用BeanMap将对象转为Map详解

    这篇文章主要介绍了Java中使用BeanMap将对象转为Map详解,BeanMap 是 Apache Commons BeanUtils 库中的一个类,BeanMap 可以将 Java 对象的属性作为键,属性值作为对应的值,存储在一个 Map 中,它提供了一种将 Java 对象转换为 Map 的方式,需要的朋友可以参考下
    2024-01-01
  • SpringBoot 多环境打包最佳实践记录

    SpringBoot 多环境打包最佳实践记录

    SpringBoot通过配置多环境文件和在打包时指定激活的环境,实现多环境打包与部署,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-11-11
  • Java分布式ID中Snowflake雪花算法应用实现

    Java分布式ID中Snowflake雪花算法应用实现

    Snowflake算法作为一种高效且易于实现的分布式ID生成方案,能够很好地满足分布式系统中对全局唯一ID的需求,本文就来介绍一下Java分布式ID中Snowflake雪花算法应用实现,感兴趣的可以了解一下
    2024-07-07
  • Spring Boot与ActiveMQ整合的步骤

    Spring Boot与ActiveMQ整合的步骤

    今天小编就为大家分享一篇关于Spring Boot与ActiveMQ整合的步骤,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Java 切割字符串的几种方式集合

    Java 切割字符串的几种方式集合

    这篇文章主要介绍了Java 切割字符串的几种方式集合,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09

最新评论