Solucionado (ver solução)
Solucionado
(ver solução)
12
respostas

HTTP Status 500 - Error while committing the transaction

Boa tarde @Philippe Ehlert !

Ao tentar gravar um cadastro está gerando o erro acima citado, alguém conhece esse erro ?

No browser:

HTTP Status 500 - Exception when trying to instantiate Target(name=representante, type=class br.com.ebf.modelo.Representante)

type Exception report

message Exception when trying to instantiate Target(name=representante, type=class br.com.ebf.modelo.Representante)

description The server encountered an internal error that prevented it from fulfilling this request.

exception

br.com.caelum.vraptor.http.InvalidParameterException: Exception when trying to instantiate Target(name=representante, type=class br.com.ebf.modelo.Representante)
    br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.handleException(VRaptorInstantiator.java:124)
    br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.handleException(VRaptorInstantiator.java:126)
    br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:118)
    br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:110)
    br.com.caelum.vraptor.http.iogi.VRaptorInstantiator$Proxy$_$$_WeldClientProxy.instantiate(Unknown Source)
    br.com.caelum.vraptor.http.iogi.IogiParametersProvider.instantiateOrAddError(IogiParametersProvider.java:87)
    br.com.caelum.vraptor.http.iogi.IogiParametersProvider.instantiateParameters(IogiParametersProvider.java:80)
    br.com.caelum.vraptor.http.iogi.IogiParametersProvider.getParametersFor(IogiParametersProvider.java:72)
    br.com.caelum.vraptor.http.iogi.IogiParametersProvider$Proxy$_$$_WeldClientProxy.getParametersFor(Unknown Source)
    br.com.caelum.vraptor.observer.ParametersInstantiator.getParametersForCurrentMethod(ParametersInstantiator.java:149)
    br.com.caelum.vraptor.observer.ParametersInstantiator.instantiate(ParametersInstantiator.java:89)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
    org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
    org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
    org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
    org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
    org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
    org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
    org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
    org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
    br.com.caelum.vraptor.core.DefaultInterceptorStack.start(DefaultInterceptorStack.java:90)
    br.com.caelum.vraptor.core.DefaultInterceptorStack$Proxy$_$$_WeldClientProxy.start(Unknown Source)
    br.com.caelum.vraptor.observer.RequestHandlerObserver.handle(RequestHandlerObserver.java:93)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
    org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
    org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
    org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
    org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
    org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
    org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
    org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
    org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
    br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:123)
root cause

java.lang.IllegalArgumentException
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    net.vidageek.mirror.provider.java.PureJavaMethodReflectionProvider.invoke(PureJavaMethodReflectionProvider.java:38)
    net.vidageek.mirror.invoke.MethodHandlerByMethod.withArgs(MethodHandlerByMethod.java:54)
    br.com.caelum.iogi.reflection.NewObject$Setter.set(NewObject.java:87)
    br.com.caelum.iogi.reflection.NewObject.setProperty(NewObject.java:59)
    br.com.caelum.iogi.reflection.NewObject.populateProperties(NewObject.java:52)
    br.com.caelum.iogi.reflection.NewObject.valueWithPropertiesSet(NewObject.java:42)
    br.com.caelum.iogi.ObjectInstantiator.instantiate(ObjectInstantiator.java:30)
    br.com.caelum.iogi.MultiInstantiator.instantiate(MultiInstantiator.java:20)
    br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:116)
    br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:110)
    br.com.caelum.vraptor.http.iogi.VRaptorInstantiator$Proxy$_$$_WeldClientProxy.instantiate(Unknown Source)
    br.com.caelum.vraptor.http.iogi.IogiParametersProvider.instantiateOrAddError(IogiParametersProvider.java:87)
    br.com.caelum.vraptor.http.iogi.IogiParametersProvider.instantiateParameters(IogiParametersProvider.java:80)
    br.com.caelum.vraptor.http.iogi.IogiParametersProvider.getParametersFor(IogiParametersProvider.java:72)
    br.com.caelum.vraptor.http.iogi.IogiParametersProvider$Proxy$_$$_WeldClientProxy.getParametersFor(Unknown Source)
    br.com.caelum.vraptor.observer.ParametersInstantiator.getParametersForCurrentMethod(ParametersInstantiator.java:149)
    br.com.caelum.vraptor.observer.ParametersInstantiator.instantiate(ParametersInstantiator.java:89)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
    org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
    org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
    org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
    org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
    org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
    org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
    org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
    org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
    br.com.caelum.vraptor.core.DefaultInterceptorStack.start(DefaultInterceptorStack.java:90)
    br.com.caelum.vraptor.core.DefaultInterceptorStack$Proxy$_$$_WeldClientProxy.start(Unknown Source)
    br.com.caelum.vraptor.observer.RequestHandlerObserver.handle(RequestHandlerObserver.java:93)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
    org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
    org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
    org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
    org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
    org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
    org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
    org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
    org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
    br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:123)
