`
touchmm
  • 浏览: 1038421 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Web Service快速入门了解

阅读更多

1、Web 服务的位置:因为Web Service是定义好命名空间的,所以当将Web Service更改服务器地址或拷贝到别处应用时,手工更改命名空间是不现实的。可以在使用时将Web Service的类实例化后,更改该实例的Url属性。而且不影响使用。如:BPConformance_asmxbpService = new BPConformance_asmx();bpService.Url = "http://localhost/QuickStartv20/webservices/bpconformance.asmx";还可以将值存储在配置文件中,而不是对 Web 服务的位置进行硬编码或在客户端代理中使用默认位置。这样,程序员或管理员可以在不更改代码的情况下更改配置文件中的位置。如:在客户端的Web.Config文件中添加:<appSettings><add key="WSUrl" value="http://localhost/quickstartv20/webservices/samples/RuntimeSelection/cs/Server/HelloWorldService.asmx" /></appSettings>然后再在实例化类后更改属性URL,如:service.Url = System.Configuration.ConfigurationSettings.AppSettings["WSUrl"];2、Web Service支持的数据类型:

基元(字符串): string

基元数组(整数) : int,bool,single,float,decimal,char

枚举(枚举) :Enum

类/结构 :Struct,Class

类/结构数组 :Class,Struct

通过这些数据类型,可以达到传值的目的,可以是字符串类型、数值类型、数值数组、枚举、自定义结构、自定义类。但不支持:ArrayList,Array,HashTable

3、共享类型

既然可以支持多种object参数,若在多个Web Service中用到相同结构的自定义object,可以在多个Web Service中共享使用。可以采用从一个 Web 服务返回的类型实例,传递给另一个 Web 服务。

共享类型方法是:将每个服务的 wsdl 和 discomap 放置在“App_WebReferences”目录中。如果您希望改用 wsdl.exe 创建自己的客户端代理,则在 TypeSharingService1 和 TypeSharingService2 之间共享类型的命令如下:

wsdl.exe /sharetypes

http://localhost/QuickstartV20/webservices/Samples/TypeSharing/cs/Server/TypeSharingService1.asmx

http://localhost/QuickstartV20/webservices/Samples/TypeSharing/cs/Server/TypeSharingService2.asmx

4、客户端是否支持解压缩

客户端实例将 EnableDecompression 属性设置为 true,则该客户端支持解压缩。若要禁用解压缩,将 EnableDecompression 设置为 false。禁用解压缩的一种可能情形是,希望以纯文本形式查看从服务器发送的响应的 SOAP 跟踪。将此属性设置为 false 通知服务器不支持解压缩。如:service.EnableDecompression = true;

5、会话状态(Session)和应用程序状态(Application)使用 ASP.NET Web 服务可以访问由 ASP.NET 提供的基础状态管理。若要启用 ASP.NET 会话状态,需将 WebMethod.EnableSession 设置为 True。此外,还必须在客户端上将 serviceName.CookieContainer 设置为 System.Net.CookieContainer 的新实例。这样可以保存同一会话中的数据。但是若要保存整个应用程序(对所有传入的服务请求)的数据,这两个步骤都是不需要的。如:服务器端 :[WebMethod(EnableSession=false)]客户端:serviceName.CookieContainer = new System.Net.CookieContainer();

而要用Application记录应用程序的数据就不必声明直接用了,如:Application["HitCounter"]。

6、XML序列化:

命名空间System.Xml.Serialization的XmlSerializer类可以对对象进行序列化。实际上序列化的过程就是将对象转化为XML格式的过程,并可以进行反序列化。序列化的意义可能是通信及安全的考虑,Xml是通用的文本类型,可以跨平台识别的,且安全上可以不受防火墙影响。

7、应用XMl序列化之前,可以先验证消息

若要在服务上验证消息,使用 XmlValidatingReader。验证消息的最佳位置是在 SOAP 扩展中。这样可以完全控制 SOAP 消息的内容,并可以在执行相对来说代价较高的反序列化步骤之前拒绝不符合架构的消息。

8、基于事件的用于异步 WebMethod 调用

9、Web service服务器端的接口ServerInterface

要使用 ServerInterface 功能,可使用下面的两个方法:

(1) 使用 /serverInterface 开关(或缩写的 /si)和一个 wsdl 文件运行 wsdl.exe。输出将是一个代码文件,其中包含每个 wsdl 绑定的接口。

(2) 自己编写接口,在接口上应用 [WebServiceBindingAttribute],并在接口中的每个 Web 方法上应用 [WebMethodAttribute]。
(1) 的示例:wsdl.exe /si ServerInterfaceSample.wsdl

(2)的实现是通过在服务器端编程实现,客户端不变

如:[WebServiceBinding(Name="ReportDateTime", Namespace="Microsoft.Samples.XmlMessaging.WebServices")]public interface IReportDateTime

{

[WebMethod]

DateTime getCurrentDateTime();

}

[WebService(Namespace="Microsoft.Samples.XmlMessaging.WebServices")]

public class ServerInterfaceService : IReportDateTime

{

public DateTime getCurrentDateTime()

{

DateTime now = DateTime.Now;

return now;

}

}

无论使用哪个选项,都需要在服务代码中实现接口。此功能的优点是将实现代码和协定代码(如接口所定义的那样)分开。如果更改 wsdl,然后重新生成接口,则不会丢失任何实现代码。若要遵循建议的设计指南,则不应将任何代码放置在更改 wsdl 协定的实现中。同样,不应使用影响运行时行为的代码来更改接口。协定和实现的详细信息应该分开。

9、客户端对 Web Service的身份验证。

对于客户端代理类的实例来说,如果将 UseDefaultCredentials 属性设置为 true,则客户端将使用默认凭据对 Web 服务进行身份验证。这样在运行客户端程序时,就会显示开机时的登陆界面,提示输入用户名、密码。

客户端:service.UseDefaultCredentials = true;

将 UseDefaultCredentials 属性设置为 true 等效于下列代码行:service.Credentials = System.Net.CredentialCache.DefaultCredentials;

分享到:
评论

相关推荐

    web service 精典入门教程

    "Web Service 精典入门教程" 本篇教程旨在为读者提供一个完整的 Web Service 入门指南,涵盖了 Web Service 的基本概念、架构、SOAP 协议、WSDL 文件、_WS-Security 等重要知识点。 Web Service 基本概念 Web ...

    Axis2创建web service快速入门

    本教程将引导你快速入门,掌握使用Axis2创建Web服务的基本步骤。 **一、了解Axis2** Axis2是Axis1的下一代产品,它提供了更强大的功能和更高的性能。Axis2基于模块化架构,支持多种传输协议(如HTTP、HTTPS、SMTP...

    Web Service入门例子

    在本“Web Service入门例子”中,我们将探讨Web Service的基本概念、架构以及如何使用XFire工具来实现一个简单的Web Service。 一、Web Service基础知识 1. 定义:Web Service是一种通过标准协议(如SOAP、REST)在...

    web service入门教程ppt

    **Web服务入门教程** Web服务是一种基于互联网的通信协议,允许不同系统间的应用程序进行交互和数据交换。这个教程,由MCT(微软认证讲师)和MVP(微软最有价值专家)杨永智编撰,是专为微软校园大使设计的课件,...

    Web Service 入门Demo

    ### Web Service 入门知识点详解 #### 一、Myeclipse中Xfire插件的安装 **背景介绍:** 在进行Web Service开发时,选择合适的工具和插件至关重要。Myeclipse是一款流行的Java IDE,而XFire是一个轻量级且功能强大...

    Web Service入门经典

    【Web Service 入门经典】 Web Service 是一种基于开放标准的、跨平台的通信机制,旨在促进不同系统之间的互操作性。它利用 XML(可扩展标记语言)作为数据交换的基础,使得不同操作系统、编程语言和应用程序能够...

    Web Service开发入门

    总的来说,Web服务开发入门涉及到理解Web服务的基本原理,熟悉.NET框架下的Web服务开发工具和技术,以及掌握创建、部署和测试Web服务的流程。通过实践项目,如"Building Family History",开发者可以更好地掌握这些...

    8 XFire Web Service 入门.doc

    【XFire Web Service 入门】 XFire 是一个开源的、高性能的Java Web Service框架,它简化了创建和消费Web服务的过程。XFire在早期是Apache CXF的一部分,后来并入了CXF项目,提供了丰富的功能,包括SOAP、WS-*协议...

    NET_C#_Web_Service入门教程

    NET_C#_Web_Service入门教程

    .NET Web Service入门

    .NET Web Service入门经典

    web service入门学习笔记

    Web Service入门学习笔记 Web Service是一种基于互联网的、平台无关的通信协议,它允许不同系统间的应用程序通过网络互相调用,实现数据交换和服务共享。在本文中,我们将深入探讨Web Service的基本概念,以及如何...

    AXIS Web Service入门及应用

    二、AXIS Web Service入门 1. 创建Web服务:你可以使用AXIS提供的wsdl2java工具,根据WSDL(Web服务描述语言)文件自动生成Java源代码。这将为你提供一个服务接口和服务实现模板。 2. 实现服务:在生成的服务实现类...

    XFire 入门 web service.wps

    XFire 入门 web service.wpsXFire 入门 web service.wpsXFire 入门 web service.wps

    MyEclipse[实战开发讲解入门..XFire.Web.Service.入门

    5. **XFire Web Service入门**:XFire(现已被Apache CXF合并)是Java的Web Service框架,用于创建和消费Web服务。关键文档“MyEclipse[1].6.实战开发讲解视频入门.8.XFire.Web.Service.入门.doc”会指导开发者如何...

    Web Service入门简介详细

    Web Service入门简介详细 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL...

    c#Web_Service入门教程知识.pdf

    【C# Web Service入门教程知识】是针对初学者的网络文档,主要讲解了Web Service的基本概念、特点及其在不同场景下的应用。以下是该教程中涉及的重要知识点: 1. **Web Service基本概念**: - Web Service是一种...

    web+service入门教程

    这个“Web+Service入门教程”PPT旨在为初学者提供一个全面了解和掌握Web服务的基础。 1. **Web服务的概念** Web服务是一种基于互联网的软件系统,它使用开放的、标准化的协议(如XML、SOAP、WSDL和UDDI)来交换...

    java web service 入门

    这里较详细的介绍java 开发web service 的技术规范。更多的只是为了供开发人员参考,少走弯路。 web service 开发涉及的内容很多。包括:xml方面,这里有一块,wsdl,xml shceme,soap等要了解。

    c#Web_Service入门教程借鉴.pdf

    C# Web Service入门教程是针对初学者介绍如何创建和使用基于C#的Web服务。Web Service是一种基于XML的通信技术,允许不同系统间的交互和数据交换,不受特定平台或软件供应商的限制,实现了跨平台的可互操作性。以下...

Global site tag (gtag.js) - Google Analytics