利用idea生成webservice客户端--详解步骤--(wsdl文件的使用)

这篇具有很好参考价值的文章主要介绍了利用idea生成webservice客户端--详解步骤--(wsdl文件的使用)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、idea安装webservice

1.点击左上file,选中settings​编辑

2.下载Web Service

3.给此项目添加webservice

4.添加webservice的依赖

二、利用idea根据wsdl文件自动生成webService客户端代码(然后比照着生成的测试类进行接口或方法的调用)

1.打开tools -> WebServices -> Generate Java Code From Wsdl,按照图中顺序进行

2.按照图中顺序进行操作,最后点击OK

3.必须勾选Generate TestCase

4.wsdl文件转换生成Java代码:成功

5.如何使用生成的代码

三、直接利用Axis2调用wsdl类型接口:


一、idea安装webservice

1.点击左上file,选中settings

2.下载Web Service

idea wsdl生成webservice客户端,wsdl类接口调用,intellij-idea,java,ide

3.给此项目添加webservice

idea wsdl生成webservice客户端,wsdl类接口调用,intellij-idea,java,ide

 idea wsdl生成webservice客户端,wsdl类接口调用,intellij-idea,java,ide

4.添加webservice的依赖

依赖加就行镜像用阿里云的基本都能下载
<!-- axis 1.4 jar start -->
<dependency>
    <groupId>org.apache.axis</groupId>
    <artifactId>axis</artifactId>
    <version>1.4</version>
</dependency>
<dependency>
    <groupId>commons-discovery</groupId>
    <artifactId>commons-discovery</artifactId>
    <version>0.2</version>
    <exclusions>
        <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.apache.axis</groupId>
    <artifactId>axis-jaxrpc</artifactId>
    <version>1.4</version>
</dependency>
<dependency>
    <groupId>org.apache.axis</groupId>
    <artifactId>axis-saaj</artifactId>
    <version>1.4</version>
</dependency>
<dependency>
    <groupId>wsdl4j</groupId>
    <artifactId>wsdl4j</artifactId>
    <version>1.4</version>
</dependency>

   <!--webservice的:TestCase需要的jar包-->     
        <dependency>

            <groupId>junit</groupId>

            <artifactId>junit</artifactId>

            <version>4.12</version>

        </dependency>

二、利用idea根据wsdl文件自动生成webService客户端代码(然后比照着生成的测试类进行接口或方法的调用)

步骤:1.利用idea根据wsdl文件生成代码,需要先将wsdl文件下载到本地

    2.下载时无必要要求,选择Apache Axis,依赖需要自行百度搜索

    3.下载后需要比照着测试类代码,写调用接口或方法的代码

好处:1.入参的参数不需要自己进行封装 , 特别容易写

     2.返回值都被封装好了 , 可以很容易就取到 , 不用自己写解析代码

1.打开tools -> WebServices -> Generate Java Code From Wsdl,按照图中顺序进行

idea wsdl生成webservice客户端,wsdl类接口调用,intellij-idea,java,ide

2.按照图中顺序进行操作,最后点击OK

idea wsdl生成webservice客户端,wsdl类接口调用,intellij-idea,java,ide

3.必须勾选Generate TestCase


(会给出调用接口的例子,照着抄就可以实现调用指定接口)

idea wsdl生成webservice客户端,wsdl类接口调用,intellij-idea,java,ide

4.2点击ok报错 , 就去百度下载Axis所需的依赖 , 第一次需额外下载一个插件(直接下载完就行)

只要不是报wsdl文件出错 , 其他报错后,只要能生成代码 , 就可以使用

4.wsdl文件转换生成Java代码:成功

例子1:

  idea wsdl生成webservice客户端,wsdl类接口调用,intellij-idea,java,ide

 例子2:

idea wsdl生成webservice客户端,wsdl类接口调用,intellij-idea,java,ide

5.如何使用生成的代码

点击打开名字中带Test的这个类,找到你需要的方法,直接复制出来就能用

idea wsdl生成webservice客户端,wsdl类接口调用,intellij-idea,java,ide

三、直接利用Axis2调用wsdl类型接口:

好处:不用利用idea根据wsdl自动生成webService客户端代码,然后再比照着测试类调用所需方法

坏处: 1.入参需要自己进行参数的封装 ,自己封装参数有例子也不容易

2.如果需要获取调用接口的返回值,则还不会解析返回的数据,无法得到所需的参数(没解析报文的例子,自己不会写)

Axis2 调用接口示例:文章来源地址https://www.toymoban.com/news/detail-717298.html

import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMFactory;
import org.apache.axiom.om.OMNamespace;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;


public class Test {
    public static void test() {
        String userId = "123";
        String bindAccount = "123";
        RPCServiceClient serviceClient = null;

        OMFactory factory = OMAbstractFactory.getOMFactory();
        OMNamespace omDiag = factory.createOMNamespace("http://diagnosis.interfaces.axis2.osf.nort hbound.neal.cpehg.ums.zte.com", "diag");
        OMNamespace omXSD = factory.createOMNamespace("http://model.common.northbound.neal.cpehg. ums.zte.com/xsd", "xsd");

        try {
            serviceClient = new RPCServiceClient();
            Options options = serviceClient.getOptions();
// 指定调用WebService的URL
            EndpointReference targetEPR = new EndpointReference("http://10.46.60.200:9094/axis2/services/Cpe112Diag nosisWebServices?wsdl");
            options.setTo(targetEPR);
            options.setTimeOutInMilliSeconds(30000);
            options.setManageSession(true);

// 指定方法的参数值
            OMElement paramRequest = factory.createOMElement("request", omDiag);
            OMElement paramUserId = factory.createOMElement("userID", omXSD);

            paramUserId.setText(userId);
            OMElement paramBindAccount = factory.createOMElement("bindAccount", omXSD);
            paramBindAccount.setText(bindAccount);
            paramRequest.addChild(paramBindAccount);
            paramRequest.addChild(paramUserId);

            OMElement paramItemName = factory.createOMElement("itemName", omDiag);
            paramItemName.setText("cpehg.diagnosis.CpeBasicInfo");

            String method = "getParameterValuesFromDbAndCpeByItemName";

            OMElement data = factory.createOMElement(method, omXSD);
            data.setNamespace(omDiag);
            data.addChild(paramRequest);
            data.addChild(paramItemName);

            OMElement re = serviceClient.sendReceive(data);
// 处理返回数据

        } catch (AxisFault e) {
// 异常处理
            e.printStackTrace();
        } finally {

            try {
                if (serviceClient != null) serviceClient.cleanupTransport();
            } catch (AxisFault e) {

            }
        }
    }
}

