This is my wsdl with the schema restrictions:

<?xml version='1.0' encoding='UTF-8'?><wsdl:definitions
name="BiometricService" targetNamespace="http://ws.biometria.XXXX.com";
xmlns:ns1="http://schemas.xmlsoap.org/soap/http";
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
xmlns:tns="http://ws.biometria.XXXX.com";
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
  <wsdl:types>
<xs:schema attributeFormDefault="unqualified"
elementFormDefault="unqualified"
targetNamespace="http://ws.biometria.XXXX.com";
xmlns="http://ws.biometria.XXXX.com";
xmlns:xs="http://www.w3.org/2001/XMLSchema";>
<xs:complexType name="terminalData">
<xs:sequence>
<xs:element minOccurs="0" name="branchId">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="10"/>
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="data">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="deviceSerialNumber">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50"/>
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="zipCode">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="15"/>
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="supervisor">
<xs:sequence>
<xs:element minOccurs="0" name="birthDate" type="xs:dateTime"/>
<xs:element minOccurs="0" name="documentNumber">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="12"/>
<xs:pattern value="([0-9])*"/>
<xs:minLength value="5"/>
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="documentType">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1"/>
<xs:pattern value="[12345]"/>
<xs:minLength value="1"/>
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="name">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="80"/>
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="nickName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25"/>
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="user">
<xs:sequence>
<xs:element minOccurs="0" name="birthDate" type="xs:dateTime"/>
<xs:element minOccurs="0" name="documentNumber">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="12"/>
<xs:pattern value="([0-9])*"/>
<xs:minLength value="5"/>
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element minOccurs="0" name="documentType">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1"/>
<xs:pattern value="[12345]"/>
<xs:minLength value="1"/>
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="palmCredential">
<xs:sequence>
<xs:element minOccurs="0" name="hash" type="xs:string"/>
<xs:element minOccurs="0" name="palmData" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="InvalidBankException" type="InvalidBankException"/>
<xs:complexType name="InvalidBankException">
<xs:sequence>
<xs:element name="message" nillable="true" type="xs:string"/>
<xs:element name="errorCode" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="TicketExcpetion" type="TicketExcpetion"/>
<xs:complexType name="TicketExcpetion">
<xs:sequence>
<xs:element name="message" nillable="true" type="xs:string"/>
<xs:element name="errorCode" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="UserException" type="UserException"/>
<xs:complexType name="UserException">
<xs:sequence>
<xs:element name="message" nillable="true" type="xs:string"/>
<xs:element name="errorCode" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="getTicket" type="getTicket"/>
<xs:complexType name="getTicket">
<xs:sequence>
<xs:element minOccurs="0" name="terminalData" type="terminalData"/>
<xs:element minOccurs="0" name="supervisor" type="supervisor"/>
<xs:element name="operation" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:element name="getTicketResponse" type="getTicketResponse"/>
<xs:complexType name="getTicketResponse">
<xs:sequence>
<xs:element minOccurs="0" name="result" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="enrollment" type="enrollment"/>
<xs:complexType name="enrollment">
<xs:sequence>
<xs:element minOccurs="0" name="ticketData" type="xs:string"/>
<xs:element minOccurs="0" name="terminalData" type="terminalData"/>
<xs:element minOccurs="0" name="supervisor" type="supervisor"/>
<xs:element minOccurs="0" name="user" type="user"/>
<xs:element minOccurs="0" name="palmCredential" type="palmCredential"/>
</xs:sequence>
</xs:complexType>
<xs:element name="enrollmentResponse" type="enrollmentResponse"/>
<xs:complexType name="enrollmentResponse">
<xs:sequence>
<xs:element minOccurs="0" name="result" type="user"/>
</xs:sequence>
</xs:complexType>
<xs:element name="validate" type="validate"/>
<xs:complexType name="validate">
<xs:sequence>
<xs:element minOccurs="0" name="ticketData" type="xs:string"/>
<xs:element minOccurs="0" name="terminalData" type="terminalData"/>
<xs:element minOccurs="0" name="supervisor" type="supervisor"/>
<xs:element minOccurs="0" name="user" type="user"/>
<xs:element minOccurs="0" name="palmCredential" type="palmCredential"/>
</xs:sequence>
</xs:complexType>
<xs:element name="validateResponse" type="validateResponse"/>
<xs:complexType name="validateResponse">
<xs:sequence>
<xs:element minOccurs="0" name="result" type="user"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
  </wsdl:types>
  <wsdl:message name="SupervisorException">
    <wsdl:part element="tns:UserException" name="SupervisorException">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="enrollmentResponse">
    <wsdl:part element="tns:enrollmentResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getTicketResponse">
    <wsdl:part element="tns:getTicketResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="UserException">
    <wsdl:part element="tns:UserException" name="UserException">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="validateResponse">
    <wsdl:part element="tns:validateResponse" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="TicketException">
    <wsdl:part element="tns:TicketExcpetion" name="TicketException">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="enrollment">
    <wsdl:part element="tns:enrollment" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="InvalidBankException">
    <wsdl:part element="tns:InvalidBankException"
