【WebService】的入门程序和四种调用方式详解

本文介绍了WebService的基本概念,强调其作为远程调用技术的角色,讲解了其在软件集成和复用中的应用。详细阐述了WebService的三要素——WSDL、SOAP和UUID,并提供了入门程序和四种客户端调用方式的概述。
摘要由CSDN通过智能技术生成

WebService就是一种远程调用技术,它的作用就是从远程系统中获取业务数据。

  1. 什么是WebService
    远程调用数据定义:是系统和系统之间的调用
    这里写图片描述
    WebService的原理图:WebService是使用Http发送SOAP协议的数据的一种远程调用技术,需要开发服务端和客户端,客户端开发需要阅读服务端的使用说明书(WSDL)
    这里写图片描述

  2. WebService的应用场景
    软件集成和复用:
    这里写图片描述
    适用场景:1)发布一个服务(对内/对外),不考虑客户端类型,不考考虑性能,建议使用WebService。2)服务端已经确定使用webservice,客户端不能选择,必须使用webservice。
    不适用场景:1)考虑性能时,不建议使用webservice。2)同构程序下不建议使用webservice,比如java用RMI,不需要翻译成XML的数据。

  3. WebService的三要素
    1)WSDL
    定义:web服务描述语言,是webservice服务端使用说明书,说明服务端接口、方法、参数、返回值,WSDL是随服务发布成功,自动生成,无需编写。
    文档结构:
    这里写图片描述
    -service:服务视图,webservice的服务节点,它包括了服务端点
    -binding:为每个服务端点定义消息格式和协议细节
    -portType:服务端点,描述webservice可被执行的操作方法,以及相关的消息,通过bingding指向portType
    -message:定义一个操作(方法)的数据参数(可有多个参数)
    -types:定义webservice使用的全部数据类型
    阅读方式:从下往上
    这里写图片描述
    2)SOAP
    定义:简单对象访问协议,是使用http发送的XML格式数据,它可以跨平台,跨防火墙,SOAP不是webservice的专有协议,SOAP=http+xml。
    这里写图片描述
    协议格式:1)必需有Envelope元素,此元素将整个XML文档标识为一条SOAP消息。2)可选的Header元素,包含头部信息。3)必需有Body元素,包含所有的调用和响应信息。

                        -*-SOAP1.1
###请求
POST /weather HTTP/1.1
Accept: text/xml, multipart/related
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://ws.jaxws.ws.cn/WeatherInterfaceImpl/queryWeatherRequest"
User-Agent: JAX-WS RI 2.2.4-b01
Host: 127.0.0.1:54321
Connection: keep-alive
Content-Length: 214
<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body><ns2:queryWeather xmlns:ns2="http://ws.jaxws.ws.cn/"><arg0>北京</arg0></ns2:queryWeather>
</S:Body>
</S:Envelope>

###响应
HTTP/1.1 200 OK
Transfer-encoding: chunked
Content-type: text/xml; charset=utf-8
Date: Thu, 26 Nov 2015 03:14:29 GMT
<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:queryWeatherResponse xmlns:ns2="http://ws.jaxws.ws.cn/"><return></return></ns2:queryWeatherResponse>
</S:Body>
</S:Envelope>
                        -*-SOAP1.2
###请求
POST /weather HTTP/1.1
Accept: application/soap+xml, multipart/related
Content-Type: application/soap+xml; charset=utf-8;
action="http://ws.jaxws.ws.cn/WeatherInterfaceImpl/queryWeatherRequest"
User-Agent: JAX-WS RI 2.2.4-b01
Host: 127.0.0.1:54321
Connection: keep-alive
Content-Length: 212
<?xml version="1.0" ?>
<S:Envelope xmlns:S=
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值