Como utilizar ArrayOfbyte para chave pública no Axis 2

Galera to com uma dúvida punk a uns 4 dias, agora eu to na dúvida se realmente da pra fazer o que eu estou tentando.
Eu criei um Web Service que recebe como parâmetro um array de bytes (de uma chave pública) e uma String.
Testando o método ele funciona perfeitamente (antes de criar o WS), passo uma chave pública, ele faz uma consulta no banco, transforma pra XML, criptografa esse XML e depois eu descriptografo. Até ai tudo bem. O problema é agora que eu gerei o cliente com Axis 2.

Eu coloquei o seguinte código:

                        // Tipo criado automaticamente pelo AXIS2
                        ArrayOfbyte[] returnEnc = null;
			
			KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");
		
			kpg.initialize(new RSAKeyGenParameterSpec(1024,
					RSAKeyGenParameterSpec.F4));
			
			KeyPair kpr = kpg.generateKeyPair();
			
			Key pub = kpr.getPublic();
			
			Key priv = kpr.getPrivate();

			AmazonasWebServiceSeguroStub stub = new AmazonasWebServiceSeguroStub();

			GetSaneamentoPorMunicipio sane = new GetSaneamentoPorMunicipio();
		
			sane.setMunicipio("Coari");

			ByteArrayDataSource ds = new ByteArrayDataSource(pub.getEncoded(),
					null);

			DataHandler dataHandler = new DataHandler(ds);

			sane.setPubByte(dataHandler);

			stub.getSaneamentoPorMunicipio(sane).get_return();
			// Não sei como lidar com esse tipo
			returnEnc = stub.getSaneamentoPorMunicipio(sane).get_return();

Não consigo ver se esta chegando uma resposta adequada do servidor, nem ao menos se está indo a chave para lá.
Não sei nem se é possível :?

Agradeço se alguém der uma ideia.

[]'s