1.简介
Web Service——也叫XML Web Service WebService,是一种跨编程语言和跨操作系统平台的远程调用技术。各个应用程序之间的交流就需要Web Service来作为相互交流的桥梁。
Web Service:是通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。
XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。
Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。
WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。
XML+XSD、SOAP和WSDL就是构成WebService平台的三大技术。
2. JDK实现WebService
(1)建一个接口Person,创建方法
@WebService //使用@WebService注解标注WebServiceI接口
public interface WebServiceI{
@WebMethod //使用WebMethod注解标注WebService接口中的方法
public String say(String what);
}
(2)编写WebServiceI接口的实现类WebServiceImpl,使用@WebService注解标注实现类
@WebService
public class PersonImpl implements WebServiceI{
@Override
public String say(String what){
System.out.println("服务端:"+what);
return "正在说"+what;
}
}
(3)写发布类WebServicePublish,使用Endponit(终端)类发布WebService
String address = "http://192.168.89.1:9999/WebService/webDemo?wsdl";
//IP地址是本机动态地址
Endpoint.publish(address, new WebServiceImpl());
System.out.println("服务端发布WebService成功....");
(4)使用Eclipse自带的工具测试服务端
http://192.168.89.1:9999/WebService/webDemo?wsdl
注意IP地址
注: 在使用Eclipes再带工具时可能会碰到如下图问题
3.客户端
(1)创建终端工程,主要用来实现接收服务端的暴露。
(2)找到客户端源代码路径,
使用命令进行解析
wsimport -keep http://192.168.89.1:9999/WebService/webDemo?wsdl
注:在存放Eclipes文件的目录下,找到本项目,打开并在src中按Shift键然后点击右键操作输入命令
让解析的文件都生成在src中(如下图),之后在Eclipes中刷新即可
(3)创建Test.java测试类