,webservice   工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛,webservice
您的位置:软件 > 开发者网络 > 微软开发专栏 > Visual Studio.net专栏 > webservice > 正文
Web Services Enhancements 管道技术内幕
[文章信息]
作者:
时间:2003-02-18
出处:Microsoft
责任编辑:
[文章导读]
摘要:Web Services Enhancements 1.0 for Microsoft .NET 工作原理;独立过滤器和过滤器管道的工作原理......
advertisement
热点推荐
· 深入探讨SQL Server 2000对XML的支持
· Swing(空)
· 3DS Stodio Max 宝典
· 中小企业服务器配置方案--前 言
· 中小企业服务器配置方案--代理接入服务器(3)
[正文]

1 2 3 4  下一页

     摘要:Web Services Enhancements 1.0 for Microsoft .NET 工作原理;独立过滤器和过滤器管道的工作原理;配置默认管道的方法;创建自定义过滤器的方法;DIME 适合图片的特点。

  下载 Web Services Enhancements 1.0 for Microsoft .NET(英文)。

  简介

  Web Services Enhancements 1.0 for Microsoft .NET (WSE) 是一个类库,用于实现高级 Web 服务协议。WSE 的体系结构模型基于处理入站和出站 SOAP 消息的过滤器管道。过滤器可以与 ASP.NET Web 服务基础结构集成在一起,也可以单独使用。本文深入探讨了 WSE 管道技术的工作原理,介绍了有关单独过滤器和过滤器管道的工作原理、配置默认管道的方法、创建自定义过滤器的方法以及 DIME 适合图片的特点。

  以过滤器为中心的模型

  WSE 是一种将高级 Web 服务协议应用到 SOAP 消息的引擎。它要求向出站 SOAP 消息写入标头,从入站 SOAP 消息读取标头;它还要求转换 SOAP 消息正文。例如,按照 WS-Security 规范中定义的那样加密出站消息正文和解密入站消息正文。在 WSE 中,这种功能通过过滤器来实现。输出过滤器向消息写入标头,输入过滤器从消息读取标头并检查标头的有效性。此外输出和输入过滤器都可以转换消息的内容。图 1 说明了 WSE 过滤器模型。

图 1:Web Services Enhancements 的过滤器模型

  使用单独的过滤器

  了解 WSE 如何使用过滤器的最好方法是从一个简单的例子开始。WSE 提供了一对过滤器,用于读写时间戳标头。时间戳标头包含了一些元素,用来表示消息的创建时间和过期时间,指明消息的周期以及何时可以认为该消息失效。时间戳过滤器在 Microsoft.Web.Services.Timestamp 命名空间中定义。顾名思义,TimestampOutputFilter 是一个输出过滤器,用于向 SOAP 消息写入时间戳标头;而 TimestampInputFilter 是一个输入过滤器,用于从 SOAP 消息读取时间戳标头。以下是它们各自的定义:

public class TimestampOutputFilter : SoapOutputFilter
{
public override void ProcessMessage(SoapEnvelope envelope);
}

public class TimestampInputFilter : SoapInputFilter
{
public override void ProcessMessage(SoapEnvelope envelope);
}

  两个类都有一个 ProcessMessage 方法,该方法带有一个 SoapEnvelope 类型的参数。Microsoft.Web.Services.SoapEnvelope 类是标准 .NET XML DOM API System.Xml.XmlDocument 的扩展。它具有验证逻辑,可以验证包含有效 SOAP 消息的文档内容;它还具有一些快捷方法和属性,可以创建和访问消息的特定部分,即 Envelope、Header 和 Body 元素。

  以下是一个使用时间戳过滤器的简单应用程序。