note The full stack trace of the root cause is available in the Apache Tomcat/8.5.8 logs.

Apache Tomcat/8.5.8

E no console:

nov 22, 2016 1:22:57 PM org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet [default] in context with path [/ebfvaz-admin] threw exception
br.com.caelum.vraptor.http.InvalidParameterException: Exception when trying to instantiate Target(name=representante, type=class br.com.ebf.modelo.Representante)
    at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.handleException(VRaptorInstantiator.java:124)
    at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.handleException(VRaptorInstantiator.java:126)
    at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:118)
    at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:110)
    at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator$Proxy$_$$_WeldClientProxy.instantiate(Unknown Source)
    at br.com.caelum.vraptor.http.iogi.IogiParametersProvider.instantiateOrAddError(IogiParametersProvider.java:87)
    at br.com.caelum.vraptor.http.iogi.IogiParametersProvider.instantiateParameters(IogiParametersProvider.java:80)
    at br.com.caelum.vraptor.http.iogi.IogiParametersProvider.getParametersFor(IogiParametersProvider.java:72)
    at br.com.caelum.vraptor.http.iogi.IogiParametersProvider$Proxy$_$$_WeldClientProxy.getParametersFor(Unknown Source)
    at br.com.caelum.vraptor.observer.ParametersInstantiator.getParametersForCurrentMethod(ParametersInstantiator.java:149)
    at br.com.caelum.vraptor.observer.ParametersInstantiator.instantiate(ParametersInstantiator.java:89)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
    at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
    at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
    at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
    at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
    at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
    at org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
    at br.com.caelum.vraptor.core.DefaultInterceptorStack.start(DefaultInterceptorStack.java:90)
    at br.com.caelum.vraptor.core.DefaultInterceptorStack$Proxy$_$$_WeldClientProxy.start(Unknown Source)
    at br.com.caelum.vraptor.observer.RequestHandlerObserver.handle(RequestHandlerObserver.java:93)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)
    at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)
    at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)
    at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:165)
    at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:119)
    at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:112)
    at org.jboss.weld.event.EventImpl.fire(EventImpl.java:83)
    at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:123)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:789)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.vidageek.mirror.provider.java.PureJavaMethodReflectionProvider.invoke(PureJavaMethodReflectionProvider.java:38)
    at net.vidageek.mirror.invoke.MethodHandlerByMethod.withArgs(MethodHandlerByMethod.java:54)
    at br.com.caelum.iogi.reflection.NewObject$Setter.set(NewObject.java:87)
    at br.com.caelum.iogi.reflection.NewObject.setProperty(NewObject.java:59)
    at br.com.caelum.iogi.reflection.NewObject.populateProperties(NewObject.java:52)
    at br.com.caelum.iogi.reflection.NewObject.valueWithPropertiesSet(NewObject.java:42)
    at br.com.caelum.iogi.ObjectInstantiator.instantiate(ObjectInstantiator.java:30)
    at br.com.caelum.iogi.MultiInstantiator.instantiate(MultiInstantiator.java:20)
    at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:116)
    ... 57 more

