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

2024-07-17  本文已影响0人  Cache技术分享

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

二进制 SOAP 格式的 WSDL 差异

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

<isc:binding charset="isc_charset"> 

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

例如:

<isc:binding charset="Unicode"> 
<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>

<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 与默认值在以下方面有所不同:

上一篇 下一篇

猜你喜欢

热点阅读