CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站 > 技巧

使用 SOAP 扩展修改 SOAP 消息

作者: ,  出处:IT专家网社区, 责任编辑: 叶江, 
2007-01-22 15:00
  SOAP扩展允许通过更改往返于Web服务或Web服务客户端的SOAP消息来增加Web服务功能……

  调用 SOAP 扩展方法的顺序

  既然已经了解了 SOAP 扩展重写的方法,那么现在了解一下,在整个 Web 服务方法调用过程中,Web 服务基础结构何时调用 SOAP 扩展方法。下面的步骤假设 SOAP 扩展既运行于客户端又运行于服务器上。如果 SOAP 扩展不同时运行于客户端和服务器上,则 .NET Framework 将忽略与运行于其中之一上的 SOAP 扩展相关联的步骤。

  客户端准备请求消息

  1.   客户端对代理类调用方法。
  2.   在客户端上创建 SOAP 扩展的新实例。
  3.   如果这是第一次在客户端上用该 Web 服务执行该 SOAP 扩展,则对运行于客户端上的 SOAP 扩展调用 GetInitializer 方法。
  4.   调用 Initialize 方法。
  5.   调用 ChainStream 方法。
  6.   在 SoapMessageStage 设置为 BeforeSerialize 的情况下调用 ProcessMessage 方法。
  7.   客户端计算机上的 ASP.NET 将 Web 服务方法的参数序列化为 XML。
  8.   在 SoapMessageStage 设置为 AfterSerialize 的情况下调用 ProcessMessage 方法。
  9.   客户端计算机上的 ASP.NET 通过网络将 SOAP 消息发送到承载该 Web 服务的 Web 服务器上。

  服务器端接收请求消息并准备响应

  1.   Web 服务器上的 ASP.NET 接收该 SOAP 消息。
  2.   在 Web 服务器上创建 SOAP 扩展的新实例。
  3.   在 Web 服务器上,如果这是第一次在服务器端使用该 Web 服务执行该 SOAP 扩展,则对运行于服务器上的 SOAP 扩展调用 GetInitializer 方法。
  4.   调用 Initialize 方法。
  5.   调用 ChainStream 方法。
  6.   在 SoapMessageStage 设置为 BeforeDeserialize 的情况下调用 ProcessMessage 方法。
  7.   ASP.NET 反序列化 XML 中的参数。
  8.   在 SoapMessageStage 设置为 AfterDeserialize 的情况下调用 ProcessMessage 方法。
  9.   ASP.NET 创建实现 Web 服务的类的新实例并调用 Web 服务方法,同时传入反序列化的参数。该对象驻留在与 Web 服务器相同的计算机上。
  10.   Web 服务方法执行其代码,最终会设置返回值和任何输出参数。
  11.   在 SoapMessageStage 设置为 BeforeSerialize 的情况下调用 ProcessMessage 方法。
  12.   Web 服务器上的 ASP.NET 将返回值和输出参数序列化为 XML。
  13.   在 SoapMessageStage 设置为 AfterSerialize 的情况下调用 ProcessMessage 方法。
  14.   ASP.NET 通过网络将 SOAP 响应消息发送回 Web 服务客户端。

  客户端接收响应消息

  1.   客户端计算机上的 ASP.NET 接收 SOAP 消息。
  2.   在 SoapMessageStage 设置为 BeforeDeserialize 的情况下调用 ProcessMessage 方法。
  3.   ASP.NET 将 XML 反序列化为返回值和任何输出参数。
  4.   在 SoapMessageStage 设置为 AfterDeserialize 的情况下调用 ProcessMessage 方法。
  5.   ASP.NET 将返回值和任何输出参数传递到代理类的实例。
  6.   客户端接收返回值和任何输出参数。
    共4页。 9 1 2 3 4 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i