JAX-Web Service

6 respostas
juniorsatanas

Bom Dia !
Estou lutando para fazer meu web service roda aqui, no jboss 6, se sucesso, estou pegando um erro que não sei como resolver, se alguém poder ajudar agradeço desde já.
fontes e erro em abaixo:

package br.com.sisau.ws.bean;

import java.util.List;

import javax.ejb.Stateless;
import javax.inject.Inject;
import javax.jws.WebService;

import br.com.sisau.Pessoa;
import br.com.sisau.exception.SisauWsException;
import br.com.sisau.facade.SisauFacade;
import br.com.sisau.ws.PessoaWebService;

@WebService(portName = "PessoaWebServiceSPort", 
		serviceName = "PessoaWebService", 
		targetNamespace = "http://client.ws.sisau.com.br", 
		endpointInterface = "br.com.sisau.ws.PessoaWebService")
@Stateless
public class PessoaWebServiceBean implements PessoaWebService {

	private static final long serialVersionUID = 1L;

	@Inject
	private SisauFacade sisauFacade;

	@Override
	public Pessoa salvarPessoa(Pessoa pessoa) throws SisauWsException {
		return sisauFacade.salvarPessoa(pessoa);
	}

	@Override
	public Pessoa atualizarPessoa(Pessoa pessoa) throws SisauWsException {
		return sisauFacade.atualizarPessoa(pessoa);
	}

	@Override
	public void excluirPessoa(Long idPessoa) throws SisauWsException {
		sisauFacade.excluirPessoa(idPessoa);
	}

	@Override
	public Pessoa getPessoaPorCpfCnpj(String cpfCnpj) {
		return sisauFacade.getPessoaPorCpfCnpj(cpfCnpj);
	}

	@Override
	public Pessoa getPessoaPorId(Long id) {
		return sisauFacade.getPessoaPorId(id);
	}

	@Override
	public List<Pessoa> listarTodasPessoas() {
		return sisauFacade.listarTodasPessoas();
	}

	@Override
	public List<Pessoa> listarPessoas(String nome, String cpf, String cnpj) {
		return sisauFacade.listarPessoas(nome, cpf, cnpj);
	}

}
============================================================================================
package br.com.sisau.ws.bean;

import java.util.List;

import javax.ejb.Stateless;
import javax.inject.Inject;
import javax.jws.WebService;

import br.com.sisau.StatusDigitalUsuarioPlano;
import br.com.sisau.Usuario;
import br.com.sisau.exception.SisauWsException;
import br.com.sisau.facade.SisauFacade;
import br.com.sisau.ws.UsuarioWebService;

@WebService(portName = "UsuarioWebServicePort", 
		serviceName = "UsuarioWebService", 
		targetNamespace = "http://client.ws.sisau.com.br", 
		endpointInterface = "br.com.sisau.ws.UsuarioWebService")
@Stateless
public class UsuarioWebServiceBean implements UsuarioWebService {

	private static final long serialVersionUID = 1L;

	@Inject
	private SisauFacade sisauFacade;

	@Override
	public Usuario salvarUsuario(Usuario usuario) throws SisauWsException {
		return sisauFacade.salvarUsuario(usuario);
	}

	@Override
	public Usuario atualizarUsuario(Usuario usuario) throws SisauWsException {
		return sisauFacade.atualizarUsuario(usuario);
	}

	@Override
	public void excluirUsuario(Long idUsuario) throws SisauWsException {
		sisauFacade.excluirUsuario(idUsuario);
	}

	@Override
	public Usuario getUsuarioPorId(Long id) {
		return sisauFacade.getUsuarioPorId(id);
	}

	@Override
	public List<Usuario> listarTodosUsuarios() {
		return sisauFacade.listarTodosUsuarios();
	}

	@Override
	public StatusDigitalUsuarioPlano getStatusDigitalUsuarioPlano(String cpfCnpj) {
		return sisauFacade.getStatusDigitalUsuarioPlano(cpfCnpj);
	}

}
====================================================================================
package br.com.sisau.ws;

import java.io.Serializable;
import java.util.List;

import javax.ejb.Local;
import javax.jws.WebMethod;
import javax.jws.WebService;

import br.com.sisau.StatusDigitalUsuarioPlano;
import br.com.sisau.Usuario;
import br.com.sisau.exception.SisauWsException;

@WebService(name = "UsuarioWebService", 
 targetNamespace = "http://client.ws.sisau.com.br")
@Local
public interface UsuarioWebService extends Serializable {

	@WebMethod
	Usuario salvarUsuario(Usuario usuario) throws SisauWsException;

	@WebMethod
	Usuario atualizarUsuario(Usuario usuario) throws SisauWsException;

	@WebMethod
	void excluirUsuario(Long idUsuario) throws SisauWsException;

	@WebMethod
	Usuario getUsuarioPorId(Long id);

	@WebMethod
	List<Usuario> listarTodosUsuarios();

