Web services com tipos não primitivos

Este é meu primeiro post no GUJ.

Estou começando um trabalho de iniciação científica na Poli-USP focado em SOA, e preciso de ajuda.

Isto quer dizer que não conheço muito de SOA (mas já estou aprendendo) e não manjo nada de implementações de web-services. Além disso, também significa que tenho a liberdade para escolher os frameworks e especificações que quiser.

Gostaria de saber sobre (ou encontrar exemplos) de web-services com tipos não primitivos. Por exemplo: um web-service que recebe como parâmetro um mapa ( HashMap<String,Integer> ) .

Este mapa seria usado para mapear o nome de instrumento ao valor que este deve ser “setado”.

Além disso, apesar de me virar em em SE, sou novato em J2EE e não entendo muito sobre EJB’s etc…
Eu estava pensando em usar o JBoss com JBossWS, mas já considerei o Axis também. Não se qual implementação escolher.

A especificação JSR181 me parece interessante, por utilizar annotations.

Hoje li o artigo http://www.javaworld.com/javaworld/jw-07-2006/jw-0703-mustang.html?page=1
e pelo que entendi, não preciso de um servidor de aplicação para dispor e consumir web-services no Java6 SE.
É isso mesmo? Existe alguma desvantagem oculta nisto?

Por favor, me ajudem.
Grato.