Web サービスのプロバイダーとして、関連付けられた Web 要求の ID フィールドの値を予想される桁数に制限したいのですが、CICS によると、パターン ファセットを使用できないようです。その目的のための xsd/schema の要素。また、知る限り、長さファセット要素は、文字を数字のみに制限することをサポートしていません。
私の同僚である CICS ユーザーに、Web サービス用の WSDL ファイルと、別個ではあるが含まれている xsd ファイルを提供しました。明らかに、CICS Web Services Assistant の DFHWS2LS ツールは、xsd ファイルに含まれるパターン ファセット要素を認識しません。
(私は以下のことを知っています - そして私の同僚が個別に確認しました - 私の Web サービスコードに追加されたログ出力から - ただし、Tomcat で HTTP ダンプ設定がオフになっているため、SOAP リクエストの全文は今のところ利用できません)ログファイルのフラッディングを避けるために、起動スクリプトを使用してください。)
その結果、同僚によって生成された Web クライアント (おそらく COBOL - 不明) は、ID フィールド値が予想される桁数を含む 255 文字 (デフォルトの長さ) の文字列であるが、その後にパディングが続く要求を Web サービスに送信します。空白 - ID フィールド用。
schema/xsd に含まれるサンプルを次に示します。たとえば、ID の長さは 16 です...
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" targetNamespace="snip1" xmlns:tns="snip2" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="myUpdateStatus" type="tns:myUpdateStatus"/>
<xs:element name="myUpdateStatusResponse" type="tns:myUpdateStatusResponse"/>
<xs:complexType name="myUpdateStatus">
<xs:sequence>
<xs:element name="ssn">
<xs:simpleType>
<xs:restriction base='xs:string'>
<!-- DFHWS2LS ignores the following pattern facet-->
<xs:pattern value='[0-9]{16}'/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="updatedStatus">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="1"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="myUpdateStatusResponse">
<xs:sequence>
<xs:element name="return" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
参考までに、私は CICS ユーザーではありません。したがって、ベンダー サポート契約はありません。また、同僚のベンダー サポートに回避策があるかどうかはまだ問い合わせていません。