	@WebMethod
	StatusDigitalUsuarioPlano getStatusDigitalUsuarioPlano(String cpfCnpj);

}
===============================================================================
package br.com.sisau.ws;

import java.io.Serializable;
import java.util.List;

import javax.ejb.Local;
import javax.jws.WebMethod;
import javax.jws.WebService;

import br.com.sisau.Pessoa;
import br.com.sisau.exception.SisauWsException;

@WebService(name = "PessoaWebService", 
 targetNamespace = "http://client.ws.sisau.com.br")
@Local
public interface PessoaWebService extends Serializable {

	@WebMethod
	Pessoa salvarPessoa(Pessoa pessoa) throws SisauWsException;

	@WebMethod
	Pessoa atualizarPessoa(Pessoa pessoa) throws SisauWsException;

	@WebMethod
	void excluirPessoa(Long idPessoa) throws SisauWsException;

	@WebMethod
	Pessoa getPessoaPorCpfCnpj(String cpfCnpj);

	@WebMethod
	Pessoa getPessoaPorId(Long id);

	@WebMethod
	List<Pessoa> listarTodasPessoas();

	@WebMethod
	List<Pessoa> listarPessoas(String nome, String cpf, String cnpj);

}
=============================================================================
package br.com.sisau.rs.bean;

import java.lang.reflect.Type;
import java.util.List;

import javax.ejb.Stateless;
import javax.inject.Inject;

import br.com.sisau.StatusDigitalUsuarioPlano;
import br.com.sisau.Usuario;
import br.com.sisau.enums.StatusSisauResponse;
import br.com.sisau.exception.SisauWsException;
import br.com.sisau.facade.SisauFacade;
import br.com.sisau.rs.UsuarioResource;
import br.com.sisau.vo.SisauResponse;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

@Stateless
public class UsuarioResourceBean implements UsuarioResource {

	private static final long serialVersionUID = 1L;

	@Inject
	private SisauFacade sisauFacade;

	@Override
	public String getStatusDigitalUsuarioPlano(String cpfCnpj) {
		StatusDigitalUsuarioPlano status = sisauFacade
				.getStatusDigitalUsuarioPlano(cpfCnpj);
		return new Gson().toJson(status);
	}

	@Override
	public String salvarUsuario(String jsonUsuario) {
		Gson gson = new Gson();
		Usuario usuario = gson.fromJson(jsonUsuario, Usuario.class);
		SisauResponse<Usuario> retorno = new SisauResponse<Usuario>();
		try {
			usuario = sisauFacade.salvarUsuario(usuario);
			retorno.setObjeto(usuario);
			retorno.setStatus(StatusSisauResponse.SUCESSO);
		} catch (SisauWsException e) {
			retorno.setMensagens(e.getMessages());
			retorno.setStatus(StatusSisauResponse.ERRO);
		}
		Type type = new TypeToken<SisauResponse><Usuario>>() {
		}.getType();
		return new Gson().toJson(retorno, type);
	}

	@Override
	public String atualizarUsuario(String jsonUsuario) {
		Gson gson = new Gson();
		Usuario usuario = gson.fromJson(jsonUsuario, Usuario.class);
		SisauResponse<Usuario> retorno = new SisauResponse<Usuario>();
		try {
			usuario = sisauFacade.atualizarUsuario(usuario);
			retorno.setObjeto(usuario);
			retorno.setStatus(StatusSisauResponse.SUCESSO);
		} catch (SisauWsException e) {
			retorno.setMensagens(e.getMessages());
			retorno.setStatus(StatusSisauResponse.ERRO);
		}
		Type type = new TypeToken<SisauResponse><Usuario>>() {
		}.getType();
		return new Gson().toJson(retorno, type);
	}

	@Override
	public String excluirUsuario(Long id) {
		SisauResponse<Usuario> retorno = new SisauResponse<Usuario>();
		try {
			sisauFacade.excluirUsuario(id);
			retorno.setStatus(StatusSisauResponse.SUCESSO);
		} catch (SisauWsException e) {
			retorno.setMensagens(e.getMessages());
			retorno.setStatus(StatusSisauResponse.ERRO);
		}
		Type type = new TypeToken<SisauResponse><Usuario>>() {
		}.getType();
		return new Gson().toJson(retorno, type);
	}

	@Override
	public String getUsuarioPorId(Long id) {
		Usuario usuario = sisauFacade.getUsuarioPorId(id);
		return new Gson().toJson(usuario);
	}

	@Override
	public String listarTodosUsuarios() {
		List<Usuario> usuarios = sisauFacade.listarTodosUsuarios();
		Type type = new TypeToken<List><Usuario>>() {
		}.getType();
		return new Gson().toJson(usuarios, type);
	}
}
======================================================================
package br.com.sisau.rs.bean;

import java.lang.reflect.Type;
import java.util.List;

