DFHWS2LS 用于支持 WS-Addressing 所需的参数
为 Web Service 寻址配置 WSDL 时,必须将 Web Service 助手 DFHWS2LS上的 MINIMUM-RUNTIME 和 MAPPING-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-ANY 为 TRUE 时 myEpr ,该元素数据将在运行时以 <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 名称空间声明填充的可选容器。