文章
· 八月 10 阅读大约需 2 分钟

第六章 定义单向 Web 方法

[toc]

第六章 定义单向 Web 方法

通常,当 Web 客户端调用 Web 服务时,会返回 SOAP 消息,即使该方法没有返回类型并且在 数据平台中执行时不返回任何内容。

在极少数情况下,可能需要将 Web 方法定义为单向的。此类方法不得返回任何值,并且消息不需要 SOAP 响应。

注意:通常不应使用单向方法。请求-响应对更为常见、更受支持且更受期待 — 即使对于没有返回类型的方法也是如此。

要定义单向 Web 方法,请将该方法的返回类型定义为 %SOAP.OneWayWSDL 未定义此 Web 方法的输出,并且 Web 服务不返回 SOAP 消息。

向二进制数据添加换行符

可以使 Web 服务在新选项卡中为 %Binary 类型属性中为 %xsd.base64Binary 类型属性添加自动换行符。为此,请执行以下操作之一:

  • Web 服务类中将 BASE64LINEBREAKS 参数设置为 1
  • 对于 Web 服务类实例,将 Base64LineBreaks 属性设置为 1。此属性的值优先于 BASE64LINEBREAKS 参数设置的值。

对于参数和属性,默认值为 0;默认情况下, Web 服务不包括新选项卡中 %Binary类型属性或中 %xsd.base64Binary类型的属性的自动换行符。

SOAP 消息添加字节顺序标记

默认情况下,Web 客户端发送的消息不以 BOM(字节顺序标记)开头。

通常不需要 BOM,因为消息以 UTF-8 编码,不存在字节顺序问题。但是,在某些情况下,在 SOAP 消息中包含 BOM 是必要的或可取的;此 BOM 仅表示消息是 UTF-8

要将 BOM 添加到 Web 客户端发送的消息中,请设置客户端的 RequestMessageStart 属性。此属性必须等于要包含在消息开头的部分的逗号分隔列表。这些部分如下:

DCLXML声明:

<?xml version="1.0" encoding="UTF-8" ?>
  • BOMUTF-8 BOM
  • 默认值为“DCL”

实际上,RequestMessageStart可以等于下列任意值:

  • "DCL"

  • "BOM"

  • "BOM,DCL"

讨论 (0)1
登录或注册以继续