本章的内容如下:●SOAP和WSDL的语法●如何通过Web服务使用SOAP和WSDL●提供和使用Web服务●Web服务的用法。●使用SOAP标题交换数据Web服务是利用SOAP(essProtocol,简单对象访问协议)在HTTP上执行远程方法调用的一种新方法。过去这个问题一直非常棘手,()的人们,在实例化远程服务器上的对象、调用方法和获取结果时感到非常麻烦,并且在进行必要的配置时,需要具有很高的技巧。SOAP的出现使事情变得简单多了。SOAP技术是一个基于XML的标准,它详细描述了怎样在HTTP上以可重复的方式进行方法调用。远程SOAP服务器能够理解这些调用并执行所有困难的工作,如实例化所需的对象、进行调用以及给客户端返回SOAP格式的响应等。Framework,可以非常容易地利用上述技术。一样,我们可以在服务器上使用完整的C#技术,而且(也许是更重要的)可以从任何平台上通过HTTP访问服务器,从而实现的Web服务的简单利用。换句话说,例如,Web服务,启用的电冰箱。Web服务和MacromediaFlash组合在一起,创建启用数据的Flash内容。此外,也可以使用WSDL(WebServiceDescriptionLanguage,Web服务描述语言)完整地描述Web服务,还可以在运行期间动态地查找Web服务。WSDL使用带有XML架构的XML提供对所有方法的描述(以及对调用方法所需类型的描述)。现在各式各样的类型可用于Web服务,既有简单的基元类型,又有完整的DataSet对象,这样,完全存储在内存中的数据库就可以被编组到客户端,从而大大减少加数据库服务器上加载的数据量。55第章注意,Web服务,而不是WCFWeb服务,中。Web服务使用起来比较简单,足以满足大多数需要,municationFoundation(WCF)Web服务的全部功能,还添加了额外的功能。WCF详解第43章。C#高级编程(第7版),SOAP是一个与Web服务交换数据的方法。有关这项技术的书有很多,Framework中采用这项技术之后,SOAP方面的书就更多了。稍微考虑一下,可以发现SOAP的工作原理和HTTP的工作原理比较相似,这非常有趣,但并不是必需的。大多数情况下,我们不必考虑与Web服务进行交换时所采用的格式,只要得到希望的结果就够了。因此,本节不深入探讨SOAP的技术细节,而是给出一些简单的SOAP请求和响应,以便您对SOAP有一个感性的认识。假定要用下面的签名调用Web服务中的方法:intDoSomething(stringstringParam,intintParam)这条语句必需的SOAP标题和主体如下所示,最上面是Web服务的地址:POST/SomeLocation/:hostnameContent-Type:text/xml;charset=utf-8Content-Length:lengthSOAPAction:""<?xmlversion=""encoding="utf-8"?><soap:Envelopexmlns:xsi="/XMLSchema-instance"xmlns:xsd="/XMLSchema"xmlns:soap="/envelope/"><soap:Body><DoSomethingxmlns=""><stringParam>string</stringParam><intParam>int</intParam></DoSomething></soap:Body></soap:Envelope>length参数用于指定内容的总字节数,它的大小随着string和int参数中发送的值而变化。Host也是变化的,它取决于Web服务的位置。上面代码引用的soap名称空间定义用于构建消息的各种元素。通过HTTP发送上面的代码时,实际发送的数据将有所不同(但是相关)。例如,可以使用简单的GET方法调用上面的方法:GET/SomeLocation/?stringParam=string&intParam=intHTTP/:hostname这个方法的SOAP响应如下:HTTP/-Type:text/xml;charset=utf-8Content-Length:length<?xmlversion=""encoding="utf-8"?><soap:Envelopexmlns:xsi="/XMLSchema-instance"xmlns:xsd="/XMLSchema"xmlns:soap="/envelope/">E24
Web服务和ASP.NET 来自淘豆网m.daumloan.com转载请标明出处.