WSDL não usa schema para validação

0 respostas
B

Olá pessoal,

Estou usando CXF para publicação de alguns webservices aqui na empresa.
Eu possuo um schema chamado simpleTypes.xsd que define um tipo, como abaixo:

<simpleType name="marcaOtica">
		<restriction base="string">
			<pattern value="[0-9]{9}"/>
		</restriction>
	</simpleType>

E este tipo está sendo usado em um outro tipo definido dentro de um WSDL:

<xsd:complexType name="ws_dadosRecuperacaoSenhaBeneficiario">
        <xsd:sequence>
          <xsd:element name="marcaOtica" type="st:marcaOtica"/>
        </xsd:sequence>
      </xsd:complexType>

Este tipo de dado deveria recebe apenas números com tamanho 9, certo?

Acontece que está sendo permitdo que o serviço seja chamado como valores como “asd123asd” ou “2 2 5 5 4 1 1 5 7”.
E estes valores inválidos acabam gerando exceção no java quando preciso recuperar o valor como Long.

A minha dúvida é a seguinte: Isso é um problema do CXF? É alguma configuração que está faltando? Pode ser algum problema com JAXB ou alguma outra biblioteca? Talvez seja alguma configuração destas outras bibliotecas?

Eu não sei mais o que fazer. Para mim isso era transparente: você define as restrições e o schema valida. Pronto.

Alguém pode me dar uma ajuda?

Obrigado.

Criado 10 de dezembro de 2009
Respostas 0
Participantes 1