[Resolvido] Dúvida com Override

10 respostas
K

Pessoal, boa tarde, gostaria de saber se isso deveria funcionar

@Remote
 interface A {  
     public void guj(String a,String b);
     public void guj(String a);

 }  

@WebService
@Stateless
@Remote(A.class)
 class B implements A{  
 @Override  
     public void guj(String a, String b){ }
  @Override
     public void guj(String a){}  
  }  

 }

Isso deveria funcionar? 

quando eu starto o jboss ele da erro 

Caused by: java.lang.IllegalStateException: Endpoint already registered:

Alguem  passou por isso?

10 Respostas

romarcio

Vc tem um interface então usa implements e não extends:

class B implements A{    
@Override    
     public void guj(String a, String b){ }  
  @Override  
     public void guj(String a){}    
  }
K

ah sim, já estou usando implements, escrevi errado no post, porém continua dando erro!

romarcio

Pela exceção, o JBoss diz que já tem um Endpoint registrado.

Vai no servidor e apaga coisas referentes ao WebService q está implementando, e depois gere de novo.

K

Oh,

Deletei, dei um clean

agora oh erro que ele fala, vou adaptar ao exemplo que dei

Caused by: java.lang.IllegalArgumentException: Duplicate operation with name=guj

Acho que ele não aceita os métodos iguais

Ataxexe

Não, não deveria funcionar. Você não pode ter duas operações com nomes iguais em um webservice.

K

Ataxexe:
Não, não deveria funcionar. Você não pode ter duas operações com nomes iguais em um webservice.

bom, vo testar aqui já digo se deu certo!

K

bom era isso mesmo Ataxexe!!

tive que mudar o nome do metodo!!

Muito Obrigado pela ajuda!

romarcio

kubin:
bom era isso mesmo Ataxexe!!

tive que mudar o nome do metodo!!

Muito Obrigado pela ajuda!

Na verdade vc não sobrescreveu o método(override), fez uma sobrecarga(overload).

Tentou fazer esse teste sem as anotações de @Override ?

Pq como os métodos possuem assinaturas diferentes, acho que não deveria dar problema.

Ataxexe

Na verdade no Java não há problemas em fazer sobrecarga. O problema foi no webservice que a classe representa (ele que não suporta a sobrecarga).

romarcio

A bom, não sabia que tinha esse problema em webservice.

Achei que se aplicava as mesmas regras básicas de desenvolvimento.

Criado 8 de outubro de 2010
Ultima resposta 8 de out. de 2010
Respostas 10
Participantes 3