Boa tarde a todos! Estou com um problema e espero que possam me ajudar.
Estou utilizando anotações JAXB para gerar os elementos do WSDL do meu web service. Alguns dos campos do bean deste serviço precisam ser obrigatórios. Eu tentei colocar a anotação @XmlElement(required=true) antes do getter destes campos (tambem tentei colocando a anotação antes da definição da propriedade), na esperança de que o atributo minOccurs=“1” aparecesse no WSDL gerado, mas isto não acontece.
Eu tentei tambem abrir o WSDL gerado e colocar o atributo minOccurs=“1” na mão. Mesmo assim, quando eu faço o request, com o campo obrigatório não preenchido, meu web service não acusa nenhum erro.
Como eu devo proceder para checar obrigatoriedade de campos em um web service? A lógica deve ficar do lado do servidor mesmo?
Mas mesmo assim, eu ainda teria um problema. Suponhamos que um campo do tipo xsd:int não seja preenchido. Meu web service é chamado e este campo virá com valor 0 (eu testei e é isto mesmo o que ocorre). Como eu poderia saber se este 0 foi entrado de propósito pelo usuário ou se ele está ali porque o campo não foi preenchido?
P.S.: faltou dizer que meu serviço está sendo gerado pelo Apachee cxf, como um endpoint do Mule. Salada de frameworks =D
Muito obrigado!