1. WebService简介
Web Service——也叫XML Web Service WebService,是一种跨编程语言和跨操作系统平台的远程调用技术。
各个应用程序之间的交流就需要Web Service来作为相互交流的桥梁。
所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用其他编程语言编写,反之亦然!跨操作系统平台则是指服务端程序和客户端程序可以在不同的操作系统上运行。
所谓远程调用,就是一台计算机a上的一个程序可以调用到另外一台计算机b上的一个对象的方法,把自己的系统服务以Web Service服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能
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平台的三大技术。
Web Service开发可以分客户端和服务端
2. 具体操作
JDK实现WebService
服务端
(1)建一个接口,创建方法 注意:不要把类名和webservice相同
@WebService//使用@WebService注解标注WebServiceI接口
public interface WebServiceD {
@WebMethod //使用WebMethod注解标注WebService接口中的方法
public String write(String name) ;
}
(2)编写WebServiceD接口的实现类WebServiceImpl,使用@WebService注解标注实现类
@WebService
public class WebServiceImpl implements WebServiceD{
@Override
public String write(String name) {
return name +"的日志:webservice 第一次课是戴哥教的,挺好的";
}
}
(3)写发布类WebServicePublish,使用Endponit(终端)类发布WebService//IP地址是本机动态地址
String address = "http://192.168.43.186:6666/webService/demo";
Endpoint.publish(address, new WebServiceImpl());
System.out.println("success");
(4)使用Eclipse自带的工具测试服务端
http://192.168.43.186:6666/webService/demo?wsdl
注意IP地址
客户端
(1)创建终端工程,主要用来实现接收服务端的暴露。
(2)找到客户端源代码路径,
使用命令进行解析
wsimport -keep http://192.168.43.186:6666/webService/demo?wsdl 注意这个写自己的ip地址
建议:在src中右击操作输入命令,让产生的文件都生成在src中。(快捷键:shift加鼠标右键)
(3)创建Test.java测试类,在main方法中:
WebServiceImplService ws = new WebServiceImplService();
WebServiceImpl wp = ws.getWebServiceImplPort();
String str = wp.write("liujiayi");
System.out.println(str);