0
我使用Jax-WS Spring support成功地在Tomcat servlet容器上公開了合同優先的JAX-WS Web服務。雖然我遇到了xs:idref
類型的麻煩。原來的XSD文件包含複雜類型如何更改Jax-WS WSDL @IDREF綁定
<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的聲明
<xs:complexType name="DocumentScopeOptionalRoleReferenceIdentifier">
<xs:simpleContent>
<xs:extension base="xs:anyType">
...
</xs:extension>
</xs:simpleContent>
</xs:complexType>
有問題的web服務的客戶報告說他們無法生成Cli (使用C#)存在此anyType
。我會如何將它改回xs:idref
?謝謝。