import javax.ejb.Stateless;
import javax.inject.Inject;

import br.com.sisau.Pessoa;
import br.com.sisau.enums.StatusSisauResponse;
import br.com.sisau.exception.SisauWsException;
import br.com.sisau.facade.SisauFacade;
import br.com.sisau.rs.PessoaResource;
import br.com.sisau.vo.SisauResponse;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

@Stateless
public class PessoaResourceBean implements PessoaResource {

	private static final long serialVersionUID = 1L;

	@Inject
	private SisauFacade sisauFacade;

	@Override
	public String salvarPessoa(String jsonPessoa) {
		Gson gson = new Gson();
		Pessoa pessoa = gson.fromJson(jsonPessoa, Pessoa.class);
		SisauResponse<Pessoa> retorno = new SisauResponse<Pessoa>();
		try {
			pessoa = sisauFacade.salvarPessoa(pessoa);
			retorno.setObjeto(pessoa);
			retorno.setStatus(StatusSisauResponse.SUCESSO);
		} catch (SisauWsException e) {
			retorno.setMensagens(e.getMessages());
			retorno.setStatus(StatusSisauResponse.ERRO);
		}
		Type type = new TypeToken<SisauResponse><Pessoa>>() {
		}.getType();
		return new Gson().toJson(retorno, type);
	}

	@Override
	public String atualizarPessoa(String jsonPessoa) {
		Gson gson = new Gson();
		Pessoa pessoa = gson.fromJson(jsonPessoa, Pessoa.class);
		SisauResponse<Pessoa> retorno = new SisauResponse<Pessoa>();
		try {
			pessoa = sisauFacade.atualizarPessoa(pessoa);
			retorno.setObjeto(pessoa);
			retorno.setStatus(StatusSisauResponse.SUCESSO);
		} catch (SisauWsException e) {
			retorno.setMensagens(e.getMessages());
			retorno.setStatus(StatusSisauResponse.ERRO);
		}
		Type type = new TypeToken<SisauResponse><Pessoa>>() {
		}.getType();
		return new Gson().toJson(retorno, type);
	}

	@Override
	public String excluirPessoa(Long idPessoa) {
		SisauResponse<Pessoa> retorno = new SisauResponse<Pessoa>();
		try {
			sisauFacade.excluirPessoa(idPessoa);
			retorno.setStatus(StatusSisauResponse.SUCESSO);
		} catch (SisauWsException e) {
			retorno.setMensagens(e.getMessages());
			retorno.setStatus(StatusSisauResponse.ERRO);
		}
		Type type = new TypeToken<SisauResponse><Pessoa>>() {
		}.getType();
		return new Gson().toJson(retorno, type);

	}

	@Override
	public String getPessoaPorCpfCnpj(String cpfCnpj) {
		Pessoa pessoa = sisauFacade.getPessoaPorCpfCnpj(cpfCnpj);
		return new Gson().toJson(pessoa);
	}

	@Override
	public String getPessoaPorId(Long id) {
		Pessoa pessoa = sisauFacade.getPessoaPorId(id);
		return new Gson().toJson(pessoa);
	}

	@Override
	public String listarTodasPessoas() {
		List<Pessoa> pessoas = sisauFacade.listarTodasPessoas();
		Type type = new TypeToken<List><Pessoa>>() {
		}.getType();
		return new Gson().toJson(pessoas, type);
	}

	@Override
	public String listarPessoas(String nome, String cpf, String cnpj) {
		List<Pessoa> pessoas = sisauFacade.listarPessoas(nome, cpf, cnpj);
		Type type = new TypeToken<List><Pessoa>>() {
		}.getType();
		return new Gson().toJson(pessoas, type);
	}

}
================================================================================
package br.com.sisau.rs;

import java.io.Serializable;

import javax.ejb.Local;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Path("/usuarios")
@Produces(MediaType.APPLICATION_JSON + ";charset=ISO-8859-1")
@Consumes(MediaType.APPLICATION_JSON + ";charset=ISO-8859-1")
@Local
public interface UsuarioResource extends Serializable {

	@GET
	@Path("/status_digital/{cpf_cnpj}")
	String getStatusDigitalUsuarioPlano(@PathParam("cpf_cnpj") String cpfCnpj);

	@POST
	@Path("/salavar")
	String salvarUsuario(String jsonUsuario);

	@POST
	@Path("/atualizar")
	String atualizarUsuario(String jsonUsuario);

	@POST
	@Path("/excluir/{id}")
	String excluirUsuario(@PathParam("id") Long id);

	@GET
	@Path("/{id}")
	String getUsuarioPorId(@PathParam("id") Long id);

	@GET
	String listarTodosUsuarios();

}
=================================================================
package br.com.sisau.rs;

import java.io.Serializable;

import javax.ejb.Local;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;

@Path("/pessoas")
@Produces(MediaType.APPLICATION_JSON + ";charset=ISO-8859-1")
@Consumes(MediaType.APPLICATION_JSON + ";charset=ISO-8859-1")
@Local
public interface PessoaResource extends Serializable {

