[Resolvido] Problema, Web Services + Axis2 + Eclispe Helios + Tomcat 6 + Skype... Skype?

Olá

Estou com problemas com meus web services, pois não consigo adicionar parâmetros aos objetos dos métodos existentes no WS (Web Service).

Meu ambiente é composto pelas seguintes Ferramentas/Frameworks:
IDE Eclipse Helios
Framework Apache Axis2
App Server Apache Tomcat 6.0.32

O que tá acontecendo?
Ao gerar o serviço, clicando em uma classe com botão-direito-do-mouse -> New -> Other -> Web Service, pelo eclipse seria possível acessá-lo via browser e então criar um cliente para o mesmo em outro projeto. Porém, não consigo atribuit valor ao parâmetro esperado pelo método do WS. Após instanciar um objeto correspondente ao método disponibilizado pelo WS, normalmente seria possível a adição de parâmetros através desse Objeto.

Exemplo, para a Classe Serviço abaixo, se ela fosse um Web Service, teria de ser criado dentro da Classe de Aplicação Cliente um primeiro objeto correspondente ao Stub do WS. Este Stub tem todas as descrições necessárias para a realização da comunicação com o serviço publicado. Depois seria necessário criar um segundo objeto correspondente ao método disponível e depois um terceiro objeto para obter as repostas que o método, disponível no WS, retorna.

primeiro objeto : CarroStub stubDeComunicacao = null;(linha 04)

segundo objeto : RetornaCarro objetoDoMetodoRetornaCarro = null; (linha 05)

terceiro objeto : RetornaCarroResponse objetoRespostaMetodoRetornaCarro = null; (linha 06)

Classe de Serviço

public class Carro {
	
	public Car retornaCarro(String placa){
		Car objCar = new Car();
		objCar.setPlaca(placa);
		objCar.setNumeroInfracoes(2);
		return objCar;
	}

}

Classe da Aplicação Cliente

class Consumidor{
	
	public static void main(String []args){
		CarroStub stubDeComunicacao = null;
		RetornaCarro objetoDoMetodoRetornaCarro = null;
		RetornaCarroResponse objetoRespostaMetodoRetornaCarro = null;
		
		try{
			stubDeComunicacao = new CarroStub();
			objetoDoMetodoRetornaCarro = new RetornaCarro();
			objetoRespostaMetodoRetornaCarro = new RetornaCarroResponse();
		} catch (Exception e){
			e.printStackTrace();
		}
		
		// Aplicando o valor do parâmetro 'String placa' do método do Web Service
		objetoDoMetodoRetornaCarro.setPlaca("AXS-2011");
		
		// Realizando requisição ao serviço		
		try {
			objetoRespostaMetodoRetornaCarro = stubDeComunicacao.retornaCarro(objetoDoMetodoRetornaCarro);
		} catch (Exception e){
			e.printStackTrace();
			System.out.println("Problemas com o retorno da Resposta na invocação do WS...")
		}
		
		// Obtendo resposta da requisição ao serviço
		br.com.teste.Car objetoResposta = objetoRespostaMetodoRetornaCarro.get_return();

		// Imprimindo o valor de um dos atributos do objeto resposta retornado pela requisição
		System.out.println(objetoResposta.getNumeroInfracoes());
	}
	
}

Mas qual seu problema, amigo?
Repare que na linha 17 da Classe da Aplicação Cliente o meu objeto correspondente ao método disponível no WS, existe uma atribuição de valor para o parâmetro que deve chegar até o WS. Porém, não consigo fazer isto, por que de alguma forma, algo tem impedido que o método setPlaca(…) seja gerado dentro da inner Class RetornaCarro, que está dentro do Stub, correspondente ao método disponível no WS.

Pensei ser um problema com portas ou protocolos (ou coisas do tipo), pois, reparei que isto passou começou a acontecer depois que instalei o Skype, nesta terça-feira (19). Então fechei o Skype (maldição) e parte do problema foi resolvido, pois, rodando testes no JUnit, todos os resultados foram Passed. Mas o método para atribuir um valor ao parâmetro ainda não existe.

Alguém tem uma idéia do que isso pode ser? Ou se o Skype realmente está modificando alguma coisa e continua atrapalhando?

MSN e Google Talk não atrapalham (“achômetro”), pois, utilizo-os simultaneamente desde o início do desenvolvimento do projeto.

Já tentei:

  1. Mudar para outras versões do Tomcat;
  2. Mudar para outras versões do Axis2;
  3. Mudar para o Eclipse Indigo;
  4. Criar um cliente em outro Dynamic Web Project;
  5. Criar um serviço simples como neste tutorial;
  6. Suicidar… (brincadeira) :slight_smile:

Alguém tem qualquer idéia de qualquer coisa que possa me ajudar?

Desde já agradeço.

Abraços.

Opa,

Consegui resolver o problema.

Bom, o que fiz foi na realidade idéia simples, mas vai muito contra a idéia do “mas vai ter de funcionar essa p$#ra!!”

Cenário Atual (Quinta-feira 21/07) - Antes de tentar algo no PC:
-Instalado Skype 5.0;
-Problemas+problemas+problemas+…
-Post no GUJ.

Ação 1:
-Voltar um ponto de restauração do Windows, criado automaticamente por ele antes da instalação do Skype 5.0, para 6 dias anteriores ao dia do post, que corresponde 3 dias anteriores ao dia de instalação do Skype 5.0. (Skype foi instalado na terça-feira 19).

Cenário Atual (Quinta-feira 21/07) - Após voltar ao ponto de restauração para o dia 15/07:
-Skype 4.2 Instalado no SO (Esta versão do Skype já estava instalada antes de eu instalar o 5.0);
-Ódio instalado. =)

Ação 2:
-Desinstalar Skype 4.2

Cenário Atual (Segunda-feira 28/07) - Após desinstalar Skype 4.2 em 28/07:
-Nenhum Skype instalado;
-Ódio ainda instalado. =)

Ação 3:
-Limpar o registro “na mão” com F3 no Iniciar->Executar->“regedit” procurando por “Skype”, parei quando começou a aparecer algumas pastas do RegEdit com nomes como esse
==="{053017A8-53F7-4EA3-AA38-A4CCAAF1F9E7}",
=== como esse “{053F9267-DC04-4294-A72C-58F732D338C0}”,
=== e mais esse "{06E58E5E-F8CB-4049-991E-A41C03BD419E}"
e mais outros zilhões que seguem mais ou menos o mesmo padrão que é um tanto de números com letras e hífen e mais números e letras e hífen, etc…
-Reinicio do SO.
-Testes com WS -> [color=green] OK[/color]

Cenário Atual (Segunda-feira 28/07) - Após desinstalar Skype 4.2 em 28/07:
-PC Limpo e livre de Skype.
-Ódio removido com sucesso!!! =)

Ação 4:
-Postar no GUJ;

Foi uma brincadeira que fiz acima indicando os passos, etc.

Mas foi exatamente isso que fiz. Restauração de ponto pelo Windows, desinstalação do Skype, limpeza de Registros “na mão” e voilá!!

Qual era o problema? Não sei. Eu sei que fazendo isso, para o meu caso, resolveu.

Não é a primeira vez que o Skype me dá esse tipo de problema.

Agradeço a todos.

Abraços.