nov 22, 2016 1:25:28 PM org.apache.catalina.loader.WebappClassLoaderBase modified
INFORMAÇÕES: One or more JARs have been added to the web application [/alura-horas]
nov 22, 2016 1:25:28 PM org.apache.catalina.core.StandardContext reload
INFORMAÇÕES: Reloading Context with name [/alura-horas] has started
nov 22, 2016 1:25:29 PM org.apache.jasper.servlet.TldScanner scanJars
INFORMAÇÕES: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
13:25:30,019  INFO [Version             ] WELD-000900: 2.1.2 (Final)
13:25:30,210  INFO [Bootstrap           ] WELD-000101: Transactional services not available. Injection of @Inject UserTransaction not available. Transactional observers will be invoked synchronously.
13:25:30,506  INFO [Version             ] HV000001: Hibernate Validator 5.1.1.Final
13:25:33,387  INFO [Tomcat7Container    ] Tomcat 7+ detected, CDI injection will be available in Servlets and Filters. Injection into Listeners is not supported
13:25:33,871  INFO [DefaultConverters   ] Registering bundled converters
13:25:33,882  INFO [DefaultConverters   ] Registering bundled converters
13:25:33,928  INFO [DefaultRouteBuilder ] /usuario/lista                                    [ALL] -> public void br.com.alura.horas.controllers.UsuarioController.lista()
13:25:33,933  INFO [DefaultRouteBuilder ] /usuario/adiciona                                 [ALL] -> public void br.com.alura.horas.controllers.UsuarioController.adiciona(br.com.alura.horas.modelos.Usuario)
13:25:33,934  INFO [DefaultRouteBuilder ] /usuario/formulario                               [ALL] -> public void br.com.alura.horas.controllers.UsuarioController.formulario()
13:25:33,935  INFO [DefaultRouteBuilder ] /                                                 [ALL] -> public void br.com.alura.horas.controllers.IndexController.index()
13:25:33,949  INFO [VRaptor             ] VRaptor 4.2.0-RC3 successfuly initialized
nov 22, 2016 1:25:33 PM org.apache.catalina.core.StandardContext reload
INFORMAÇÕES: Reloading Context with name [/alura-horas] is completed
12 respostas

A classe Representate:

package br.com.ebf.modelo;

import java.util.Calendar;
import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.validator.constraints.NotEmpty;

@Entity
public class Representante {

    @Id
    @NotEmpty
    private int numCadastro;

    @NotEmpty
    private int numCadAntigo;

    @Temporal(TemporalType.DATE)
    private Date dataCadastro = Calendar.getInstance().getTime();

    @NotEmpty
    private String nomeRazao;

    @NotEmpty
    private String nomeFantasia;

    @NotEmpty
    private String CNPJ;

    @NotEmpty
    private String inscrEst;

    @NotEmpty
    private String CPF;

    @NotEmpty
    private String RG;

    @NotEmpty
    private String endRua;

    @NotEmpty
    private String endNum;

    private String endCompl;

    @NotEmpty
    private String endBair;

    @NotEmpty
    private String endCid;

    @NotEmpty
    private String endEst;

    @NotEmpty
    private String endCEP;

    @NotEmpty
    private String endPais;

    private String endDDI;

    private String EndDDD;

    private String endTel;

    private String endTel2;

    private String endDDDCel;

    private String endCel;

    private String endDDDFax;

    private String endFax;

    private String endEmail;

    private String endEmail2;

    @NotEmpty
    private String empresa;

    @NotEmpty
    private char marca;

    @NotEmpty
    private float comissaoMaxima;

    @NotEmpty
    private char calculaComissao;

    @NotEmpty
    private char calculaIR;

