DFHWS2LS 用于支持 WS-Addressing 所需的参数

为 Web Service 寻址配置 WSDL 时,必须将 Web Service 助手 DFHWS2LS上的 MINIMUM-RUNTIMEMAPPING-LEVEL 参数设置为 3.0 或更高值。 您可能还想考虑将 WSADDR-EPR-ANY 参数设置为 TRUE

将 Web Service 助手 DFHWS2LS上的 MINIMUM-RUNTIME 参数设置为 3.0 或更高版本。 至少为 3.0 的运行时级别可确保助手生成的任何 WSBind 文件完全支持 Web Service 寻址,并可与其他 Web Service 平台进行互操作。

将 Web Service 助手 DFHWS2LS上的 MAPPING-LEVEL 参数设置为 3.0 或更高版本。

如果在 WSDL 文档中定义的请求或响应消息中有任何类型为 wsa:EndpointReferenceType 的元素,并且要在运行时将这些元素用作 WSACONTEXT BUILD API 命令的输入,请将 WSADDR-EPR-ANY 参数设置为 TRUE。 将 WSADDR-EPR-ANY 参数设置为TRUE 表示 CICS® 在运行时不得将EPR转换为语言结构;相反, CICS 必须将EPR数据视为<xsd:any>元素,并将其存储在命名容器中。

此示例WSDL片段展示了作为类型元素传递的<wsa wsa:EndpointReferenceType:To> MAP:
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="exampleEPR" targetNamespace="http://example.ibm.com/"
    xmlns="http://schemas.xmlsoap.org/wsdl/" 
    xmlns:s0="http://example.ibm.com/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:wsa="http://www.w3.org/2005/08/addressing" 
    xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
  <types>
    <xs:schema targetNamespace="http://test.org/"
            xmlns:s="http://www.w3.org/2001/XMLSchema"
            xmlns:s0="http://example.ibm.com/" 
            xmlns:wsa="http://www.w3.org/2005/08/addressing">
      ...
       <xs:element name="exampleResponse" type="s0:typeResponse"/>
       <xs:complexType name="typeResponse">
         <xs:sequence>
           <xs:element name="myEpr" type="wsa:EndpointReferenceType"/>  1 
         </xs:sequence>
       </xs:complexType>
       ...
    </xs:schema>
  </types>
  ...
  <message name="msgResponse">
    <part element="s0:exampleResponse" name="response"/>
  </message>
  ...
</definitions>

当元素 1<xs:element name="myEpr" type="wsa:EndpointReferenceType"/>DFHWS2LS 处理且参数设置 WSADDR-EPR-ANYTRUEmyEpr ,该元素数据将在运行时以 <xsd:any> 元素的形式存储于命名容器中,同时将指向该容器的指针添加至生成的语言结构中。

例如,由 DFHWS2LS 生成的 COBOL 语言结构(针对 元素 myEpr )如下所示:
09 myEpr.      
12 myEpr-xml-cont                PIC X(16).      
12 myEpr-xmlns-cont              PIC X(16). 
myEpr-xml-cont 容器存储包含 myEpr 数据的容器的名称。 myEpr-xmlns-cont 是使用作用域中的任何 XML 名称空间声明填充的可选容器。