Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

O resultado do Serviço no SoapUI só funciona com um conjunto de filtros

Só retorna se o exemplo ficar assim:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:est="http://estoquews.caelum.com.br/">
   <soapenv:Header/>
   <soapenv:Body>
      <est:todosOsItens>
         <!--Optional:-->
         <filtros>
            <!--Zero or more repetitions:-->
            <filtro>
               <!--Optional:-->
               <nome>Moto</nome>
               <!--Optional:-->
               <tipo>Celular</tipo>
            </filtro>
         </filtros>
      </est:todosOsItens>
   </soapenv:Body>
</soapenv:Envelope>

mas se eu passar outros filtros ...

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:est="http://estoquews.caelum.com.br/">
   <soapenv:Header/>
   <soapenv:Body>
      <est:todosOsItens>
         <!--Optional:-->
         <filtros>
            <!--Zero or more repetitions:-->
            <filtro>
               <!--Optional:-->
               <nome>MEAN</nome>
               <!--Optional:-->
               <tipo>Livro</tipo>
            </filtro>
         </filtros>
      </est:todosOsItens>
   </soapenv:Body>
</soapenv:Envelope>

O resultado é :

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:todosOsItensResponse xmlns:ns2="http://estoquews.caelum.com.br/">
         <itens/>
      </ns2:todosOsItensResponse>
   </S:Body>
</S:Envelope>
2 respostas

mas tem esses livros na busca feita pelo servico? se nao tiver, retorna vazio mesmo.

solução!

Oi Alberto. Descobri o problema. Na classe ItemDao existe um Mapa ...

private void popularItensNoMapa() {
        ITENS.put("MEA", new Item.Builder().comCodigo("MEA").comNome("MEAN").comTipo("Livro").comQuantidade(5).build());
        ITENS.put("MEA", new Item.Builder().comCodigo("SEO").comNome("SEO na Prática").comTipo("Livro").comQuantidade(4).build());
        ITENS.put("RUB", new Item.Builder().comCodigo("RUB").comNome("Jogos com Ruby").comTipo("Livro").comQuantidade(8).build());
        ITENS.put("GAL", new Item.Builder().comCodigo("GAL").comNome("Galaxy Tab").comTipo("Tablet").comQuantidade(3).build());
        ITENS.put("IP4", new Item.Builder().comCodigo("IP4").comNome("IPhone 4 C").comTipo("Celular").comQuantidade(7).build());
        ITENS.put("IP5", new Item.Builder().comCodigo("IP5").comNome("IPhone 5").comTipo("Celular").comQuantidade(3).build());
        ITENS.put("IP6", new Item.Builder().comCodigo("IP6").comNome("IPhone 6 S").comTipo("Celular").comQuantidade(10).build());
        ITENS.put("MOX", new Item.Builder().comCodigo("MOX").comNome("Moto X").comTipo("Celular").comQuantidade(6).build());
        ITENS.put("MOG", new Item.Builder().comCodigo("MOG").comNome("Moto G").comTipo("Celular").comQuantidade(8).build());
        ITENS.put("MXX", new Item.Builder().comCodigo("MXX").comNome("Moto MAXX").comTipo("Celular").comQuantidade(2).build());
    }

E o primeiro livro "MEAN" está com a mesma chave do segundo "MEA" com isso ele não entra no Map. Mudei a chave e funcionou !

Não tenho certeza, mas acho que o arquivo já veio assim no modelo do curso. Bom .... Tranquilo, problema resolvido. :-)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software