    @NotEmpty
    private char boAtrasoDuplicata;

    @NotEmpty
    private int grupo;

    @NotEmpty
    private char televendas;

    public int getNumCadastro() {
        return numCadastro;
    }

    public void setNumCadastro(int numCadastro) {
        this.numCadastro = numCadastro;
    }

    public int getNumCadAntigo() {
        return numCadAntigo;
    }

    public void setNumCadAntigo(int numCadAntigo) {
        this.numCadAntigo = numCadAntigo;
    }

    public Date getDataCadastro() {
        return dataCadastro;
    }

    public void setDataCadastro(Date dataCadastro) {
        this.dataCadastro = dataCadastro;
    }

    public String getNomeRazao() {
        return nomeRazao;
    }

    public void setNomeRazao(String nomeRazao) {
        this.nomeRazao = nomeRazao;
    }

    public String getNomeFantasia() {
        return nomeFantasia;
    }

    public void setNomeFantasia(String nomeFantasia) {
        this.nomeFantasia = nomeFantasia;
    }

    public String getCNPJ() {
        return CNPJ;
    }

    public void setCNPJ(String cNPJ) {
        CNPJ = cNPJ;
    }

    public String getInscrEst() {
        return inscrEst;
    }

    public void setInscrEst(String inscrEst) {
        this.inscrEst = inscrEst;
    }

    public String getCPF() {
        return CPF;
    }

    public void setCPF(String cPF) {
        CPF = cPF;
    }

    public String getRG() {
        return RG;
    }

    public void setRG(String rG) {
        RG = rG;
    }

    public String getEndRua() {
        return endRua;
    }

    public void setEndRua(String endRua) {
        this.endRua = endRua;
    }

    public String getEndNum() {
        return endNum;
    }

    public void setEndNum(String endNum) {
        this.endNum = endNum;
    }

    public String getEndCompl() {
        return endCompl;
    }

    public void setEndCompl(String endCompl) {
        this.endCompl = endCompl;
    }

    public String getEndBair() {
        return endBair;
    }

    public void setEndBair(String endBair) {
        this.endBair = endBair;
    }

    public String getEndCid() {
        return endCid;
    }

    public void setEndCid(String endCid) {
        this.endCid = endCid;
    }

    public String getEndEst() {
        return endEst;
    }

    public void setEndEst(String endEst) {
        this.endEst = endEst;
    }

    public String getEndCEP() {
        return endCEP;
    }

    public void setEndCEP(String endCEP) {
        this.endCEP = endCEP;
    }

    public String getEndPais() {
        return endPais;
    }

    public void setEndPais(String endPais) {
        this.endPais = endPais;
    }

    public String getEndDDI() {
        return endDDI;
    }

    public void setEndDDI(String endDDI) {
        this.endDDI = endDDI;
    }

    public String getEndDDD() {
        return EndDDD;
    }

    public void setEndDDD(String endDDD) {
        EndDDD = endDDD;
    }

    public String getEndTel() {
        return endTel;
    }

    public void setEndTel(String endTel) {
        this.endTel = endTel;
    }

    public String getEndTel2() {
        return endTel2;
    }

    public void setEndTel2(String endTel2) {
        this.endTel2 = endTel2;
    }

    public String getEndDDDCel() {
        return endDDDCel;
    }

    public void setEndDDDCel(String endDDDCel) {
        this.endDDDCel = endDDDCel;
    }

    public String getEndCel() {
        return endCel;
    }

    public void setEndCel(String endCel) {
        this.endCel = endCel;
    }

    public String getEndDDDFax() {
        return endDDDFax;
    }

    public void setEndDDDFax(String endDDDFax) {
        this.endDDDFax = endDDDFax;
    }

    public String getEndFax() {
        return endFax;
    }

    public void setEndFax(String endFax) {
        this.endFax = endFax;
    }

    public String getEndEmail() {
        return endEmail;
    }