	@POST
	@Path("/salvar")
	String salvarPessoa(String jsonPessoa);

	@POST
	@Path("/atualizar")
	String atualizarPessoa(String jsonPessoa);

	@POST
	@Path("/excluir/{id}")
	String excluirPessoa(@PathParam("id") Long idPessoa);

	@GET
	@Path("/cpf_cnpj/{cpf_cnpj}")
	String getPessoaPorCpfCnpj(@PathParam("cpf_cnpj") String cpfCnpj);

	@GET
	@Path("/{id}")
	String getPessoaPorId(@PathParam("id") Long id);

	@GET
	String listarTodasPessoas();

	@GET
	@Path("/pesquisar")
	String listarPessoas(@QueryParam("nome") String nome,
			@QueryParam("cpf") String cpf, @QueryParam("cnpj") String cnpj);
}
=============================================================================
package br.com.sisau.service;

import java.io.Serializable;
import java.util.List;

import javax.ejb.Local;

import br.com.sisau.Pessoa;
import br.com.sisau.exception.SisauWsException;

@Local
public interface PessoaService extends Serializable {

	Pessoa salvarPessoa(Pessoa pessoa) throws SisauWsException;

	Pessoa atualizarPessoa(Pessoa pessoa) throws SisauWsException;

	void excluirPessoa(Long idPessoa) throws SisauWsException;

	Pessoa getPessoaPorCpfCnpj(String cpfCnpj);

	Pessoa getPessoaPorId(Long id);

	List<Pessoa> listarTodasPessoas();

	List<Pessoa> listarPessoas(String nome, String cpf, String cnpj);

}
================================================================================
package br.com.sisau.service;

import java.io.Serializable;
import java.util.List;

import javax.ejb.Local;

import br.com.sisau.Pessoa;
import br.com.sisau.exception.SisauWsException;

@Local
public interface PessoaService extends Serializable {

	Pessoa salvarPessoa(Pessoa pessoa) throws SisauWsException;

	Pessoa atualizarPessoa(Pessoa pessoa) throws SisauWsException;

	void excluirPessoa(Long idPessoa) throws SisauWsException;

	Pessoa getPessoaPorCpfCnpj(String cpfCnpj);

	Pessoa getPessoaPorId(Long id);

	List<Pessoa> listarTodasPessoas();

	List<Pessoa> listarPessoas(String nome, String cpf, String cnpj);

}
===============================================================================
package br.com.sisau.service;

import javax.ejb.Remote;

@Remote
public interface UsuarioServiceRemote extends UsuarioService {

}
================================================================================

package br.com.sisau.repository.bean;

import java.util.List;
import javax.persistence.Query;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;
import br.com.sisau.Pessoa;
import br.com.sisau.repository.PessoaRepository;

@SuppressWarnings("unchecked")
public class PessoaRepositoryBean extends SisauRepositoryBean implements
		PessoaRepository {

	private static final long serialVersionUID = 1L;

	@Override
	public Pessoa getPessoaPorCpfCnpj(String cpfCnpj) {
		Criteria criteria = getSession().createCriteria(Pessoa.class);
		criteria.add(Restrictions.or(Restrictions.eq("cpf", cpfCnpj),
				Restrictions.eq("cnpj", cpfCnpj)));
		@SuppressWarnings("rawtypes")
		List ps = criteria.list();
		return ps.size() > 0 ? (Pessoa) ps.get(0) : null;
	}
	@Override
	public List<Pessoa> listarPessoas(String nome, String cpf, String cnpj) {
		StringBuilder hql = new StringBuilder(
				"select p from Pessoa p where 1=1");
		if (StringUtils.isNotBlank(nome)) {
			hql.append(" and p.nome like :nome");
		}
		if (StringUtils.isNotBlank(cpf)) {
			hql.append(" and p.cpf like :cpf");
		}
		if (StringUtils.isNotBlank(cnpj)) {
			hql.append(" and p.cnpj like :cnpj");
		}
		Query query = entityManager.createQuery(hql.toString());
		if (StringUtils.isNotBlank(nome)) {
			query.setParameter("nome", nome);
		}
		if (StringUtils.isNotBlank(cpf)) {
			query.setParameter("cpf", cpf);
		}
		if (StringUtils.isNotBlank(cnpj)) {
			query.setParameter("cnpj", cnpj);
		}
		return query.getResultList();
	}
}
===========================================================================
package br.com.sisau.repository.bean;

import javax.persistence.NoResultException;
import javax.persistence.Query;
import br.com.sisau.StatusDigitalUsuarioPlano;
import br.com.sisau.repository.UsuarioRepository;

