views:

110

answers:

1

I have a xsd with quite a few pattern restrictions in it and this xsd is used in our wsdl. When we deploy the ear to glassfish and bring up the wsdl and xsd in a browser all of our pattern restrictions are stripped out. Why? How can I eliminate the stripping of our restrictions. Here is a snippet:

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

Here is what it looks like after it is deployed:

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

Notice how value and new_value are now just plain strings.

Update: It seems this only happens when I deploy using netbeans, when I deploy from the glassfish console it the pattern restrictions are still there. Why netbeans?

+1  A: 

Looks like glassfish does not recognize your xsd when deployed from NetBeans and generates its own.

So first of all, verify that the deployed version uses the correct xsd. Deploying from NetBeans utilizes directory deployment e.g. it does not deploy the ear file but the content in your project directory.

wierob