    public void setEndEmail(String endEmail) {
        this.endEmail = endEmail;
    }

    public String getEndEmail2() {
        return endEmail2;
    }

    public void setEndEmail2(String endEmail2) {
        this.endEmail2 = endEmail2;
    }

    public String getEmpresa() {
        return empresa;
    }

    public void setEmpresa(String empresa) {
        this.empresa = empresa;
    }

    public char getMarca() {
        return marca;
    }

    public void setMarca(char marca) {
        this.marca = marca;
    }

    public float getComissaoMaxima() {
        return comissaoMaxima;
    }

    public void setComissaoMaxima(float comissaoMaxima) {
        this.comissaoMaxima = comissaoMaxima;
    }

    public char getCalculaComissao() {
        return calculaComissao;
    }

    public void setCalculaComissao(char calculaComissao) {
        this.calculaComissao = calculaComissao;
    }

    public char getCalculaIR() {
        return calculaIR;
    }

    public void setCalculaIR(char calculaIR) {
        this.calculaIR = calculaIR;
    }

    public char getBoAtrasoDuplicata() {
        return boAtrasoDuplicata;
    }

    public void setBoAtrasoDuplicata(char boAtrasoDuplicata) {
        this.boAtrasoDuplicata = boAtrasoDuplicata;
    }

    public int getGrupo() {
        return grupo;
    }

    public void setGrupo(int grupo) {
        this.grupo = grupo;
    }

    public char getTelevendas() {
        return televendas;
    }

    public void setTelevendas(char televendas) {
        this.televendas = televendas;
    }
}

O formulario.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib tagdir="/WEB-INF/tags" prefix="ebf" %>

<c:import url="/WEB-INF/jsp/header.jsp" />

<form action="${linkTo[RepresentanteController].adiciona(null)}" method="post">

    <label for="numCadastro">Num.Cadastro:</label>
    <input type="text" name="representante.numCadastro" id="numCadastro" class="form-control" value="${representante.numCadastro}" /><br/>
    <ebf:validationMessage name="representante.numCadastro"/>

    <label for="numCadAntigo">Num.Cad.Antigo:</label>
    <input type="text" name="representante.numCadAntigo" id="numCadAntigo" class="form-control" value="${representante.numCadAntigo}"/><br/>
    <ebf:validationMessage name="representante.numCadAntigo"/>

    <label for="dataCadastro">Dt. cadastro:</label>
    <input type="text" name="representante.dataCadastro" id="dataCadastro" class="form-control" value="${representante.dataCadastro}"/><br/>
    <ebf:validationMessage name="representante.numCadAntigo"/>


    <label for="nomeRazao">Razão Social:</label>
    <input type="text" name="representante.nomeRazao" id="nomeRazao" class="form-control" value="${representante.nomeRazao}"/><br/>
    <ebf:validationMessage name="representante.nomeRazao"/>

    <label for="nomeFantasia">Nome Fantasia:</label>
    <input type="text" name="representante.nomeFantasia" id="nomeFantasia" class="form-control" value="${representante.nomeFantasia}"/><br/>
    <ebf:validationMessage name="representante.nomeFantasia"/>

    <label for="CNPJ">CNPJ:</label>
    <input type="text" name="representante.CNPJ" id="CNPJ" class="form-control" value="${representante.CNPJ}" /><br/>
    <ebf:validationMessage name="representante.CNPJ"/> 

    <label for="inscrEst">Inscr.Estadual:</label>
    <input type="text" name="representante.inscrEst" id="inscrEst" class="form-control" value="${representante.inscrEst}"/><br/>
    <ebf:validationMessage name="representante.inscrEst"/>

    <label for="CPF">CPF:</label>
    <input type="text" name="representante.CPF" id="CPF" class="form-control" value="${representante.CPF}" /><br/>
    <ebf:validationMessage name="representante.CPF"/> 

    <label for="RG">RG:</label>
    <input type="text" name="representante.RG" id="RG" class="form-control" value="${representante.RG}" /><br/>
    <ebf:validationMessage name="representante.RG"/> 

    <label for="endRua">Endereço:</label>
    <input type="text" name="representante.endRua" id="endRua" class="form-control" value="${representante.endRua}" /><br/>
    <ebf:validationMessage name="representante.endRua"/> 

    <label for="endNum">Nro.:</label>
    <input type="text" name="representante.endNum" id="endNum" class="form-control" value="${representante.endNum}" /><br/>
    <ebf:validationMessage name="representante.endNum"/> 

    <label for="endCompl">Complemento:</label>
    <input type="text" name="representante.endCompl" id="endCompl" class="form-control" value="${representante.endCompl}" /><br/>
    <ebf:validationMessage name="representante.endCompl"/> 

    <label for="endBair">Bairro:</label>
    <input type="text" name="representante.endBair" id="endBair" class="form-control" value="${representante.endBair}" /><br/>
    <ebf:validationMessage name="representante.endBair"/> 

    <label for="endCid">Cidade:</label>