@SuppressWarnings("unchecked")
public class UsuarioRepositoryBean extends SisauRepositoryBean implements
		UsuarioRepository {

	private static final long serialVersionUID = 1L;

	@Override
	public StatusDigitalUsuarioPlano getStatusDigital(String cpfCnpj) {
		Query query = entityManager.createNamedQuery("StatusDigitalUsuarioPlano.listarStatusPorNomePessoa");
		query.setParameter("cpfCnpj", cpfCnpj);
		Object result = null;
		try {
			result = query.getSingleResult();
		} catch (NoResultException e) {
			// nada a fazer
		}
		return result == null ? null : (StatusDigitalUsuarioPlano) result;
	}
}
======================================================================================

ERRO:

12:35:12,825 WARN [org.jboss.ejb3.TimerServiceContainer] EJBTHREE-2193: using deprecated TimerServiceFactory for restoring timers
12:35:40,455 ERROR [org.jboss.ejb3.tx2.impl.CMTTxInterceptor] javax.ejb.EJBTransactionRolledbackException: exception invoking: getPessoaResource
12:35:40,463 GRAVE [javax.enterprise.resource.webcontainer.jsf.application] javax.ejb.EJBTransactionRolledbackException: exception invoking: getPessoaResource: javax.faces.el.EvaluationException: javax.ejb.EJBTransactionRolledbackException: exception invoking: getPessoaResource
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102) [:1.2_15-20100816-SNAPSHOT]
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) [:1.2_15-20100816-SNAPSHOT]
at javax.faces.component.UICommand.broadcast(UICommand.java:387) [:1.2_15-20100816-SNAPSHOT]
at org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55) [:3.3.3.Final]
at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:329) [:3.3.3.Final]
at org.ajax4jsf.component.AjaxViewRoot.broadcastEventsForPhase(AjaxViewRoot.java:304) [:3.3.3.Final]
at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:261) [:3.3.3.Final]
at org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:474) [:3.3.3.Final]
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82) [:1.2_15-20100816-SNAPSHOT]
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100) [:1.2_15-20100816-SNAPSHOT]
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) [:1.2_15-20100816-SNAPSHOT]
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) [:1.2_15-20100816-SNAPSHOT]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83) [:2.2.1.Final]
at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40) [:2.2.1.Final]
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [:2.2.1.Final]
at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90) [:2.2.1.Final]
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [:2.2.1.Final]
at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) [:2.2.1.Final]
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [:2.2.1.Final]
at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) [:2.2.1.Final]
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [:2.2.1.Final]
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206) [:3.3.3.Final]
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) [:3.3.3.Final]
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388) [:3.3.3.Final]
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515) [:3.3.3.Final]
at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56) [:2.2.1.Final]
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [:2.2.1.Final]
at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60) [:2.2.1.Final]
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [:2.2.1.Final]
at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53) [:2.2.1.Final]
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [:2.2.1.Final]
at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) [:2.2.1.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) [:6.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.0.0.Final]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [:6.0.0.Final]
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.0.0.Final]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) [:6.0.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.Final]
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.0.0.Final]
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.0.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [:6.0.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.0.0.Final]
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.0.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.0.0.Final]
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.0.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.0.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.0.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.0.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.0.0.Final]
at java.lang.Thread.run(Unknown Source) [:1.6.0_31]
Caused by: javax.ejb.EJBTransactionRolledbackException: exception invoking: getPessoaResource
at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.handleInCallerTx(CMTTxInterceptor.java:148) [:0.0.1]
at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:227) [:0.0.1]
at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.required(CMTTxInterceptor.java:353) [:0.0.1]
at org.jboss.ejb3.tx2.impl.CMTTxInterceptor.invoke(CMTTxInterceptor.java:209) [:0.0.1]
at org.jboss.ejb3.tx2.aop.CMTTxInterceptorWrapper.invoke(CMTTxInterceptorWrapper.java:52) [:0.0.1]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.1.GA]
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76) [:1.0.0.GA]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.1.GA]
at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42) [:1.0.3]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.1.GA]
at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:182) [:1.7.17]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.1.GA]
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:41) [:1.7.17]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.1.GA]
at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:67) [:1.7.17]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.1.GA]
at org.jboss.ejb3.core.context.CurrentInvocationContextInterceptor.invoke(CurrentInvocationContextInterceptor.java:47) [:1.7.17]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.1.GA]
at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterceptor.java:67) [:1.0.1]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.1.GA]
at org.jboss.ejb3.interceptor.EJB3TCCLInterceptor.invoke(EJB3TCCLInterceptor.java:86) [:1.7.17]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.1.GA]
at org.jboss.ejb3.session.SessionSpecContainer.invoke(SessionSpecContainer.java:323) [:1.7.17]
at org.jboss.ejb3.session.SessionSpecContainer.invoke(SessionSpecContainer.java:380) [:1.7.17]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_31]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [:1.6.0_31]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [:1.6.0_31]
at java.lang.reflect.Method.invoke(Unknown Source) [:1.6.0_31]
at org.jboss.ejb3.proxy.impl.handler.session.SessionLocalProxyInvocationHandler$LocalContainerInvocation.invokeTarget(SessionLocalProxyInvocationHandler.java:184) [:1.0.11]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111) [jboss-aop.jar:2.2.1.GA]
at org.jboss.ejb3.async.impl.interceptor.AsynchronousClientInterceptor.invoke(AsynchronousClientInterceptor.java:143) [:1.7.17]
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102) [jboss-aop.jar:2.2.1.GA]
at org.jboss.ejb3.proxy.impl.handler.session.SessionLocalProxyInvocationHandler$LocalInvokableContextHandler.invoke(SessionLocalProxyInvocationHandler.java:159) [:1.0.11]
at $Proxy281.invoke(Unknown Source) at org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandlerBase.invoke(SessionProxyInvocationHandlerBase.java:185) [:1.0.11]
at $Proxy280.pesquisarPorParamentros(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_31]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [:1.6.0_31]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [:1.6.0_31]
at java.lang.reflect.Method.invoke(Unknown Source) [:1.6.0_31]
at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) [:2.2.1.Final]
at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32) [:2.2.1.Final]
at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76) [:2.2.1.Final]
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56) [:2.2.1.Final]
at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) [:2.2.1.Final]
at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54) [:2.2.1.Final]
at org.javassist.tmp.java.lang.Object_$$_javassist_seam_3.pesquisarPorParamentros(Object_$$_javassist_seam_3.java)
at br.com.Sisau.conceito.action.pessoa.PessoaListAction.pesquisar(PessoaListAction.java:31) [:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_31]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [:1.6.0_31]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [:1.6.0_31]
at java.lang.reflect.Method.invoke(Unknown Source) [:1.6.0_31]
at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) [:2.2.1.Final]
at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32) [:2.2.1.Final]
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56) [:2.2.1.Final]
at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28) [:2.2.1.Final]
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [:2.2.1.Final]
at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77) [:2.2.1.Final]
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [:2.2.1.Final]
at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44) [:2.2.1.Final]
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [:2.2.1.Final]
at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) [:2.2.1.Final]
at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185) [:2.2.1.Final]
at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103) [:2.2.1.Final]
at br.com.Sisau.conceito.action.pessoa.PessoaListAction_$$_javassist_seam_4.pesquisar(PessoaListAction_$$_javassist_seam_4.java) [:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [:1.6.0_31]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [:1.6.0_31]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [:1.6.0_31]
at java.lang.reflect.Method.invoke(Unknown Source) [:1.6.0_31]
at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:335) [:1.0_02.CR5]
at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:280) [:1.0_02.CR5]
at org.jboss.el.parser.AstMethodSuffix.getValue(AstMethodSuffix.java:59) [:1.0_02.CR5]
at org.jboss.el.parser.AstMethodSuffix.invoke(AstMethodSuffix.java:65) [:1.0_02.CR5]
at org.jboss.el.parser.AstValue.invoke(AstValue.java:96) [:1.0_02.CR5]
at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) [:1.0_02.CR5]
at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68) [:1.1.15.B1]
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88) [:1.2_15-20100816-SNAPSHOT]
... 53 more