到了这里,关于利用idea生成webservice客户端--详解步骤--(wsdl文件的使用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • WebService 客户端增加Header头、并且指定命名空间、添加拦截器(日志拦截器,自定义拦截器)、soap:Envelope 添加命名空间

    1.增加Header头 生成XML结果如下 2.添加拦截器 3.soap:Envelope 添加命名空间 生成XML结果如下

    2024年02月10日
    浏览(49)
  • IDEA连接客户端Apifox完整教程

    一、下载Apifox安装包 浏览器搜索Apifox官网,根据自己的操作系统下载对应的Apifox安装包,我是windows系统所以下载的是windows版。 1.1点击免费下载: 1.2下载完成后点击打开文件所在位置: 1.3解压到你的电脑中 1.4解压后找到你解压的文件夹下,看到一个Apifox的应用程序启动文件

    2024年04月09日
    浏览(44)
  • 利用Spring Boot实现客户端IP地理位置获取

    在当今互联的世界中,了解客户端的地理位置对于提供个性化服务和增强用户体验至关重要。无论是根据地区偏好定制内容,还是确保符合本地法规,访问客户端IP位置都是一项宝贵的资产。如抖音评论区、用户页都会展示用户的IP属地信息。 在本文中,我们将探讨一个Spri

    2024年02月20日
    浏览(61)
  • Android、IOS客户端RSA密钥生成

    目录 OpenSSL介绍 使用OpenSSL 生成私钥 生成公钥 生成Java和Android的私钥 创建证书请求文件 生成数字证书 生成iOS使用的公钥文件 生成iOS使用的私钥文件 关于什么是密钥、RSA加密等相关知识之前有说过,不熟悉的可以看下这个文章。 链接:公钥、私钥、对称加密、非对称加密、

    2024年02月05日
    浏览(78)
  • XSS攻击:利用Beef劫持被攻击者客户端浏览器

    实验目的:了解什么是XSS;了解XSS攻击实施,理解防御XSS攻击的方法 系统环境:Kali Linux 2、Windows Server 网络环境:交换网络结构 实验工具: Beef;AWVS(Acunetix Web Vulnarability Scanner) 实验步骤: 实验环境搭建。 角色:留言簿网站。存在XSS漏洞;(IIS或Apache、guestbook搭建) 攻击者

    2024年02月03日
    浏览(50)
  • Python实践:利用APM进行得物客户端直播间压力测试

    在本篇文章中,我们将探讨如何使用Python编写代码,利用APM(Application Performance Monitoring,应用性能监控)工具来进行得物客户端直播间的压力测试。通过这种方式,我们可以评估得物客户端在高负载情况下的性能表现,并找出潜在的性能瓶颈。 压力测试是一种评估系统在各

    2024年02月07日
    浏览(40)
  • Msquic客户端详解

    Msquic用起来还是很方便很直观的 因为微软喜欢玩句柄 所以很多对象都由如下形式提供 Tips:关于微软为啥喜欢句柄请自行百度  我们来看看github官网 微软给出的对象有哪些 下图来自Msquic github  下面这段解释来自微软github msquic/API.md at main · microsoft/msquic · GitHub 这里一起贴出

    2024年02月06日
    浏览(31)
  • 一个支持Sora模型文本生成视频的Web客户端

    大家好,我是 Java陈序员 。 最近 Open AI 又火了一把,其新推出的文本生成视频模型 —— Sora,引起了巨大的关注。 Sora 目前仅仅只是发布预告视频,还未开放出具体的 API. 今天,给大家推荐一个最近十分火热的开源项目,一个支持使用 Sora 模型将文本生成视频的 Web 客户端。

    2024年03月09日
    浏览(56)
  • kafka客户端应用参数详解

    Kafka提供了非常简单的客户端API。只需要引入一个Maven依赖即可: 1、消息发送者主流程  然后可以使用Kafka提供的Producer类,快速发送消息。 ​ 整体来说,构建Producer分为三个步骤: 设置Producer核心属性  :Producer可选的属性都可以由ProducerConfig类管理。比如ProducerConfig.BOOTST

    2024年02月07日
    浏览(54)
  • 基于ZXing.NET实现的二维码生成和识别客户端

    ZXing.Net 的一个可移植软件包,是一个开源的、多格式的1D/2D条形码图像处理库,最初是用Java实现的。已经过大量优化和改进,它已经被手动移植。它与.Net 2.0、.Net 3.5、.Net 4.x、.Net 5.x、.Net 6.x、.Net 7.x、Windows RT类库和组件、UWP、.Net Standard 1.x和2.0x、.Net Core App 3.x、Silverlight 4、

    2024年02月08日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包