下面我来详细讲解如何利用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;
}
}
然后,我们通过以下步骤生成服务端和客户端代码:
- 编写对应的WSDL文件,例如
http://localhost:8080/calculator?WSDL
。 - 添加以上的Java类,把其声明为WebService,如下:
@WebService
public class Calculator {
// ...
}
- 右键WSDL文件,选择“Generate Java Code from WSDL...”,勾选“Server Side”,然后选择对应的输出目录,点击【OK】,等待代码生成完毕即可在指定的目录中看到对应的Java类。
- 右键WSDL文件,选择“Generate Java Code from WSDL...”,勾选“Client Side”,然后选择对应的输出目录,点击【OK】,等待代码生成完毕即可在指定的目录中看到对应的Java类。
示例二
下面是另一个示例,介绍如何使用Axis2插件来生成服务端和客户端的代码。
假设有一个提供添加用户信息的WebService,其WSDL文件的URL为http://localhost:8080/web-service/user?WSDL
,我们可以通过以下步骤来生成相应的Java类:
- 打开IntelliJ IDEA,创建一个新项目,命名为“user-web-service”。
- 在“src/main”目录下创建Java Package,命名为“com.example.webservice”。
- 在“com.example.webservice”包下,实现添加用户信息的WebService,并添加相应的注解,如下:
@WebService
public class UserService {
public User addUser(User user) {
// ...添加用户信息的代码
}
}
- 把该Java文件打包成jar包,命名为“user-ws.jar”。
- 在项目中添加Axis2插件,具体步骤请参考上面"2. 设置Axis2插件"中的步骤。
- 把“user-ws.jar”上传到项目中,命名路径为“services/user-ws.jar”。
- 在“services”目录下,使用以下命令行启动Axis2服务器:
java -cp /path/to/axis2-1.x/lib/*:services/user-ws.jar org.apache.axis2.transport.http.SimpleHTTPServer 8080
- 访问
http://localhost:8080/axis2/
,并点击左侧菜单栏中的“Services”,可以看到添加用户的WebService已经被发布出来。 - 右键WSDL文件,选择“Generate Java Code from WSDL...”,勾选“Server Side”,然后选择对应的输出目录,点击【OK】,等待代码生成完毕即可在指定的目录中看到对应的Java类。
- 右键WSDL文件,选择“Generate Java Code from WSDL...”,勾选“Client Side”,然后选择对应的输出目录,点击【OK】,等待代码生成完毕即可在指定的目录中看到对应的Java类。
到此为止,我们已经完成了使用IntelliJ IDEA自带的Axis工具和WSDL文件反向生成服务端和客户端代码的过程。通过以上两个示例,相信大家已经掌握了这一过程的具体操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:IDEA利用自带Axis工具和wsdl文件反向生成服务端客户端代码图文详解 - Python技术站