WebService专题(二)-WebService原理

1.WebService原理

  • Webservice是使用Http发送SOAP协议的数据的一种远程调用技术
  • Webservice要开发服务端
  • Webservice要开发客户端
  • Webservice客户端开发需要阅读服务端的使用说明书(WSDL)
    在这里插入图片描述

2.WebService模拟

  • 服务器端
public class WeatherServer {

	public static void main(String[] args) throws Exception {
		
		Map<String, String> map=new HashMap<String, String>();
		map.put("北京", "天气晴");
		map.put("成都", "小雨");
		map.put("深圳", "阴天");
		
		//创建Socket
		ServerSocket serverSocket=new ServerSocket(8888);
		System.out.println("服务器端开始启动...监听端口:8888");
		while(true){
			//接收客户端的请求,accept为阻塞方法
			Socket socket=serverSocket.accept();
			//接收客户端数据
			DataInputStream inputStream=new DataInputStream(socket.getInputStream());
			//响应客户端数据
			DataOutputStream outputStream=new DataOutputStream(socket.getOutputStream());
			String city = inputStream.readUTF();
			System.out.println("正在查询城市数据:"+city);
			String result=map.get(city);
			outputStream.writeUTF(result);
		}
	}
}
  • 客户端程序
public class WeatherClient {

	public static void main(String[] args) throws Exception {
			Scanner input=new Scanner(System.in);
			System.out.print("请输入要查询的城市:");
			String city = input.next();

			Socket socket=new Socket("127.0.0.1",8888);
			//发送数据到服务器
			DataOutputStream outputStream=new DataOutputStream(socket.getOutputStream());
			//接收服务器发送的数据
			DataInputStream inputStream=new DataInputStream(socket.getInputStream());
			outputStream.writeUTF(city);
			//readUTF也是一个阻塞的方法,输出查询结果
			String result = inputStream.readUTF();
			System.out.println("查询结果:"+result);
	}
}

总结:webservice的底层原理,就是socket

3.WebService中的几个重要术语

3.1.WSDL(Web service definition languag)

直译 : WebService定义语言

  • 对应一种类型的文件.wsdl (告诉客户端如何调用接口)
  • 定义了web service的服务器端与客户端应用交互传递请求和响应数据的格式和方式
  • 一个web service对应一个唯一的wsdl文档
3.2.SOAP(simple object access protocal)

直译: 简单对象访问协议
1.是一种简单的、基于HTTP和XML的协议, 用于在WEB上交换结构化的数据
2.soap消息:请求消息和响应消息
3.http+xml片断
SOAP协议 = HTTP协议 + XML数据格式

SOAP1.1和SOAP1.2区别

3.3.UDDI(Universal Description, Discovery and Integration)

UUDI:目录服务
UDDI:Universal Description, Discovery and Integration.可译为"通用描述,发现与集成服务"。 服务目录检索

企业可以使用它对 Web services 进行注册和搜索.

企业将自己提供的Web Service注册在UDDI,也可以使用别的企业在UDDI注册的web service服务,从而达到资源共享。UDDI旨在将全球的webservcie资源进行共享,促进全球经济合作。

  • UDDI现状:
    目前大部分企业使用webservice并不是必须使用UDDI,因为用户通过WSDL知道了web service的地址,可以直接通过WSDL调用webservice。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

熊猫-IT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值