第四章 控制编码格式的内联引用的使用
控制编码格式的内联引用的使用
采用编码格式,任何对象值属性都作为引用包含在内,并且引用的对象作为单独的元素写在 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
服务之前自动解压缩它们。)
网友评论