<!--CRIAR SELECT, BUSCANDO INFORMAÇÕES DA TABELA DE CIADES -->
    <input type="text" name="representante.endCid" id="endCid" class="form-control" value="${representante.endCid}" /><br/>
    <ebf:validationMessage name="representante.endCid"/> 

    <label for="endEst">Estado:</label>
<!--CRIAR SELECT, BUSCANDO INFORMAÇÕES DA TABELA DE ESTADOS -->
    <input type="text" name="representante.endEst" id="endEst" class="form-control" value="${representante.endEst}" /><br/>
    <ebf:validationMessage name="representante.endEst"/> 

    <label for="endCEP">CEP:</label>
    <input type="text" name="representante.endCEP" id="endCEP" class="form-control" value="${representante.endCEP}" /><br/>
    <ebf:validationMessage name="representante.endCEP"/> 

    <label for="endDDI">DDI:</label>
    <input type="text" name="representante.endDDI" id="endDDI" class="form-control" value="${representante.endDDI}" /><br/>
    <ebf:validationMessage name="representante.endDDI"/> 

    <label for="endDDD">DDD:</label>
    <input type="text" name="representante.endDDD" id="endDDD" class="form-control" value="${representante.endDDD}" /><br/>
    <ebf:validationMessage name="representante.endDDD"/> 

    <label for="endTel">Telefone:</label>
    <input type="text" name="representante.endTel" id="endTel" class="form-control" value="${representante.endTel}" /><br/>
    <ebf:validationMessage name="representante.endTel"/> 

    <label for="endTel2">Telefone2:</label>
    <input type="text" name="representante.endTel2" id="endTel2" class="form-control" value="${representante.endTel2}" /><br/>
    <ebf:validationMessage name="representante.endTel2"/> 

    <label for="endDDDCel">DDD Cel.:</label>
    <input type="text" name="representante.endDDDCel" id="endDDDCel" class="form-control" value="${representante.endDDDCel}" /><br/>
    <ebf:validationMessage name="representante.endDDDCel"/> 

    <label for="endCel">Celular:</label>
    <input type="text" name="representante.endCel" id="endCel" class="form-control" value="${representante.endCel}" /><br/>
    <ebf:validationMessage name="representante.endCel"/> 

    <label for="endDDDFax">DDD Fax:</label>
    <input type="text" name="representante.endDDDFax" id="endDDDFax" class="form-control" value="${representante.endDDDFax}" /><br/>
    <ebf:validationMessage name="representante.endDDDFax"/> 

    <label for="endEmail">Email:</label>
    <input type="text" name="representante.endEmail" id="endEmail" class="form-control" value="${representante.endEmail}" /><br/>
    <ebf:validationMessage name="representante.endEmail"/> 

    <label for="endEmail2">Email2:</label>
    <input type="text" name="representante.endEmail2" id="endEmail2" class="form-control" value="${representante.endEmail2}" /><br/>
    <ebf:validationMessage name="representante.endEmail2"/> 

    <label for="empresa">Empresa:</label>
    <input type="text" name="representante.empresa" id="empresa" class="form-control" value="${representante.empresa}" /><br/>
    <ebf:validationMessage name="representante.empresa"/> 

    <label for="marca">Marca:</label>
    <select name="representante.marca" id="marca" class="form-control">
        <option value="S">Sim</option>
        <option value="N">Não</option>
    </select><br/>
    <ebf:validationMessage name="representante.marca"/>

    <label for="comissaoMaxima">Comissão Máx.:</label>
    <input type="text" name="representante.comissaoMaxima" id="comissaoMaxima" class="form-control" value="${representante.comissaoMaxima}" /><br/>
    <ebf:validationMessage name="representante.comissaoMaxima"/> 

    <label for="calculaComissao">Calcula comissão:</label>
    <select name="representante.calculaComissao" id="calculaComissao" class="form-control">
        <option value="S">Sim</option>
        <option value="N">Não</option>
    </select><br/>
    <ebf:validationMessage name="representante.calculaComissao"/>

    <label for="calculaIR">Calcula IR:</label>
    <select name="representante.calculaIR" id="calculaIR" class="form-control">
        <option value="S">Sim</option>
        <option value="N">Não</option>
    </select><br/>
    <ebf:validationMessage name="representante.calculaIR"/>

    <label for="boAtrasoDuplicata">BO atraso Duplicata:</label>
    <select name="representante.boAtrasoDuplicata" id="boAtrasoDuplicata" class="form-control">
        <option value="S">Sim</option>
        <option value="N">Não</option>
    </select><br/>
    <ebf:validationMessage name="representante.boAtrasoDuplicata"/>

    <label for="grupo">Grupo:</label>