name="InvalidBankException">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="validate">
    <wsdl:part element="tns:validate" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:message name="getTicket">
    <wsdl:part element="tns:getTicket" name="parameters">
    </wsdl:part>
  </wsdl:message>
  <wsdl:portType name="biometricService">
    <wsdl:operation name="getTicket">
<wsdl:documentation>Get ticket</wsdl:documentation>
      <wsdl:input message="tns:getTicket" name="getTicket">
    </wsdl:input>
      <wsdl:output message="tns:getTicketResponse" name="getTicketResponse">
    </wsdl:output>
      <wsdl:fault message="tns:InvalidBankException"
name="InvalidBankException">
    </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="enrollment">
<wsdl:documentation>Enroll user</wsdl:documentation>
      <wsdl:input message="tns:enrollment" name="enrollment">
    </wsdl:input>
      <wsdl:output message="tns:enrollmentResponse"
name="enrollmentResponse">
    </wsdl:output>
      <wsdl:fault message="tns:SupervisorException"
name="SupervisorException">
    </wsdl:fault>
      <wsdl:fault message="tns:UserException" name="UserException">
    </wsdl:fault>
      <wsdl:fault message="tns:InvalidBankException"
name="InvalidBankException">
    </wsdl:fault>
      <wsdl:fault message="tns:TicketException" name="TicketException">
    </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="validate">
<wsdl:documentation>Validate user</wsdl:documentation>
      <wsdl:input message="tns:validate" name="validate">
    </wsdl:input>
      <wsdl:output message="tns:validateResponse" name="validateResponse">
    </wsdl:output>
      <wsdl:fault message="tns:SupervisorException"
name="SupervisorException">
    </wsdl:fault>
      <wsdl:fault message="tns:UserException" name="UserException">
    </wsdl:fault>
      <wsdl:fault message="tns:InvalidBankException"
name="InvalidBankException">
    </wsdl:fault>
      <wsdl:fault message="tns:TicketException" name="TicketException">
    </wsdl:fault>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="BiometricServiceSoapBinding"
type="tns:biometricService">
    <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="getTicket">
      <soap:operation soapAction="" style="document"/>
      <wsdl:input name="getTicket">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="getTicketResponse">
        <soap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="InvalidBankException">
        <soap:fault name="InvalidBankException" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="enrollment">
      <soap:operation soapAction="" style="document"/>
      <wsdl:input name="enrollment">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="enrollmentResponse">
        <soap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="SupervisorException">
        <soap:fault name="SupervisorException" use="literal"/>
      </wsdl:fault>
      <wsdl:fault name="UserException">
        <soap:fault name="UserException" use="literal"/>
      </wsdl:fault>
      <wsdl:fault name="InvalidBankException">
        <soap:fault name="InvalidBankException" use="literal"/>
      </wsdl:fault>
      <wsdl:fault name="TicketException">
        <soap:fault name="TicketException" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
    <wsdl:operation name="validate">
      <soap:operation soapAction="" style="document"/>
      <wsdl:input name="validate">
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="validateResponse">
        <soap:body use="literal"/>
      </wsdl:output>
      <wsdl:fault name="SupervisorException">
        <soap:fault name="SupervisorException" use="literal"/>
      </wsdl:fault>
      <wsdl:fault name="UserException">
        <soap:fault name="UserException" use="literal"/>
      </wsdl:fault>
      <wsdl:fault name="InvalidBankException">
        <soap:fault name="InvalidBankException" use="literal"/>
      </wsdl:fault>
      <wsdl:fault name="TicketException">
        <soap:fault name="TicketException" use="literal"/>
      </wsdl:fault>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="BiometricService">
    <wsdl:port binding="tns:BiometricServiceSoapBinding"
name="BiometricPort">
      <soap:address
location="http://localhost:8080/biometria/BiometricService"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>


For example, when I've invoked the getTicket services I get this error:
org.apache.cxf.interceptor.Fault: Unmarshalling Error: cvc-elt.1: Cannot
find the declaration of element 'terminalData'. 
        at
org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:823)
        at
org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:644)
        at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:157)
        at
org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralInInterceptor.java:259)
        at
org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:126)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
        at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:122)
        at
org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:211)
        at
org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:213)
        at
org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:193)
        at
org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:129)
        at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:187)
        at
org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:110)

I don't know why, but its happend in old services.

Any idea.

Regards



--
View this message in context: 
http://cxf.547215.n5.nabble.com/SchemaValidation-tp5711721p5712188.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to