Meu método getItens
da classe EstoqueWS
está como:
@WebMethod(operationName = "todosOsItens")
@ResponseWrapper(localName = "itens")
@WebResult(name = "item")
public List<Item> getItens(@WebParam(name = "filtros") final Filtros filtros) {
System.out.println("Chamando todosOsItens()");
return this.dao.todosItens(filtros.getLista());
}
Atualizei a request
no SoapUI
e diz um POST
com o XML
abaixo:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.estoque.caelum.com.br/">
<soapenv:Header/>
<soapenv:Body>
<ws:todosOsItens>
<!--Optional:-->
<filtros>
<!--Zero or more repetitions:-->
<filtro>
<!--Optional:-->
<nome/>
<!--Optional:-->
<tipo>Celular</tipo>
</filtro>
</filtros>
</ws:todosOsItens>
</soapenv:Body>
</soapenv:Envelope>
E estou obtendo a resposta abaixo:
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:itens xmlns:ns2="http://ws.estoque.caelum.com.br/">
<item>
<codigo>IP4</codigo>
<nome>IPhone 4 C</nome>
<quantidade>7</quantidade>
<tipo>Celular</tipo>
</item>
<item>
<codigo>IP5</codigo>
<nome>IPhone 5</nome>
<quantidade>3</quantidade>
<tipo>Celular</tipo>
</item>
<item>
<codigo>IP6</codigo>
<nome>IPhone 6 S</nome>
<quantidade>10</quantidade>
<tipo>Celular</tipo>
</item>
<item>
<codigo>MOX</codigo>
<nome>Moto X</nome>
<quantidade>6</quantidade>
<tipo>Celular</tipo>
</item>
<item>
<codigo>MOG</codigo>
<nome>Moto G</nome>
<quantidade>8</quantidade>
<tipo>Celular</tipo>
</item>
<item>
<codigo>MXX</codigo>
<nome>Moto MAXX</nome>
<quantidade>2</quantidade>
<tipo>Celular</tipo>
</item>
</ns2:itens>
</S:Body>
</S:Envelope>
Observem que a tag todosOsItens
não está aparecendo.
O que estou fazendo de errado?