2009-09-08 8 views
0

J'ai un xsd avec quelques restrictions de modèle et ce xsd est utilisé dans notre wsdl. Lorsque nous déployons l'oreille sur glassfish et que nous affichons wsdl et xsd dans un navigateur, toutes nos restrictions de motifs sont supprimées. Pourquoi? Comment puis-je éliminer le décapage de nos restrictions. Voici un extrait: XSD, JaxWS, et 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> 

Voici à quoi il ressemble après son déploiement:

<!-- 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> 

Remarquez que la valeur et new_value sont maintenant des chaînes tout simplement.

Mise à jour: Il semble que cela ne se produise que lorsque je déploie des netbeans, quand je les déploie à partir de la console glassfish, les restrictions de modèle sont toujours là. Pourquoi netbeans?

Répondre

1

On dirait que glassfish ne reconnaît pas votre xsd lorsqu'il est déployé à partir de NetBeans et génère le sien. Donc, tout d'abord, vérifiez que la version déployée utilise le bon xsd. Le déploiement à partir de NetBeans utilise le déploiement de répertoire par exemple. il ne déploie pas le fichier ear mais le contenu de votre répertoire de projet.