6 Respostas

Alexandre_Saudate

Onde está o método getPessoaResource ?

juniorsatanas

Bom Dia ASA !

segue o cliente:

package br.com.sisau.conceito.modelo.impl;

import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;

import javax.ejb.Stateless;

import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;

import br.com.sisau.Pessoa;
import br.com.sisau.conceito.exception.ConceitoException;
import br.com.sisau.conceito.modelo.PessoaApp;
import br.com.sisau.enums.StatusSisauResponse;
import br.com.sisau.rs.PessoaResource;
import br.com.sisau.vo.SisauResponse;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

@Name(value = "pessoaAppRest")
@Stateless
public class PessoaAppRestBean implements PessoaApp {

	private static final long serialVersionUID = 1L;

	@In(create = true)
	private PessoaResource pessoaResource;

	public Pessoa salvar(Pessoa pessoa) throws ConceitoException {
		Gson gson = new Gson();
		String jsonResponse = pessoaResource.salvarPessoa(gson.toJson(pessoa));
		Type type = new TypeToken<SisauResponse><Pessoa>>() {
		}.getType();
		SisauResponse<Pessoa> sisauResponse = gson.fromJson(jsonResponse,
				type);
		if (StatusSisauResponse.ERRO.equals(sisauResponse.getStatus())) {
			throw new ConceitoException(sisauResponse.getMensagens());
		}
		return sisauResponse.getObjeto();
	}

	public Pessoa atualizar(Pessoa pessoa) throws ConceitoException {
		Gson gson = new Gson();
		String jsonResponse = pessoaResource.atualizarPessoa(gson
				.toJson(pessoa));
		Type type = new TypeToken<SisauResponse><Pessoa>>() {
		}.getType();
		SisauResponse<Pessoa> sisauResponse = gson.fromJson(jsonResponse,
				type);
		if (StatusSisauResponse.ERRO.equals(sisauResponse.getStatus())) {
			throw new ConceitoException(sisauResponse.getMensagens());
		}
		return sisauResponse.getObjeto();
	}

