Java WebService 是一种基于 Web 的远程调用技术,允许不同的应用程序通过互联网相互通信以完成特定的业务功能。本文将介绍如何快速入门 Java WebService,并提供一个简单的实例程序。
准备工作
在开始编写 WebService 之前,需要先准备好以下环境和工具:
- JDK:Java 开发环境
- Eclipse:Java 开发工具
- Tomcat:Java Web 应用服务器
- Apache Axis:用于生成 WebService
创建 WebService
- 在 Eclipse 中创建一个新的 Java Web 项目,创建一个新的包 com.example.webservice。
- 在该包下创建一个新的 Java 类 HelloWebService,添加如下代码:
package com.example.webservice;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public class HelloWebService {
@WebMethod
public String sayHello(String name) {
return "Hello, " + name + "!";
}
}
- 这里我们使用了 javax.jws.WebService 标识这是一个 WebService,并使用 javax.jws.WebMethod 标识了该方法是被 WebService 导出的。
发布 WebService
- 下载 Apache Axis,解压到本地目录,打开 Axis2 的 bin 目录。
- 运行以下命令创建 HelloWebService 的 WebService:
.\wsdl2java.bat -uri http://localhost:8080/HelloWebService/services/HelloWebService?wsdl -p com.example.webservice
- 运行以下命令打包 WebService:
.\buildWebService.bat com.example.webservice.HelloWebService
- 将生成的 HelloWebService.aar 文件复制到 Tomcat 的 webapps 目录下,并启动 Tomcat。
调用 WebService
- 在浏览器中访问 http://localhost:8080/axis2/,点击「validate」,确保发布成功。
- 在浏览器中访问 http://localhost:8080/HelloWebService/services/HelloWebService?wsdl,可以看到 WebService 的 WSDL 文档。
- 在 Eclipse 中创建一个新的 Java 项目,创建一个新的包 com.example.client,并添加以下代码:
package com.example.client;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import com.example.webservice.HelloWebService;
public class HelloWebServiceClient {
public static void main(String[] args) throws Exception {
URL url = new URL("http://localhost:8080/HelloWebService/services/HelloWebService?wsdl");
QName qname = new QName("http://webservice.example.com/", "HelloWebServiceService");
Service service = Service.create(url, qname);
HelloWebService hello = service.getPort(HelloWebService.class);
System.out.println(hello.sayHello("World"));
}
}
- 运行该程序,控制台输出「Hello, World!」
总结
在本文中,我们使用 Eclipse 和 Apache Axis 快速创建并发布了一个简单的 Java WebService,并通过 Java 代码调用了该 WebService,完成了基本的远程调用功能。此外,本文还提供了一个完整的示例程序。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java WebService 简单实例(附实例代码) - Python技术站