Java WebService实战教程:从入门到精通

5星 · 超过95%的资源 需积分: 9 9 下载量 125 浏览量 更新于2024-09-11 收藏 527KB DOC 举报
"Java WebService 入门实例" 在IT领域,Java WebService是一种基于标准的、平台无关的通信方式,允许不同的应用系统之间进行互操作。本实例将引导初学者了解Java WebService的基本概念、工作原理以及如何创建和发布一个简单的WebService。 1. WebService工作原理 - SOAP WebService主要通过简单对象访问协议(SOAP)来交换数据。当客户端需要调用一个WebService的方法时,它会将方法名和所需参数封装成一个符合SOAP规范的XML消息,然后通过HTTP协议发送到服务端。服务端接收到这个XML请求后,解析其中的方法名和参数,执行相应的业务逻辑,最后将返回的结果也封装成SOAP响应的XML消息,再次通过HTTP回传给客户端。客户端接收到响应后,再对XML进行解析,从而获取到方法执行的结果。 2. WebService实现 创建Java WebService主要包括以下步骤: - 创建WebService项目:在IDE如Eclipse或IntelliJ IDEA中,可以创建一个新的Java项目,并配置相关的Web服务支持。 - 编写WebService类:使用Java注解`@WebService`标记类为WebService,`@WebMethod`标记服务的方法。例如: ```java package service; import javax.jws.WebMethod; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public class Hello { @WebMethod(operationName = "sayHello1") public String sayHello(String userName) { return "Hello, " + userName + "!"; } @WebMethod(operationName = "sayHello2") public String sayHello() { return "HelloWorld!"; } public static void main(String[] args) { // 将WebService发布到指定地址 Endpoint.publish("http://192.168.24.170:8888/WebServiceTest/Hello", new Hello()); } } ``` 在这个例子中,我们创建了一个名为`Hello`的类,包含了两个方法`sayHello1`和`sayHello2`,分别对应不同的操作。`main`方法用于发布这个WebService到指定的URL。 - 发布WebService:在`main`方法中,通过`Endpoint.publish()`将WebService实例绑定到一个网络地址,使得客户端可以通过这个地址来调用服务。 3. 使用WSDL(Web Service Description Language) WebService通常还会有一个WSDL文件,它是服务的接口定义,包含了服务的地址、方法、输入输出参数等信息。Java WebService可以通过JAX-WS(Java API for XML Web Services)自动生成WSDL文件。 4. 客户端调用 客户端调用WebService时,可以使用SOAP客户端库,如JAX-WS的`javax.xml.ws.Service`类,或者使用HTTP库如Apache HttpClient,解析并构造SOAP请求,然后发送到服务端的URL。服务端处理请求并返回响应后,客户端解析响应的XML,提取出结果。 Java WebService是通过SOAP协议和HTTP传输层实现跨平台的通信,允许不同系统间的无缝交互。理解其工作原理和实现方式,对于开发分布式应用和构建企业级系统具有重要意义。
2015-11-10 上传
Java WebService 简单实例 http://blog.csdn.net/kingmax54212008/article/details/49764401 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要的重复操作。 一、准备工作(以下为本实例使用工具) 1、MyEclipse10.7.1 2、JDK 1.6.0_22 二、创建服务端 1、创建【Web Service Project】,命名为【TheService】。 2、创建【Class】类,命名为【ServiceHello】,位于【com.hyan.service】包下。 3、编写供客户端调用的方法,即编译方法代码。 4、进行编译 说明:编译失败的话,请将该项目引用的jdk设置为1.6.0_17版本或更高版本 5、测试结果 测试地址:http://localhost:9001/Service/ServiceHello?wsdl 三、生成客户端 1、创建【Web Service Project】,命名为【TheClient】。 2、命令提示窗口执行生成命令。 格式:wsimport -s "src目录" -p “生成类所在包名” -keep “wsdl发布地址” 示例: wsimport -s G:\\workspace\\webService\\TheClient\\src -p com.hyan.client -keep http://localhost:9001/Service/ServiceHello?wsdl 说明: 1)"src目录"地址不可含空格 2)“wsdl发布地址”不要漏了“?wsdl” 3、刷新项目,检查生成类 四、最终测试 1、创建【Class】类,命名为【ServiceTest】,位于【com.hyan.test】包下。 2、编写测试方法,调用服务端方法,并打印返回的结果。 五、注意事项 1、JDK版本过低问题 报类似如下的异常:runtime modeler error: Wrapper class com.hyan.service.jaxws.GetValue is not found. Have you run APT to generate them? 原因:JDK版本低于1.6.0_17 解决方法:调整该服务端项目所引用的JDK版本为安装的高版本JDK