了解WEB服务现在web服务在互联网应用中发挥着重要作用。现在让我们花一些时间简单的介绍web服务。web服务中加强专业知识了解HTML和XML标记语言很重要,因为通过这些web服务创建和实现语言。一、Web服务是什么?Web服务是Web组件,在客户机和服务器之间传输数据。客户端发送一个web请求到服务器,服务器响应客户端。这种反应将基于web服务请求类型不同。二、SoapUIWeb服务:1.SoapUI是专为验证web服务让我们来看一个例子:股票的航班预订应用程序,运行城市到城市访问1和2预订车票。用户输入所有信息,如寄宿点,目的地,旅行日期等,然后提交”按钮被单击时,城市1中的web服务调用,它将输入的所有信息传递给应用程序服务器,处理用户请求。预订应用程序将发送一个响应用户的请求。大多数的网上支付交易处理通过web服务,通过该方法提供了加强的安全处理。一个输入参数将被发送到支付网关网站,随后将被处理。关于付款确认将被发送到客户端最终状态。所有这些活动都可以通过SoapUI请求和响应。SoapUI有助于我们评估这些web服务。2.web服务的重要组成部分1.WSDL(WebServicesDescriptionLanguage)---------Web服务描述语言;2.SOAP(Simpleobjectaccessprotocol)----------简单对象访问协议;3.UDDI(UniversalDescriptionDiscoveryandIntegration)-----------通用描述、发现和集成;4.RDF(ResourceDescriptionFramework)-------------资源描述框架.三、WSDL(Web服务描述语言):WSDL是一个文档,应该使用XML编写的。本文档描述了web服务的详细信息如下:1.web服务的起源2.标题信息;3.接口方式/类型;4.输入和输出消息。下面的信息表示为一个标签在WSDL文件中,如:types–XMLSchemadatatypesmessage–theactualrequestandresponsedatabeingcommunicatedportType–thetarget/endpointswheretheactualwebserviceishostedtoperformtheoperationbinding–theprotocolinformationisgivenforthedataformatdefinitions–theparenttagfortheabovementionedtags注释:1.类型-数据类型2.信息-实际的请求和响应数据交流3.接口类型-目标/结束点实际的web服务托管执行操作4.约束-协议信息给出的数据格式5.定义-父标记上标签1.示例WSDL文件:您的WSDL文件应该遵循W3C标准。通过web服务我们可以转换为基于web的应用程序。构造Web服务的XML、HTTP、TCP/IP、Java、HTML等等。由于web服务是基于XML的语言,这样我们可以有这些应用程序本地,分布式和基于web环境。2.WSDL的作用:验证使用SoapUIweb服务是容易的,只可能与WSDL文档来配置web服务在SoapUI,WSDL文档是强制性的。如果WSDL文档无效,SoapUI将立即抛出一个异常。现在让我们看看UDDI组件。四、UDDI(通用描述,发现和集成)这是一个全球性的库,我们可以搜索web服务分布在世界各地。为了得到或搜索web服务访问网站。在这里你也可以注册自己的web服务,使其向全球用户提供。UDDI是WSDL描述的地方。这将通过SOAP协议进行通信,后来在本教程中。例如说,如果你想宣传你的产品到全球客户可以创建一个web服务和主机通过UDDI。现在可以访问全球用户和从那里可以建立业务。五、SOAP(简单对象访问协议)一般情况下,它使用基于XML的数据与web应用程序进行交互。这里有一些点要记住:1.SOAP是语言和平台独立,因为它是通过使用XML编写的。2.它创造了平台与应用程序通信运行在不同的操作系统使用不同的技术。3.大部分的互联网应用程序相互作用,在远程过程调用使用DCOM(分布式组件)和CORBA(公共代理体系结构)。4.这些技术都不同于HTTP。RPC(远程过程调用)有时会被防火墙和代理服务器。为了克服这些问题,SOAP设计。有一些标准规则时要遵守构建SOAP请求。1.看看示例SOAP文档。正如你所看到的,一个SOAP文档必须包含以下元素:1.信封元素是最重要的标签,标识作为SOAP消息的XML文档。2.其次是信封元素,你看到的头元素头信息。3.正文元素指定调用和响应信息。4.最后,你有一个错误元素包含错误和状态信息。上述元素应该使用默认名称空间声明的SOAP信封。一般来说,协议是一组标准的规则,两个地区之间传输数据在互联网web服务。有许多互联网应用中使用的协议。,传输控制协议(TCP),作为一个数据包在两个连接。互联网协议(IP)两个目的地之间发送和接收的消息。2.一些重要的协议:1.1超文本传输协议http1.1.1HTTP协议详解之URL篇http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。HTTPURL(URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息)的格式如下:[:port][abs_path]http表示要通过HTTP协议来定位网络资源;host表示合法的Internet主机域名或者IP地址;port指定一个端口号,为空则使用缺省端口80;abs_path指定请求资源的URI;如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成。eg:1、输入:浏览器自动转换成:、http:192.168.0.116:8080/index.jsp1.1.2HTTP协议详解之请求篇http请求由三部分组成,分别是:请求行、消息报头、请求正文1、请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下:MethodRequest-URIHTTP-VersionCRLF其中Method表示请求方法;Request-URI是一个统一资源标识符;HTTP-Version表示请求的HTTP协议版本;CRLF表示回车和换行(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符)。请求方法(所有方法全为大写)有多种,各个方法的解释如下:GET请求获取Request-URI所标识的资源POST在Request-URI所标识的资源后附加新的数据HEAD请求获取由Request-URI所标识的资源的响应消息报头PUT请求服务器存储一个资源,并用Request-URI作为其标识DELETE请求服务器删除Request-URI所标识的资源TRACE请求服务器回送收到的请求信息,主要用于测试或诊断CONNECT保留将来使用OPTIONS请求查询服务器的性能,或者查询与资源相关的选项和需求应用举例:GET方法:在浏览器的地址栏中输入网址的方式访问网页时,浏览器采用GET方法向服务器获取资源,eg:GET/form.htmlHTTP/1.1(CRLF)POST方法要求被请求服务器接受附在请求后面的数据,常用于提交表单。eg:POST/reg.jspHTTP/(CRLF)Accept:image/gif,image/x-xbit,...(CRLF)...HOST:(CRLF)Content-Length:22(CRLF)Connection:Keep-Alive(CRLF)Cache-Control:no-cache(CRLF)(CRLF)//该CRLF表示消息报头已经结束,在此之前为消息报头user=jeffrey&pwd=1234//此行以下为提交的数据HEAD方法与GET方法几乎是一样的,对于HEAD请求的回应部分来说,它的HTTP头部中包含的信息与通过GET请求所得到的信息是相同的。利用这个方法,不必传输整个资源内容,就可以得到Request-URI所标识的资源的信息。该方法常用于测试超链接的有效性,是否可以访问,以及最近是否更新。2、请求报头后述3、请求正文(略)1.1.3HTTP协议详解之响应篇在接收和解释请求消息后,服务器返回一个HTTP响应消息。HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文1、状态行格式如下:HTTP-VersionStatus-CodeReason-PhraseCRLF其中,HTTP-Version表示服务器HTTP协议的版本;Status-Code表示服务器发回的响应状态代码;Reason-Phrase表示状态代码的文本描述。状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:1xx:指示信息--表示请求已接收,继续处理2xx:成功--表示请求已被成功接收、理解、接受3xx:重定向--要完成请求必须进行更进一步的操作4xx:客户端错误--请求有语法错误或请求无法实现5xx:服务器端错误--服务器未能实现合法的请求常见状态代码、状态描述、说明:200OK//客户端请求成功400BadRequest//客户端请求有语法错误,不能被服务器所理解401Unauthorized//请求未经授权,这个状态代码必须和服务器收到请求,但是拒绝提供服务404NotFound//请求资源不存在,eg:输入了错误的URL500InternalServerError//服务器发生不可预期的错误503ServerUnavailable//服务器当前不能处理客户端的请求,一段时间后可能恢复正常eg:HTTP/1.1200OK(CRLF)2、响应报头后述3、响应正文就是服务器返回的资源的内容1.1.4HTTP协议详解之消息报头篇HTTP消息由客户端到服务器的请求和服务器到客户端的响应组成。请求消息和响应消息都是由开始行(对于请求消息,开始行就是请求行,对于响应消息,开始行就是状态行),消息报头(可选),空行(只有CRLF的行),消息正文(可选)组成。HTTP消息报头包括普通报头、请求报头、响应报头、实体报头。每一个报头域都是由名字+“:”+空格+值组成,消息报头域的名字是大小写无关的。1、普通报头在普通报头中,有少数报头域用于所有的请求和响应消息,但并不用于被传输的实体,只用于传输的消息。eg:Cache-Control用于指定缓存指令,缓存指令是单向的(响应中出现的缓存指令在请求中未必会出现),且是独立的(一个消息的缓存指令不会影响另一个消息处理的缓存机制),HTTP1.0使用的类似的报头域为Pragma。请求时的缓存指令包括:no-cache(用于指示请求或响应消息不能缓存)、no-store、max-age、max-stale、min-fresh、only-if-cached;响应时的缓存指令包括:public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age、s-maxage.eg:为了指示IE浏览器(客户端)不要缓存页面,服务器端的JSP程序可以编写如下:response.sehHeader(Cache-Control,no-cache);//response.setHeader(Pragma,no-cache);作用相当于上述