在Eclipse上使用JAX-WS创建Web Service(上)
1.Web Service概述
从概念上讲,服务是通过网络可访问端点提供的软件组件。
从技术上讲,Web服务可以以多种方式实现。
如万维网联盟(W3C)所述,Web服务提供了在各种平台和框架上运行的软件应用程序之间进行互操作的标准方法。
关于Web服务的几个概念:
- HTTP
- XML
- WSDL
- SOAP
XML代表可扩展标记语言(eXtensible Markup Language),它用于存储和传输数据。
WSDL和SOAP都是用XML编写的文档。
WSDL,全称Web Services Description Language。WSDL用于描述Web服务。
SOAP,全称Simple Object Access Protocol,即简单对象访问协议。
注:这里的Web服务就是Web Service。
2.使用JAX-WS
package webServiceDemo;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public class Hello {
private String message = new String("Hello, ");
public Hello() {
}
@WebMethod
public String sayHello(String name) {
return message + name + ".";
}
}
使用注解@WebService
标注的Java类是Web service endpoint。
使用注解@WebMethod
标注的方法是Web service公开的方法。
注意到@WebService
是Java运行时里面的东西,所以不需要导入额外的jar包。
接下来就是考虑怎么部署服务了。
package webServiceDemo;
import javax.xml.ws.Endpoint;
public class PublishWebService {
public static void main(String[] args) {
String address = "http://localhost:8082/hello-world/Hello";
Endpoint.publish(address, new Hello());
System.out.println("发布Web service成功!");
}
}
3.在Eclipse上测试Web Service
在浏览器打开WSDL文档:
小结:
- WSDL文档用于描述Web Service。
- 向Web Service发起请求,实质上是向Web Service发送SOAP消息。
- 获取Web Service的响应,实质上是获取Web Service返回的SOAP消息。
参考: