图解什么是WebService服务
1、Soap
SOAP(Simple Object Access Protocol,简单对象访问协议)是一个基于xml的协议,用于在分步的应用程序都可以识别。另外,SOAP本身没有定义任何程序语言,这使得SOAP能够以消息的形式传递到各种远程系统中。
SOAP所使用的传输协议,可以是HTTP,SMTP,POP3,JMS。
SOAP包括了4部分:
01.“SOAP封装(Envelope)”:
定义一个描述信息描述的内容是什么,是谁发送的,谁应当处理他,以及如何处理他们的框架。
02.“SOAP编码规则”:
用于表示应用程序需要使用的数据类型的实例。
03.“SOAP RPC":
表示远程过程中调用和应答的协定。
04.“SOPA绑定”:
使用底层协议交换信息。
2、WSDL
WSDL(Web Service Description Language,web服务描述语言)是一个XML文档,他以一种和具体语言无关的抽象方式定义了给定web服务收发者的有关操作和消息。
3、UDDI
UDDI(Universal Description Discovery and Integration,统一描述发现和集成协议)是一个规范,定义了与web服务相关的信息的发布,发现和管理。
1、JSX—WS(Java API for XML Web Service)。他是用来简化使用java构造web服务和web服务客户端的工作的技术。
1、Web服务的用途如下图所示:
2、在地址栏输入URL,http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl,如下图所示:
3、通过Java代码实现
打开cmd命令:------》cd\到c盘根目录------》wsimport -s . http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl。并在C盘根目录下生成一系列java类。并运用到项目中,进行测试,如下图所示:
4、测试类代码如下:
public class MyTest {
public static void main(String[] args) {
MobileCodeWS ws=new MobileCodeWS();
MobileCodeWSSoap soap=ws.getMobileCodeWSSoap();
String address=soap.getMobileCodeInfo("13225788", "");
System.out.println(address);
}
}
5、使用JAX-WS发布服务
①定义服务器类以及方法[HelloService]
使用@WebService注解,标识一个java类或一个接口作为一个服务。
/*
* @WebService注解,标识一个java类或一个接口作为一个服务,一旦被标注@WebService,他就不是一个普通的
* 接口,他被称作服务端点接口(Service Endpoint Interface)
*/
@WebService
public class HelloService {
public void say(String name) {
System.out.println("hello" + name);
}
public static void main(String[] args) {
Endpoint.publish("http://192.168.0.2:40000/hello", new HelloService());
System.out.println("server is listening...");
}
}
服务正在监听,如下图所示:
6、在浏览器中测试,如下图所示:
7、② 同理 cmd命令解析该文档的类或方法[客户端],如下图所示:
8、新建一个工程,运用这些类,进行测试,如下图所示:
9、 MyTest测试类:
public class MyTest {
public static void main(String[] args) {
HelloServiceService service=new HelloServiceService();
HelloService hs = service.getHelloServicePort();
hs.say("逗比");
}
}