<!--CRIAR UM SELECT, BUSCANDO INFORMAÇÕES DA TABELA DE GRUPOS -->
    <input type="text" name="representante.grupo" id="grupo" class="form-control" value="${representante.grupo}" /><br/>
    <ebf:validationMessage name="representante.grupo"/> 

    <label for="televendas">Televendas:</label>
    <select name="representante.televendas" id="televendas" class="form-control">
        <option value="S">Sim</option>
        <option value="N">Não</option>
    </select><br/>
    <ebf:validationMessage name="representante.televendas"/>

    <input type="submit" value="Cadastrar" class="btn">
    <br/><br/>

</form>

<c:import url="/WEB-INF/jsp/footer.jsp" />

Oi, isso está acontecendo pois o VRaptor não está conseguindo instanciar a sua classe Representante.

Como a exception que está dando é uma IllegalArgumentException eu diria que é bem provável que um dos seus setters está recebendo um tipo, enquanto o formulário está enviando um outro, por exemplo: o setDataCadastro está recebendo uma Date mas do formulário vem uma String com a data. Tenta trocar esse Date pra um calendar

Alterei de "Date" para "Calendar", mas o erro continuou...

Alterei os campos "char" para "String", e o erro continuou...

Ewerton, faz mais um teste? Tenta dar uma simplificada no seu formulário, em vez de enviar todos os dados no formulário, apaga todos os inputs e deixa apenas o endCid e endBair se funcionar, vai adicionando mais alguns, é um trabalho um pouco longo, mas desse jeito você vai conseguir descobrir qual dos campos que está com problema

Bom dia Philippe!

Sim pensei em fazer isso ontem a noite...

Vou fazer e assim q descobrir qual campo está gerando o erro, posto o problema caso eu não consiga resolvê-lo...

Obrigado!

Beleza! Qualquer se continuar com o problema não deixe de nos avisar!

Abraços!

Pilippe descobri o campo que está dando problema, é o do CNPJ...

E o erro mudou também, agora é:

HTTP Status 500 - Error while committing the transaction

