IDEA利用自带Axis工具和wsdl文件反向生成服务端客户端代码图文详解

下面我来详细讲解如何利用IntelliJ IDEA自带的Axis工具和WSDL文件反向生成服务端和客户端的代码。

1. 准备工作

  • 安装IntelliJ IDEA IDE,并安装Axis2插件。
  • 准备好WSDL文件,或者通过已知的Web Service获取WSDL文件URL。

2. 设置Axis2插件

如果你还没有安装Axis2插件,可以按照如下步骤安装:

  • 打开IntelliJ IDEA,点击菜单栏的【File】,选择【Settings】。
  • 在Settings对话框中,展开【Plugins】选项,点击【Browse repositories】按钮。
  • 在搜索框中输入“Axis2”,搜索出插件后点击【Install】按钮,等待安装完成后,重启IDE。

3. 生成服务端代码

  • 打开IntellJ IDEA,创建一个新项目,选择【Java Enterprise】以及【Web Application】,点击【Next】按钮。
  • 输入项目名称,并确定项目保存路径,然后点击【Next】按钮。
  • 选择项目类型,这里选择【None】,然后点击【Finish】按钮。
  • 在项目目录下新建目录和包,分别命名为“services”和“com.example.webservice”。
  • 把WSDL文件拷贝到项目中的“services”目录下,并右键点击WSDL文件,选择“Generate Java Code from WSDL...”。
  • 在“Generate Java Code from WSDL”对话框中,勾选“Server Side”,并选择代码的输出目录,然后点击【OK】按钮。
  • 等待代码生成完毕,就可以看到在“com.example.webservice”包中生成了与WSDL文件对应的Java类。

4. 生成客户端代码

  • 同样右键点击之前拷贝到“services”目录下的WSDL文件,选择“Generate Java Code from WSDL...”。
  • 在“Generate Java Code from WSDL”对话框中,勾选“Client Side”,并选择代码的输出目录,然后点击【OK】按钮。
  • 等待代码生成完毕,就可以看到在生成的目录中生成了与WSDL文件对应的Java类。

示例一

下面以一个简单的加减乘除计算器的WebService为例,展示如何使用上述流程生成WebService的服务端和客户端代码。

首先,我们编写一个目标加减乘除的Java类:

public class Calculator {

  public int add(int a, int b) {
    return a + b;
  }

  public int subtract(int a, int b) {
    return a - b;
  }

  public int multiply(int a, int b) {
    return a * b;
  }

  public int divide(int a, int b) {
    return a / b;
  }
}

然后,我们通过以下步骤生成服务端和客户端代码:

  1. 编写对应的WSDL文件,例如http://localhost:8080/calculator?WSDL
  2. 添加以上的Java类,把其声明为WebService,如下:
@WebService
public class Calculator {
  // ...
}
  1. 右键WSDL文件,选择“Generate Java Code from WSDL...”,勾选“Server Side”,然后选择对应的输出目录,点击【OK】,等待代码生成完毕即可在指定的目录中看到对应的Java类。
  2. 右键WSDL文件,选择“Generate Java Code from WSDL...”,勾选“Client Side”,然后选择对应的输出目录,点击【OK】,等待代码生成完毕即可在指定的目录中看到对应的Java类。

示例二

下面是另一个示例,介绍如何使用Axis2插件来生成服务端和客户端的代码。

假设有一个提供添加用户信息的WebService,其WSDL文件的URL为http://localhost:8080/web-service/user?WSDL,我们可以通过以下步骤来生成相应的Java类:

  1. 打开IntelliJ IDEA,创建一个新项目,命名为“user-web-service”。
  2. 在“src/main”目录下创建Java Package,命名为“com.example.webservice”。
  3. 在“com.example.webservice”包下,实现添加用户信息的WebService,并添加相应的注解,如下:
@WebService
public class UserService {

  public User addUser(User user) {
    // ...添加用户信息的代码
  }
}
  1. 把该Java文件打包成jar包,命名为“user-ws.jar”。
  2. 在项目中添加Axis2插件,具体步骤请参考上面"2. 设置Axis2插件"中的步骤。
  3. 把“user-ws.jar”上传到项目中,命名路径为“services/user-ws.jar”。
  4. 在“services”目录下,使用以下命令行启动Axis2服务器:
