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

第四章 控制编码格式的内联引用的使用

第四章 控制编码格式的内联引用的使用

控制编码格式的内联引用的使用

采用编码格式,任何对象值属性都作为引用包含在内,并且引用的对象作为单独的元素写在 SOAP 消息中。

要以内联方式写入编码对象,请在 Web 客户端中将 REFERENCESINLINE 参数或 ReferencesInline 属性指定为 `1。属性优先于参数。

指定信封前缀

默认情况下, Web 客户端在其发送的 SOAP 消息的信封中使用前缀 SOAP-ENV。可以指定不同的前缀。为此,请设置 Web 客户端类的 SOAPPREFIX 参数。例如,如果将此参数设置为 MYENV,则 Web 客户端会在其消息中包含此前缀,而不是 SOAP-ENV

将命名空间声明添加到 SOAP 信封

要将命名空间声明添加到给定 Web 客户端返回的 SOAP 响应的 SOAP 信封(<SOAP-ENV:Envelope>元素)中,请在调用 Web 方法之前调用 Web 客户端的 %AddEnvelopeNamespace() 方法。此方法具有以下签名:

Method %AddEnvelopeNamespace(namespace As %String, 
                             prefix As %String, 
                             schemaLocation As %String, 
                             allowMultiplePrefixes As %Boolean) As %Status

其中:

  • namespace 是需要添加的命名空间。
  • prefix 是用于此命名空间的可选前缀。如果省略此参数,则会生成前缀。
  • schemaLocation 是此命名空间的可选架构位置。
  • allowMultiplePrefixes 控制给定命名空间是否可以使用不同的前缀多次声明。如果此参数为 1,则给定命名空间可以使用不同的前缀多次声明。如果此参数为 0,则如果为同一命名空间添加具有不同前缀的多个声明,则仅使用最后提供的前缀。

发送通过 gzip 压缩的响应

Web 客户端可以使用 gzip 压缩其响应消息,gzip 是一种在 Internet 上广泛使用的免费压缩程序。此压缩发生在任何其他消息打包(例如创建 MTOM 包)之后。要使 Web 客户端执行此操作,请执行以下操作之一:

  • Web 客户端实例中将 GzipOutput 属性设置为 1
  • Web 客户端类中将 GZIPOUTPUT 参数设置为 1

如果这样做,请确保 Web 服务可以使用相应的解压缩程序 gunzip 自动解压缩消息。(如果 Web 服务是 Web 服务,请注意 Web 网关会在将入站消息发送到 Web 服务之前自动解压缩它们。)

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