第二十九章 使用 MTOM 进行附件 - Web 服务和 Web 客户端的默认行为

第二十九章 使用 MTOM 进行附件 - Web 服务和 Web 客户端的默认行为

Web 服务和 Web 客户端的默认行为

默认情况下, Web 服务的行为如下:

  • 如果 Web 服务以 MTOM 包的形式收到请求,则它会将响应作为 MTOM 包发送。

此外,Web 服务实例的 IsMTOM 属性设置为 1

  • 如果收到不在 MTOM 包中的请求,Web 服务将发送不在 MTOM 包中的响应。

默认情况下, Web 客户端的行为如下:

  • 它不会将请求作为 MTOM 包发送。
  • 无论响应是否在 MTOM 包中,它都会处理响应。

如果响应在 MTOM 包中,则 Web 客户端实例的 IsMTOM 属性将设置为 1。如果响应不在 MTOM 包中,则不会更改 IsMTOM 属性。

强制响应为 MTOM

可以强制 Web 服务将每个响应作为 MTOM 包发送。为此,请执行以下任一操作:

  • Web 服务类中,将 MTOMREQUIRED 参数设置为 1
  • Web 服务实例中,将 MTOMRequired 属性设置为 1。可以在 Web 方法或 OnPreWebMethod() 回调中执行此操作。有关此回调的介绍,请参阅自定义 Web 服务的回调。
  • Web 服务附加一个策略声明以发送 MTOM 包。为此,需要创建并编译一个引用 Web 服务类的配置类;在此策略中,启用 MTOM 的使用。请参阅保护 Web 服务。

如果附加这样的策略声明,则会忽略 MTOMREQUIRED 的值,并且 MTOMRequired 将被设置为 1

WSDL 的影响

MTOMREQUIREDMTOMRequired 不会影响 Web 服务的 WSDL

引用 MTOM 的策略声明确实会影响 WSDL;如果添加策略声明,则需要重新生成任何 Web 客户端。对于 Web 客户端,只需将 MTOM 策略声明附加到客户端,而不必重新生成客户端类。

强制请求作为 MTOM

可以强制 Web 客户端将每个请求作为 MTOM 包发送。为此,请执行以下操作之一:

  • Web 客户端类中,将 MTOMREQUIRED 参数设置为 1
  • Web 客户端实例中,将 MTOMRequired 属性设置为 1
  • 将策略声明附加到 Web 客户端以发送 MTOM 包。为此,需要创建并编译引用 Web 服务客户端的配置类;在此策略中,启用 MTOM 的使用。请参阅保护 Web 服务。

如果附加这样的策略声明,则会忽略 MTOMREQUIRED 的值,并且 MTOMRequired 将被设置为 1

WSDL 的影响

MTOMREQUIREDMTOMRequired 不假设此 Web 客户端使用的 Web 服务的 WSDL 发生任何变化。

引用 MTOM 的策略声明确实会影响 WSDL。也就是说,只有当 Web 服务需要时,才会向客户端添加 MTOM 策略声明。

最近更新

  1. TCP协议是安全的吗?

    2024-06-16 13:46:03       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-16 13:46:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-16 13:46:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-16 13:46:03       18 阅读

热门阅读

  1. AI学习指南机器学习篇-KNN基本原理

    2024-06-16 13:46:03       7 阅读
  2. XML XSLT:技术与应用解析

    2024-06-16 13:46:03       5 阅读
  3. 【C++】priority_queue的用法(模板参数的实例)

    2024-06-16 13:46:03       6 阅读
  4. 决策树算法介绍 - 原理与案例实现

    2024-06-16 13:46:03       8 阅读
  5. Web前端设计培训机构:深度解析与实战指南

    2024-06-16 13:46:03       8 阅读
  6. Mysql-题目02

    2024-06-16 13:46:03       6 阅读
  7. Web前端实战教学:深度剖析与技能进阶

    2024-06-16 13:46:03       8 阅读