java -cp /path/to/axis2-1.x/lib/*:services/user-ws.jar org.apache.axis2.transport.http.SimpleHTTPServer 8080
  1. 访问http://localhost:8080/axis2/,并点击左侧菜单栏中的“Services”,可以看到添加用户的WebService已经被发布出来。
  2. 右键WSDL文件,选择“Generate Java Code from WSDL...”,勾选“Server Side”,然后选择对应的输出目录,点击【OK】,等待代码生成完毕即可在指定的目录中看到对应的Java类。
  3. 右键WSDL文件,选择“Generate Java Code from WSDL...”,勾选“Client Side”,然后选择对应的输出目录,点击【OK】,等待代码生成完毕即可在指定的目录中看到对应的Java类。

到此为止,我们已经完成了使用IntelliJ IDEA自带的Axis工具和WSDL文件反向生成服务端和客户端代码的过程。通过以上两个示例,相信大家已经掌握了这一过程的具体操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:IDEA利用自带Axis工具和wsdl文件反向生成服务端客户端代码图文详解 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • Go中的应用配置管理详解

    Go中的应用配置管理详解 应用程序的配置是指应用程序在工作时所需要的各项参数或属性,如服务端口、数据库连接地址等等。在 Go 语言中,我们通常会使用不同种类的配置管理方式对应用程序进行配置。下面我们将详细讨论 Go 中的应用配置管理及其使用方法。 常见的配置管理方式 1. 命令行参数 命令行参数是传递配置值的最简单方式之一。在 Go 语言中我们可以使用标准库…

    other 2023年6月25日
    00
  • 基于spring同名bean覆盖问题的解决

    一、背景 在Spring IoC容器中,如果存在多个同名的bean,那么Spring IoC容器将会选择其中一个作为该类型的bean。但是,有时候我们需要覆盖和替换这些同名的bean。例如,我们可能需要在测试环境中使用一个模拟的bean,而在生产环境中使用真正的bean。本攻略将解决这个覆盖问题。 二、基于spring同名bean覆盖问题的解决方案 使用@P…

    other 2023年6月26日
    00
  • 8款不错的ci/cd工具

    以下是详细讲解“8款不错的CI/CD工具的完整攻略,过程中至少包含两条示例说明”的标准Markdown格式文本: 8款不错的CI/CD工具 CI/CD是指持续集成和持续交付,是现代软件开发中的重要环节。以下是8款不错的CI/CD工具,包括特点、用法和示例。 1. Jenkins Jenkins是一款开源的CI/CD工具,它支持种编程语言和操作系统。以下是Je…

    other 2023年5月10日
    00
  • vxlan协议详解

    VXLAN协议详解 VXLAN(Virtual Extensible LAN)是一种网络虚拟化技术,用于在数据中心网络中扩展虚拟局域网(VLAN)数量。它通过在现有网络基础设施上创建一个逻辑网络层,将虚拟机(VM)和容器连接到虚拟网络中。本攻略中,我们将介绍VXLAN协议的细节,并提供两个示例。 VXLAN协议 VXLAN协议是一种基于UDP的封协议,用于在…

    other 2023年5月7日
    00
  • BAT批处理之文件与文件夹操作代码(附xcopy命令详解)

    下面是“BAT批处理之文件与文件夹操作代码(附xcopy命令详解)”的完整攻略。 一、 BAT批处理简介 BAT批处理是一种自动化任务处理的脚本语言,可以用于一次性执行多个命令,实现批量操作,提高工作效率。在Windows操作系统中,我们可以通过编写BAT批处理脚本来实现自动化执行一些任务,如复制、移动、删除文件等操作。 二、 文件与文件夹操作代码 1. 创…

    other 2023年6月26日
    00
  • @Valid注解的作用及@Valid注解与@Validated的区别

    @Valid注解的作用及@Valid注解与@Validated的区别 @Valid注解的作用 @Valid注解是Java Bean Validation(JSR 380)规范中的一部分,用于在方法参数、方法返回值、字段和方法级别上进行数据校验。它的作用是告诉验证框架对被注解的目标进行校验。 当使用@Valid注解时,验证框架会自动根据目标对象的注解配置进行校…

    other 2023年7月28日
    00
  • springboot项目监控开发小用例(实例分析)

    Spring Boot项目监控开发小用例(实例分析) 简介 在开发和运维过程中,对于Spring Boot项目的监控是非常重要的。通过监控,我们可以实时了解项目的运行状态、性能指标和异常情况,从而及时采取措施进行优化和故障处理。本文将详细介绍如何在Spring Boot项目中添加监控功能,并提供两个示例说明。 步骤 步骤一:添加依赖 首先,在Spring B…

    other 2023年7月27日
    00
  • iOS11 beta3固件下载 苹果iOS11开发者预览版Beta3固件下载地址大全

    以下是“iOS11 beta3固件下载”完整攻略的详细讲解。 iOS11 beta3固件下载攻略 什么是iOS11 beta3固件? iOS11 beta3固件是苹果公司为开发者提供的iOS11系统预览版,旨在让开发者在最新系统环境中开发和测试iOS应用程序。 如何申请iOS11 beta3固件? 首先,你需要成为苹果开发者计划成员,访问开发者网站,通过Ap…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部