1
resposta

Validação no código do item alterando o schema no wsdl

Boa tarde

Alterei o shema do WSDL EstoqueWSServiceCap5.wsdl para não receber o codigo do item com menos de 3 caracteres:

      <xs:complexType name="item">
        <xs:sequence>
          <xs:element name="codigo">
          <xs:simpleType>
              <xs:restriction base="xs:string">
                  <xs:minLength value="3" />
              </xs:restriction>
          </xs:simpleType>
          </xs:element>
          <xs:element name="nome" type="xs:string" minOccurs="0"/>
          <xs:element name="quantidade" type="xs:int"/>
          <xs:element name="tipo" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:complexType>

Gerei o serviço, atualizei o SoapUI e enviei um item com codigo com um caractere e não foi lançado exceção.

Apos gerado o WSDL com wsgen pode ser feito alterações no mesmo ?

1 resposta

Renato, não consigo imaginar exatamente o porquê do wsgen não estar respeitando as restrições de parâmetros do seu wsdl. Mas cada gerador de stub, como o wsgen e os da apache, são melhores ou piores em algo.

Eu dei uma googlada e achei outras pessoas reclamando do wsgen às vezes não respeitar as restrições do xsd, e uma possível solução:

http://stackoverflow.com/questions/7754424/jax-ws-ri-does-not-enforce-xsd-restrictions