Dúvida para montar Client de WebServices

Olá!

Estou com uma dúvida referente a WebServices, por enquanto não estou utilizando nenhum framewok, já que são apenas testes.
Elaborei uma classe simples como WebServices, fiz a publicação do wsdl utilizando o plugin do Eclipse, pois bem, tudo funcionou perfeitamente, em um segundo teste fiz com que o retorno do método seja um Array de Objeto, veja:

public Pais[] find(String nmPais){
	ArrayList<Pais> list = rdao.getAllPais( nmPais );
	Pais[] paises 		 = new Pais[list.size()];
	list.toArray(paises);

	return paises;
}

Minha dúvida está no Client, como faço para chamá-lo?
Fiz diversas pesquisas no Google, a maioria utilizam o Apache Axis, mesmo assim consegui alguns exemplos porém a minha dúvida é na hora de converter os objetos (cast), porque veja bem, em um cliente que não sabe o que é o meu Array de Pais, como ele terá acesso aos atributos?

Iniciei uma chamada no client da seguinte maneira, mas como já disse não consegui evoluir:

public class ClientServices {

	public static void main(String[] args) {

		try{
			QName qname = new QName("http://localhost/RegionServices/wsdl/Region.wsdl");
			Service service = ServiceFactory.newInstance().createService( qname );
			/*  Conectado o Serviço, mas como chamar o método???! */

		}catch(ServiceException e){
			e.printStackTrace();
		}
	}//

}

Thanks