デプロイ時に JAX-WS サービスから生成された WSDL は、関連する XMLSchema .xsd ファイルで指定された制限を反映していませんが、生成された Java クラス ファイルは反映しています。xjc を使用してスキーマをコンパイルしています。
以下は、より詳細に説明するいくつかのスニペットです: ....xsd ファイルから:
<complexType name="AuthToken">
<all
<element name="userName" maxOccurs="1" minOccurs="1">
<simpleType>
<restriction base="string">
<pattern value="[\p{L}\p{Nd}\p{P}]+"></pattern>
</restriction>
</simpleType>
</element>
....
WSDL から:
<xs:complexType name="AuthToken">
<xs:all>
<xs:element name="userName" type="xs:string"/>
<xs:element name="password" type="xs:string"/>
<xs:element name="partnerCode" type="xs:string"/>
</xs:all>
....
私は次のようなものを期待していました(そして望んでいました):
<xs:element name="username">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[\p{L}\p{Nd}\p{P}]+"/>
</xs:restriction>
</xs:simpleType>
Web サービスの関数呼び出しを定義する最上位の Java impl ファイルに、注釈などの欠落がありますか? アドバイスをいただければ幸いです。xsd/wsdl の違いに関する質問をいくつか見ましたが、該当するものはないようです。
ありがとう。