美文网首页收藏
第三章 将命名空间声明添加到 SOAP 信封

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

作者: Cache技术分享 | 来源:发表于2024-07-24 07:59 被阅读0次

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

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

要将命名空间声明添加到由给定 Web 服务发送的 SOAP 消息的 SOAP 信封(<SOAP-ENV:Envelope> 元素)中,请修改该 Web 服务的每个 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,则如果您为同一命名空间添加具有不同前缀的多个声明,则仅使用最后提供的前缀。

检查必需的元素和属性

默认情况下,Web 服务不会检查标记为必需的属性对应的元素和属性是否存在。要使 Web 服务检查此类元素和属性是否存在,请将 Web 服务的 SOAPCHECKREQUIRED 参数设置为 1。出于兼容性原因,此参数的默认值为 0。

控制空字符串参数的形式

通常,如果省略参数,Web 服务会省略其发送的 SOAP 消息中的相应元素。要更改此设置,请在 Web 服务类中将 XMLIGNORENULL 参数设置为 1;在这种情况下,SOAP 消息包含一个空元素。

注意:此参数仅影响类型为 %StringWeb 方法参数。

控制 SOAP 响应的消息名称

Web 服务中,可以控制从 Web 方法收到的响应中使用的消息名称。默认情况下,此消息名称是 Web 方法的名称,末尾附加有 Response。以下示例显示了来自名为 DivideWeb 方法的响应;响应消息名称为 DivideResponse

<SOAP-ENV:Body>
   <DivideResponse xmlns="http://www.myapp.org">
       <DivideResult>.5</DivideResult>
   </DivideResponse>  
</SOAP-ENV:Body>

要指定不同的响应消息名称,请在 Web 方法定义中设置 SoapMessageName 关键字。

请注意,无法更改调用给定Web 方法的 SOAP 消息的名称;此消息的名称是方法的名称。但是,可以覆盖 HTTP 请求中给出的 SOAP 操作;请参阅覆盖默认 HTTP SOAP 操作。

相关文章

  • TypeScript基础入门之声明合并(三)

    转发 TypeScript基础入门之声明合并(三) 声明合并 将命名空间与类,函数和枚举合并 命名空间足够灵活,...

  • TypeScript基础入门之声明合并(二)

    转发 ## TypeScript基础入门之声明合并(二) 声明合并 合并命名空间 与接口类似,同名的命名空间也将合...

  • 创建自己的命名空间

    嵌套命名空间 在C++17之前,嵌套命名空间可以将命名空间的声明写在同一行: 这样对命名空间的层次可以一目了然。C...

  • Chapter 18 Large-scale project t

    命名空间 inline命名空间 inline声明的命名空间, 可以无视本层命名空间, 而可以被直接使用. 用处: ...

  • 命名空间 namespace

    /*命名空间:命名空间是一种封装事物的方法命名空间怎么声明?关键字: namespace 导入命名空间: use起...

  • 第3章 字符串、向量和数组

    3.1 命名空间的using声明 using声明:每个using声明引入命名空间的一个成员;头文件中的代码一般不应...

  • Unity (C#) 使用 LitJson 处理 JSON 数据

    相关链接 dll 文件,点击即下载 LitJson 官网 声明命名空间 ps: 直接将 .dll 文件拖入 Un...

  • php初级讲义11-命名空间

    命名空间的概念 命名空间是一种封装事物的方法。 命名空间用namespace关键字来声明。 以PHP或php为名或...

  • SOAP创建信封失败

    最近在使用soap协议创建信封的时候,遇到如下问题: 最后搜索查找,发现pom文件中引用的一个jar包中包含了xa...

  • iOS Swift命名空间

    Swift的命名空间是以模块来划分的,一个模块表示一个命名空间,我们进行APP开发是,默认添加到主target的内...

网友评论

    本文标题:第三章 将命名空间声明添加到 SOAP 信封

    本文链接:https://www.haomeiwen.com/subject/cgvuhjtx.html