Boa tarde galera =D… vamos ao cenário.
Meu projeto está separado da seguinte maneira
-Paginas Web
-Controller (MB)
-Facades
-Regras
-Util
Tenho uma classe no meu util que conecta a um webservice de CEP e retorna o XML dos dados.
queria fazer uma validação diretamente nesta classe para varrer uma listagem de Bairro e verificar se o bairro ja existe ou nao, e se nao existir, cadastra-lo automaticamente.
o que acontece é o seguinte. tenho o evento no MB que chama este metodo na minha classe Util. Diretamente na minha classe Util queria listar os bairros utilizando a classe de Facade. (FindAll)
mas nao consigo fazer a chamada da mesma pois está retornando sempre NULL…
já tentei utilizar a anotação @EJB na variavel facade
mas verifiquei que para ser um EJB a classe deve seguir algumas qualificações… Exemplo: ser um @ManagedBean
nao entendi muito bem o funcionamento…
aguem pode me ajudar =D
grato
Tem como mostrar com código o que quer fazer? Acho que pode ser mais fácil de se expressar.
e pra anotação @EJB funcionar sua classe tem que… ser um EJB 
[quote=Rodrigo Sasaki]Tem como mostrar com código o que quer fazer? Acho que pode ser mais fácil de se expressar.
e pra anotação @EJB funcionar sua classe tem que… ser um EJB :)[/quote]
Mas nas versões atuais do EJB não basta colocar a anotação pro AS reconhecer a classe como EJB?Ou precisa algo mais?
[quote]mas verifiquei que para ser um EJB a classe deve seguir algumas qualificações… Exemplo: ser um @ManagedBean [/quote]HEIN?!
Posta apenas pequenas partes do seu código, por favor.
Tá horrivelmente difícil de entender você! =D
Sim, se ele anotar a classe como EJB já funciona, mas tem que ver se realmente faz sentido essa classe ser um EJB no sistema dele.
[quote=Hebert Coelho][quote]mas verifiquei que para ser um EJB a classe deve seguir algumas qualificações… Exemplo: ser um @ManagedBean [/quote]HEIN?!
[/quote]
Hehehehe foi essa a minha reação também 
Sim, se ele anotar a classe como EJB já funciona, mas tem que ver se realmente faz sentido essa classe ser um EJB no sistema dele.[/quote]
Entendi,pelo visto não há a necessidade,o que ele quer é injetar o componente de alguma forma.
Pois é, é preciso ver oq ele quer.
Ou se realmente ele sabe o que ele quer…
vamo la entao =D
na tela terá um botão
<p:commandButton id="btnCep" style="height: 25px; width: 25px;" actionListener="#{usuarioController.retornaCEP}" update=":formEnd" icon="btn_preferencias"/>
que chamará o MB
[code]@ManagedBean
@SessionScoped
public class UsuarioController implements Serializable {
// parte omitida(…)
public void retornaCEP(ActionEvent evt) {
// BuscaCep é uma classe que recebe o endereço e retorna o mesmo com os dados de bairro, cidade, jd, estado etc já preenchidos. =D
endereco = new BuscaCep().retornaEnd(endereco.getCep());
}[/code]
aqui é onde estou tendo problemas.
// omitido
public class BuscaCep {
@EJB
private CidadeFacade cidadedao;
@EJB // aqui é onde estou tendo problemas
private BairroFacade bairrodao;
public Endereco retornaEnd(Endereco end) {
String cep = end.getCep().trim().replace("-", "");
if (cep.length() == 8) {
try {
Webservicecep wbCep = WBCep.getEndereco(cep);
//checa resultado de resposta do webservice
if (wbCep.getResultado().equals("1")) {
map.clear();
map.put("nome_bairro", wbCep.getBairro());
lsBairro = bairrodao.findbyCriteria(map);
if (lsBairro.isEmpty()) {
//crio o bairro no banco e já seto no endereco
end.setBairro(bairrodao.edit(new Bairro(wbCep.getBairro().toUpperCase())));
} else if (lsBairro.size() > 1) {
// Quando existir bairros com o mesmo nome
Funcoes.msg("info", "Existem" + String.valueOf(lsBairro.size()) + "com o mesmo nome!");
} else {
//pego o bairro da unica posição restante
end.setBairro(lsBairro.get(0));
}
}
} catch (JAXBException ex) {
Logger.getLogger(UsuarioController.class.getName()).log(Level.SEVERE, null, ex);
Funcoes.msg("fatal", "Falha na leitura de retorno do webService");
} catch (MalformedURLException ex) {
Logger.getLogger(UsuarioController.class.getName()).log(Level.SEVERE, null, ex);
Funcoes.msg("fatal", "WebService fora do ar, contate o administrador");
}
} else {
Funcoes.msg("info", "CEP invalido");
}
return end;
}
}
maior ou menos assim tentei criar aqui agora na mao pois tive que deixar funcionando de outra maneira muito gambiarra kkk
bairrodao.findbyCriteria(map); sempre está null pois nao consigo instancia-lo
veja se intenderam. kkk