2009-09-08 64 views
0

我有一個xsd,其中有很多模式限制,這個xsd在我們的wsdl中使用。當我們將耳朵部署到glassfish並在瀏覽器中調用wsdl和xsd時,我們所有的模式限制都被刪除了。爲什麼?我如何消除我們限制的剝離。 這裏是一個片段: XSD,JaxWS和Glassfish

<xsd:complexType name="len"> 
    <xsd:sequence> 
     <xsd:element name="value" type="tns:dms_len"/> 
     <xsd:element name="new_value" type="tns:dms_len" minOccurs="0"></xsd:element> 
    </xsd:sequence> 
    <xsd:attribute name="action" type="tns:update_actions"></xsd:attribute> 
</xsd:complexType> 

這裏是它看起來它展開後,如:

<!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.3.1-hudson-749-SNAPSHOT. --> 
... 
<xs:complexType name="len"> 
    <xs:sequence> 
     <xs:element name="value" type="xs:string"></xs:element> 
     <xs:element name="new_value" type="xs:string" minOccurs="0"></xs:element> 
    </xs:sequence> 
    <xs:attribute name="action" type="tns:update_actions"></xs:attribute> 
</xs:complexType> 

注意價值如何,現在NEW_VALUE只是普通的字符串。

更新: 似乎只有當我部署使用netbeans時,當我從glassfish控制檯部署它的模式限制仍然存在。爲什麼選擇netbeans?

回答

1

看起來像glassfish在從NetBeans部署並生成它自己時無法識別您的xsd。

因此,首先驗證部署的版本是否使用了正確的xsd。從NetBeans部署使用目錄部署它不會部署ear文件,而是部署項目目錄中的內容。