	public void excluir(Pessoa pessoa) throws ConceitoException {
		if (pessoa == null) {
			return;
		}
		Gson gson = new Gson();
		String jsonResponse = pessoaResource.excluirPessoa(pessoa.getId());
		Type type = new TypeToken<SisauResponse><Pessoa>>() {
		}.getType();
		SisauResponse<Pessoa> sisauResponse = gson.fromJson(jsonResponse,
				type);
		if (StatusSisauResponse.ERRO.equals(sisauResponse.getStatus())) {
			throw new ConceitoException(sisauResponse.getMensagens());
		}
	}

	public Pessoa pesquisarPorId(Pessoa pessoa) {
		if (pessoa == null) {
			return null;
		}
		String jsonResponse = pessoaResource.getPessoaPorId(pessoa.getId());
		System.out.println("==============================>"+pessoa);
		return new Gson().fromJson(jsonResponse, Pessoa.class);
	}

	public List<Pessoa> pesquisarPorParamentros(Pessoa pessoa) {
		if (pessoa == null) {
			return new ArrayList<Pessoa>(0);
		}
		String jsonResponse = pessoaResource.listarPessoas(pessoa.getNome(),pessoa.getCpf(), pessoa.getCnpj());
		Type type = new TypeToken<List><Pessoa>>() {
		}.getType();
		System.out.println("==============================>"+pessoa);
		return new Gson().fromJson(jsonResponse, type);
	}

}
================================================================================================
package br.com.sisau.conceito.resource;

import java.io.Serializable;

import org.jboss.resteasy.client.ProxyFactory;
import org.jboss.resteasy.plugins.providers.RegisterBuiltin;
import org.jboss.resteasy.spi.ResteasyProviderFactory;
import org.jboss.seam.annotations.Factory;
import org.jboss.seam.annotations.Name;

import br.com.sisau.rs.PessoaResource;
import br.com.sisau.rs.UsuarioResource;
import br.com.sisau.ws.client.PessoaWebService;
import br.com.sisau.ws.client.PessoaWebService_Service;

@Name("sisauResource")
public class SisauResource implements Serializable {

	private static final long serialVersionUID = 1L;
	private static final String URL_BASE_HAPVIDA_EXEMPLO = "http://localhost:8080/sisau-ws/rest";

	@Factory
	public PessoaResource getPessoaResource() {
		ResteasyProviderFactory factory = ResteasyProviderFactory.getInstance();
		RegisterBuiltin.register(factory);
		return ProxyFactory.create(PessoaResource.class,
				URL_BASE_HAPVIDA_EXEMPLO);
	}

	@Factory
	public UsuarioResource getUsuarioResource() {
		ResteasyProviderFactory factory = ResteasyProviderFactory.getInstance();
		RegisterBuiltin.register(factory);
		return ProxyFactory.create(UsuarioResource.class,
				URL_BASE_HAPVIDA_EXEMPLO);
	}

	@Factory
	public PessoaWebService getPessoaWebService() {
		return new PessoaWebService_Service().getPessoaWebServicePort();
	}

}
============================================================================================
package br.com.sisau.conceito.modelo;

import java.io.Serializable;
import java.util.List;

import javax.ejb.Local;

import br.com.sisau.Pessoa;
import br.com.sisau.conceito.exception.ConceitoException;

@Local
public interface PessoaApp extends Serializable {

	Pessoa salvar(Pessoa pessoa) throws ConceitoException;

	Pessoa atualizar(Pessoa pessoa) throws ConceitoException;

	void excluir(Pessoa entity) throws ConceitoException;

	Pessoa pesquisarPorId(Pessoa pessoa);

	List<Pessoa> pesquisarPorParamentros(Pessoa pessoa);

}
===============================================================================================
package br.com.sisau.conceito.exception;

import java.util.List;

import br.com.sisau.exception.SisauException;

public class ConceitoException extends SisauException {

	private static final long serialVersionUID = 1L;

	public ConceitoException() {
		super();
	}

	public ConceitoException(List<String> messages, Throwable cause) {
		super(messages, cause);
	}

	public ConceitoException(List<String> messages) {
		super(messages);
	}

	public ConceitoException(String message, Throwable cause) {
		super(message, cause);
	}

	public ConceitoException(String message) {
		super(message);
	}

	public ConceitoException(Throwable cause) {
		super(cause);
	}

}
===============================================================================
package br.com.sisau.conceito.action.pessoa;

import java.util.ArrayList;
import java.util.List;

import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Create;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.datamodel.DataModel;

