Jax-WS Spring サポートを使用して、Tomcat サーブレット コンテナーでコントラクト ファーストの JAX-WS Web サービスを正常に公開しています。私はxs:idref
タイプでトラブルを抱えています。元の XSD ファイルに複合型が含まれています
<xs:complexType name="DocumentScopeOptionalTypeReferenceIdentifier">
<xs:simpleContent>
<xs:extension base="DocumentScopeReferenceIdentifierContent">
...
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="DocumentScopeReferenceIdentifierContent">
<xs:restriction base="xs:IDREF">
<xs:minLength value="1"/>
<xs:maxLength value="64"/>
</xs:restriction>
</xs:simpleType>
どの xjc が正しくコンパイルされるか
public class DocumentScopeOptionalTypeReferenceIdentifier {
@XmlValue
@XmlIDREF
protected Object value;
...
}
しかし、Web サービスをデプロイすると、@XmlIDREF
アノテーションが無視されxs:anyType
、結果の WSDL の in the namespace 宣言になってしまいます。
<xs:complexType name="DocumentScopeOptionalRoleReferenceIdentifier">
<xs:simpleContent>
<xs:extension base="xs:anyType">
...
</xs:extension>
</xs:simpleContent>
</xs:complexType>
問題の Web サービスのクライアントは、これを使用して (C# を使用して) クライアント スタブを生成できないと報告していanyType
ます。どうすれば元に戻すことができxs:idref
ますか? ありがとう。