Na classe modelo o campo está:

    @NotEmpty
    private String CNPJ;
...
    public String getCNPJ() {
        return CNPJ;
    }

    public void setCNPJ(String cNPJ) {
        CNPJ = cNPJ;
    }

No formulario.jsp

    <label for="CNPJ">CNPJ:</label>
    <input type="text" name="representante.CNPJ" id="CNPJ" class="form-control" value="${representante.CNPJ}" /><br/>
    <ebf:validationMessage name="representante.CNPJ"/>

E no BD MySQL:

----------------------------------------------------------
|Field   | Type         | Null | Key   | Default | Extra |
----------------------------------------------------------
|CNPJ    | varchar(255) | NO   |       | NULL    |       |
----------------------------------------------------------

Obs.: Eu estou tentanto armazenar a informação: 11.222.333/0001-44

Erro no browser com a anotação @NotNull :

HTTP Status 500 - Error while committing the transaction

type Exception report

message Error while committing the transaction

description The server encountered an internal error that prevented it from fulfilling this request.

root cause

javax.validation.ConstraintViolationException: Validation failed for classes [br.com.ebf.modelo.Representante] during persist time for groups [javax.validation.groups.Default, ]
List of constraint violations:[
    ConstraintViolationImpl{interpolatedMessage='não pode ser nulo', propertyPath=CNPJ, rootBeanClass=class br.com.ebf.modelo.Representante, messageTemplate='{javax.validation.constraints.NotNull.message}'}
]

Erro no browser com a anotação @NotEmpty:

HTTP Status 500 - Error while committing the transaction

type Exception report

message Error while committing the transaction

description The server encountered an internal error that prevented it from fulfilling this request.

root cause

javax.validation.ConstraintViolationException: Validation failed for classes [br.com.ebf.modelo.Representante] during persist time for groups [javax.validation.groups.Default, ]
List of constraint violations:[
    ConstraintViolationImpl{interpolatedMessage='Não pode estar vazio', propertyPath=CNPJ, rootBeanClass=class br.com.ebf.modelo.Representante, messageTemplate='{org.hibernate.validator.constraints.NotEmpty.message}'}
]

Alguma ideá do que esteja acontecendo @Philippe Ehlert, @Alberto Souza

Oi Ewerton! Por algum motivo o vraptor não está conseguindo colocar o valor no seu campo CPF eu suspeito que é pq no setter de CPF o nome da variável está cPF em vez de CPF tenta fazer essa alteração e vê se funciona?

Alterei, mas não funcionou...

solução!

Oi Ewerton

Você alterou o getCPF ou o getCNPJ? na exception ele aponta propertyPath=CNPJ

mas minha sugestão é descobrir quais campos estão sendo preenchidos e quais não estão. Isto é, faz inspect em debug ou cria um toString que imprime os valores do representante e veja quais não deu certo.

já pra adiantar, repare que aqui está faltando o this:

public void setCNPJ(String cNPJ) {
        CNPJ = cNPJ;
    }

Se você mudou cNPJ pra CNPJ, ele vai sempre considerar a variável de menor escopo no lugar do atributo, que vai ficar null.

muda pra this.CNPJ = CNPJ pra testar?

Outra coisa: é bem possível que o problema seja o case. Por convenção, variável/atributo em java é escrito em lowercase, e o IOGI, que é quem instancia os objetos, conta com isso no momento de fazer a reflection que instancia o seu atributo. Se a solução do this não funcionar, tenta escrever cnpj em letra minúscula pra ver se ele atribui o valor?

Obrigado pela ajuda @Philippe Ehlert e @Rodrigo Turini !!

Foi um erro "besta", falta de atenção...

O nome da variável está "CNPJ"...

Pela convenção as variáveis em Java devem começar com letra "minúscula"...

Alterei para cnpj e gravou o registro perfeitamente...

Obrigado pessoal e um abraço!!

Att. Ewerton

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software