Duvida web service

3 respostas
CristianPalmaSola10

Galera um web service tem como retornar um hashmap ?

meu metodo no web service esta retornando um hashmap com 5 posicoes mas aonde deveria chegar o retorno o tamanho do hashmap ficou zero

Não tenho certeza mas acho que uma vez vi que um web service so pode retornar tipos basicos, isso é verdade ?

3 Respostas

Alexandre_Saudate

É uma coisa que depende bastante da implementação. Em algumas implementações do JAXB isso funciona, em outras não. Se você ajustar o retorno do seu serviço para HashMap ao invés da interface, provavelmente funcionará sem problemas. Por via das dúvidas, neste caso, é bom usar um XmlAdapter.

[jabá mode=on]

Aliás, falei sobre Adapters no meu livro SOA Aplicado :wink:

[/jabá]

EDIT: Quanto a tipos básicos, um web service pode trafegar qualquer coisa que seja mapeável para XML. Isso inclui algumas estruturas bem complexas :wink:

[]'s

CristianPalmaSola10

Na verdade o retorno é HashMap mesmo, e não a interface, mas quando “chega a resposta” ela esta vazia e naum com o valor atribuido no serviço…

Alexandre_Saudate

Testou com SoapUI ? Geralmente, isso acontece quando existe alguma divergência no mapeamento que o servidor enxerga e no mapeamento que o cliente enxerga. Coisas do tipo:

O serviço retorna:

<return>
 <mapa>
   <map>
      <entry>sfdf</entry>
      <value>fdfd</value>
    </map>
  </mapa>
</return>

E o cliente espera:

O serviço retorna:

<return>
   <map>
      <entry>sfdf</entry>
      <value>fdfd</value>
    </map>
</return>

[]'s

Criado 17 de outubro de 2012
Ultima resposta 17 de out. de 2012
Respostas 3
Participantes 2