第六十章 生成的 WSDL 的详细信息 - 二进制 SOAP 格式的 WSDL 差异

第六十章 生成的 WSDL 的详细信息 - 二进制 SOAP 格式的 WSDL 差异

二进制 SOAP 格式的 WSDL 差异

对于 SOAPBINARY 参数指定为 1Web 服务,WSDL 增强如下:

  • <binding> 元素包含一个扩展子元素,指示 SOAP 二进制支持:
<isc:binding charset="isc_charset"> 

其中 isc_charsetWeb 服务的 IRIS 命名空间的 IRIS 字符集(例如:UnicodeLatin1)。

例如:

<isc:binding charset="Unicode"> 
  • WSDL<types> 部分中,每个 <complexType> 元素都包含一个扩展属性,如下所示:
<complexType isc:classname="service_name:class_name" ...>

其中 service_nameWeb 服务名称,class_name 是与此复杂类型相对应的 IRIS 类名。例如:

<s:complexType isc:classname="AddComplex:GSOAP.ComplexNumber" name="ComplexNumber">
  <s:sequence>
    <s:element minOccurs="0" name="Real" type="s:double"/>
    <s:element minOccurs="0" name="Imaginary" type="s:double"/>
  </s:sequence>
</s:complexType>

  • 此外,在 <types> 部分中, <element><simpleContent> 元素包含以下形式的扩展属性(根据需要):
<element isc:property="property_name" ....>  
<simpleContent isc:property="property_name" ....>

其中 property_name 是映射到该元素的 IRIS 属性的名称。(请注意,WSDL 包含一个 <simpleContent> 元素,用于 XMLPROJECTION 等于“content”的属性。)

例如:

<s:element minOccurs="0" name="RealType" isc:property="Real" type="s:double"/>

仅当属性使用 XMLNAME 属性参数时才设置此属性,该参数允许 XML 名称与属性名称不同。上述示例取自 Web 服务的 WSDL,该服务使用包含以下属性的类:

Property Real As %Double (XMLNAME = "RealType");

isc:property 属性允许生成的客户端类中的属性名称与服务类中的属性名称相同。当前例外情况是任何 choicereplacementGroup 用法或包装元素,其中类型类具有 XMLNAME 参数。

  • 命名空间声明包括以下附加项目:
xmlns:isc="https://www.intersystems.com/soap/"

这些 WSDL 扩展根据 XML SchemaWSDLWS-I Basic Profile 规范有效,并且预计会被所有符合要求的 Web 客户端工具包忽略。

注意:如果 Web 服务或 Web 客户端使用 二进制 SOAP 格式,则您无法将 WS-SecurityWS-Policy 功能与此 Web 服务或客户端一起使用。请参阅保护 Web 服务。

单向 Web 方法的 WSDL 差异

如果方法的返回类型定义为 %SOAP.OneWay,则 WSDL 与默认值在以下方面有所不同:

  • <binding>元素中,该方法的<operation>元素不包括<output>元素。
  • <portType>元素中,该方法的<operation>元素不包括<output>元素。
  • WSDL不包括用于响应消息的<message>元素。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 15:32:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 15:32:02       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 15:32:02       58 阅读
  4. Python语言-面向对象

    2024-07-18 15:32:02       69 阅读

热门阅读

  1. Python--循环控制语句:continue 和 break

    2024-07-18 15:32:02       19 阅读
  2. 网络安全学习流程

    2024-07-18 15:32:02       19 阅读
  3. 请解释vue的单页面应用是什么及其优缺点

    2024-07-18 15:32:02       20 阅读
  4. 7月17日学习打卡,数组

    2024-07-18 15:32:02       22 阅读
  5. 原生html点击按钮上传文件(隐藏file输入框)

    2024-07-18 15:32:02       22 阅读
  6. 在html中使用vue.js的component

    2024-07-18 15:32:02       22 阅读
  7. 邦芒支招:这三种方法帮你减轻工作负担

    2024-07-18 15:32:02       20 阅读