import br.com.sisau.Pessoa;
import br.com.sisau.conceito.action.AppAction;
import br.com.sisau.conceito.modelo.PessoaApp;

@Name("pessoaListAction")
@Scope(ScopeType.CONVERSATION)
public class PessoaListAction extends AppAction {

	@In(value = "pessoaAppRest", create = true)
	private PessoaApp pessoaAppRest;

	@DataModel
	private List<Pessoa> pessoas;

	private Pessoa pessoa;

	public void pesquisar() throws Exception {
		pessoas = pessoaAppRest.pesquisarPorParamentros(pessoa);
	}

	@Create
	public void init() throws Exception {
		limpar();
	}

	public String prepararPesquisa() throws Exception {
		limpar();
		return "success";
	}

	public void limpar() {
		pessoas = new ArrayList<Pessoa>();
		pessoa = new Pessoa();
	}

	public List<Pessoa> getPessoas() {
		return pessoas;
	}

	public void setPessoas(List<Pessoa> pessoas) {
		this.pessoas = pessoas;
	}

	public Pessoa getPessoa() {
		return pessoa;
	}

	public void setPessoa(Pessoa pessoa) {
		this.pessoa = pessoa;
	}

}
============================================================================
package br.com.sisau.conceito.action.pessoa;

import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import br.com.sisau.Pessoa;
import br.com.sisau.conceito.action.AppAction;
import br.com.sisau.conceito.modelo.PessoaApp;

@Name("pessoaAction")
@Scope(ScopeType.CONVERSATION)
public class PessoaAction extends AppAction {

	private Pessoa pessoa;
	private Long idPessoaSelecionada;
	private int numeroDetalhe = 1;

	@In(value = "pessoaAppRest", create = true) 
	private PessoaApp pessoaApp;

	public void pesquisar() throws Exception {
		pessoa = (Pessoa) pessoaApp.pesquisarPorParamentros(pessoa);
		System.out.println("===============action===============>"+pessoa);
	}

	public String atualizar() throws Exception {
		pessoaApp.atualizar(pessoa);
		statusMessages.clearGlobalMessages();
		statusMessages.add("Registro Atualizado com Sucesso");
		return "success";
	}

	public String remover() throws Exception {
		pessoa = new Pessoa();
		pessoa.setId(idPessoaSelecionada);
		pessoaApp.excluir(pessoa);
		statusMessages.clearGlobalMessages();
		statusMessages.add("Registro removido com Sucesso");
		return "success";
	}

	public String salvar() throws Exception {
		if (pessoa.getId() == null) {
			pessoaApp.salvar(pessoa);
		} else {
			pessoaApp.atualizar(pessoa);
		}
		statusMessages.clearGlobalMessages();
		statusMessages.add("Registro Salvo com Sucesso");
		return "success";
	}

	public String prepararInclusao() throws Exception {
		if (pessoa == null) {
			pessoa = new Pessoa();
		}
		return "success";
	}

	public void addNovoDetalhe() {
		// nada a fazer
	}

	public String prepararEdicao() throws Exception {
		pessoa = new Pessoa();
		pessoa.setId(idPessoaSelecionada);
		pessoa = pessoaApp.pesquisarPorId(pessoa);
		return "success";
	}

	public Pessoa getPessoa() {
		return pessoa;
	}

	public void setPessoa(Pessoa pessoa) {
		this.pessoa = pessoa;
	}

	public Long getIdPessoaSelecionada() {
		return idPessoaSelecionada;
	}

	public void setIdPessoaSelecionada(Long idPessoaSelecionada) {
		this.idPessoaSelecionada = idPessoaSelecionada;
	}

	public int getNumeroDetalhe() {
		return numeroDetalhe;
	}

	public void setNumeroDetalhe(int numeroDetalhe) {
		this.numeroDetalhe = numeroDetalhe;
	}
}
[code] =================================================================================
Alexandre_Saudate

Bom… vamos lá.

O primeiro método que você executa (que sai da página), é o pesquisarPorParamentros. Ele causa a execução do método getPessoaResource, que é onde a exceção está sendo lançada (acredito que ele não está conseguindo criar o proxy do RestEasy). O serviço está no ar, quando esta execução é feita? Cheque o endereço http://localhost:8080/sisau-ws/rest. Você tem como conseguir o resto do stack trace? O lugar onde tem o “Caused by” desta exceção:

[]'s

juniorsatanas

ASA, madruguei nesse negócio, Agora vou dormir, quando acordar vejo tudo isso e posto para você o result…

Obrigado e bom trabalho ai !

Att.

juniorsatanas

olha o que eu acheo: https://github.com/alesaudate/camel-drools-webservices

Alexandre_Saudate

Hahahahahahaha!!! O que eu ‘achei’ foi ótimo!! =D

Tá ficando meio antigo, já… preciso dar uma atualizada :wink:

Criado 12 de setembro de 2012
Ultima resposta 12 de set. de 2012
Respostas 6
Participantes 2