static void Main(string[] args)
{
// 创建空白的 SOAP 消息
SoapEnvelope env = new SoapEnvelope();
XmlElement body = env.CreateBody();
env.Envelope.AppendChild(body);

// 打印原始消息
Console.WriteLine("原始消息:\n\n{0}\n", env.OuterXml);

// 创建时间戳输出过滤器
TimestampOutputFilter tsOutput = new TimestampOutputFilter();

// 处理消息,写入时间戳标头
tsOutput.ProcessMessage(env);

// 打印输出过滤后的消息
Console.WriteLine("输出过滤后的消息:\n\n{0}\n", env.OuterXml);

// 创建时间戳输入过滤器
TimestampInputFilter tsInput = new TimestampInputFilter();

// 处理消息,读取时间戳标头
tsInput.ProcessMessage(env);

// 打印输入过滤的消息
Console.WriteLine("输入过滤后的消息:\n\n{0}\n", env.OuterXml);
}

  本程序首先创建一个 SoapEnvelope 对象,并添加空白的消息正文。然后,创建一个 TimestampOutputFilter 并使用它来处理 SoapEnvelope,向消息写入时间戳标头。最后,该程序创建一个 TimestampInputFilter 并使用它来处理 SoapEnvelope,从消息读取时间戳标头。程序执行的每一步都将消息内容打印到控制台。以下是输出结果(已经过格式编排)。

  原始消息:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body/>
</soap:Envelope>

  输出过滤后的消息:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<wsu:Timestamp
xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility">
<wsu:Created>2002-11-14T19:03:27Z</wsu:Created>
<wsu:Expires>2002-11-14T19:08:27Z</wsu:Expires>
</wsu:Timestamp>
</soap:Header>
<soap:Body />
</soap:Envelope>

  输入过滤后的消息:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
</soap:Header>
<soap:Body />
</soap:Envelope>

  原始的消息只包含一个空白的 Body 元素,没有其他内容。当 TimestampOutputFilter 处理消息时,它用表示消息创建时间和过期时间的元素写入时间戳标头。而当 TimestampInputFilter 处理消息时,则读取时间戳标头。如果到了过期时间,TimestampInputFilter 将抛出一个异常。


1 2 3 4  下一页

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
,webservice相关内容,webservice焦点新闻
  • FVD刺激高清碟机加速商业化 抢占商机最重要
  • 3家搜索引擎集体诉讼8848 吕春维未敢出席
  • 杨元庆:没有准备不会获批的备用方案
  • 军队信息化诞生新领域 电子军务呼之欲出
  • 世界经济论坛公布信息化程度全球最新排名
  • 2004政务绩效评估:政府门户尚处于发展阶段
  • 甲骨文出资5.15亿美元 意图收购RetekInc
  • 技术并购:帮你突破传统增长的“天花板”
  • ,webserviceAdvertisement

    天极无线
    经典名曲 华语流行 欧美风情 人声音效 原声大碟
    你好周杰伦-安又琪
    直线-张韶涵
    天边-张韶涵
    看我72变-蔡依林
    乱世佳人-Twins
    全世界下雨-张娜拉
    我们的爱-飞儿乐队
    分手快乐-梁静茹
    爱在西元前-周杰伦
    三万英尺-迪克牛仔
    爱如潮水-张信哲
    爱情宣言-齐秦
    寻找玛依拉-刀郎
    驼铃-刀郎
    老鼠爱大米-杨臣刚
    功夫主题曲
    仙剑主题曲杀破狼
    天下无贼片尾曲
    冲动的惩罚-刀郎
    情人-刀郎
    爱情-莫文蔚
    挪威的森林-伍佰
    奔跑 - 羽泉
    因为爱 - 羽泉
      ·时尚女人圈
    ·经典影视专集
    ·美女秀场
    ·美丽大自然专题
    ·流行金曲
    ·科幻电影特区
    | 最新推荐
    ·你好周杰伦
    ·杀破狼
    ·寻找玛依拉
    ·孤单公园
    ·男人海洋
    | 魔术铃声
    ·少女丰胸
    ·少妇丰胸
    ·减肥魔铃
    ·增高魔铃
    ·美容魔铃

    今日报价查询 更多报价