[Resolvido] Problema com consulta de nfe com evento

14 respostas
Z

Boa tarde caros.

Já tem algum tempo que não conseguimos consultar a situação da nota pela sefaz de mg quando a mesma foi cancelada e/ou teve carta de correção.

Exception in thread "Thread-22" com.thoughtworks.xstream.converters.ConversionException: br.inf.portalfiscal.nfe.model.recepcaoEvento.DetEventoCartaCorrecaoVO : br.inf.portalfiscal.nfe.model.recepcaoEvento.DetEventoCartaCorrecaoVO
---- Debugging information ----
message             : br.inf.portalfiscal.nfe.model.recepcaoEvento.DetEventoCartaCorrecaoVO
cause-exception     : com.thoughtworks.xstream.mapper.CannotResolveClassException
cause-message       : br.inf.portalfiscal.nfe.model.recepcaoEvento.DetEventoCartaCorrecaoVO
class               : com.compels.nfe.cartacorrecao.envcartacorrecao.InfEvento
required-type       : com.compels.nfe.cartacorrecao.envcartacorrecao.InfEvento
converter-type      : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
path                : /retConsSitNFe/procEventoNFe/evento/infEvento/detEvento
line number         : 31
class[1]            : com.compels.nfe.cartacorrecao.envcartacorrecao.Evento
class[2]            : com.compels.nfe.cartacorrecao.envcartacorrecao.ProcEventoNFe
class[3]            : com.compels.nfe.ConsultaNFe.RetConsSitNFeModel
version             : null
-------------------------------
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:79)
	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:355)
	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:306)
	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:234)
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:355)
	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:306)
	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:234)
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:322)
	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:234)
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:65)
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:66)
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:50)
	at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:134)
	at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:32)
	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1052)
	at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:1036)
	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:912)
	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:903)
	at com.compels.nfe.ConsultaNFe.ConsSitNFeControl.consultarNFe(ConsSitNFeControl.java:74)
	at com.compels.nfe.ConsultaNFe.ConsultaSitNFeGui.consultaSituacao(ConsultaSitNFeGui.java:710)
	at com.compels.nfe.RecepcaoLote.GerenciadorNotasGui$15$1.run(GerenciadorNotasGui.java:2308)
Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException: br.inf.portalfiscal.nfe.model.recepcaoEvento.DetEventoCartaCorrecaoVO
	at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:56)
	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
	at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:55)
	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
	at com.thoughtworks.xstream.mapper.PackageAliasingMapper.realClass(PackageAliasingMapper.java:88)
	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
	at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:79)
	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
	at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:74)
	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
	at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:30)
	at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:45)
	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.determineType(AbstractReflectionConverter.java:458)
	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:294)
	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:234)
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:72)
	... 30 more

Sendo que o mesmo processo é feito nos servidores de outros estados e consigo o retorno correto.

segue também o que vem de retorno da sefaz de uma nota com carta de correção.

<retConsSitNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.01">
  <tpAmb>2</tpAmb>
  <verAplic>13_0_90</verAplic>
  <cStat>100</cStat>
  <xMotivo>Autorizado o uso da NF-e</xMotivo>
  <cUF>31</cUF>
  <chNFe>31130622360747000193550020000555551122360744</chNFe>
  <protNFe versao="2.00">
    <infProt Id="ID131130034497961">
      <tpAmb>2</tpAmb>
      <verAplic>13_0_90</verAplic>
      <chNFe>31130622360747000193550020000555551122360744</chNFe>
      <dhRecbto>2013-06-19T15:06:26</dhRecbto>
      <nProt>131130034497961</nProt>
      <digVal>EUA4bwY/gRgAvRFz50eESnMO4E4=</digVal>
      <cStat>100</cStat>
      <xMotivo>Autorizado o uso da NF-e</xMotivo>
    </infProt>
  </protNFe>
  <procEventoNFe versao="1.00">
    <evento versao="1.00">
      <infEvento Id="ID1101103113062236074700019355002000055555112236074401">
        <cOrgao>31</cOrgao>
        <tpAmb>2</tpAmb>
        <CNPJ>22360747000193</CNPJ>
        <chNFe>31130622360747000193550020000555551122360744</chNFe>
        <dhEvento>2013-06-19T15:08:20-03:00</dhEvento>
        <tpEvento>110110</tpEvento>
        <nSeqEvento>1</nSeqEvento>
        <verEvento>1.00</verEvento>
        <detEvento class="br.inf.portalfiscal.nfe.model.recepcaoEvento.DetEventoCartaCorrecaoVO" versao="1.00">
          <descEvento>Carta de Correcao</descEvento>
          <xCorrecao>sfafasfsasfasfafsasfasfasaf</xCorrecao>
          <xCondUso>A Carta de Correcao e disciplinada pelo paragrafo 1o-A do art. 7o do Convenio S/N, de 15 de dezembro de 1970 e pode ser utilizada para regularizacao de erro ocorrido na emissao de documento fiscal, desde que o erro nao esteja relacionado com: I - as variaveis que determinam o valor do imposto tais como: base de calculo, aliquota, diferenca de preco, quantidade, valor da operacao ou da prestacao; II - a correcao de dados cadastrais que implique mudanca do remetente ou do destinatario; III - a data de emissao ou de saida.</xCondUso>
        </detEvento>
      </infEvento>
      <Signature:Signature xmlns:Signature="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.w3.org/2000/09/xmldsig#">
        <SignedInfo>
          <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></CanonicalizationMethod>
          <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></SignatureMethod>
          <Reference URI="#ID1101103113062236074700019355002000055555112236074401">
            <Transforms>
              <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></Transform>
              <Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></Transform>
            </Transforms>
            <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod>
            <DigestValue>umQriSroGvnWDw652gsanHCE36Y=</DigestValue>
          </Reference>
        </SignedInfo>
        <SignatureValue>VZWjrtOHtt3a/VgkbnMqQS60bbnbYiRmlx9R+GCX/Uc+j7/MbUkmHJQgGsIa89pKes5SXfC6rLAV
UVUy68YID/4ws8rxLiRMu4+u61Oirg7ZUraqbUfyDUxLbdlYWZw73UL5Qv3gpCtJ9pF15wzaPJgt
ipDjXQBQwZ51N7Q4k4J3bUAkScg6pKjSRVWtwXCxAy+tfFDA7Ey7Ia3WxFPUQShNfYfxTTnQPMuW
E0CLFdiCwhV+al6NxLhA+MoPPZGPDw92ljK6IQ4T2XE/+AJsNTtwMHta/IjyQuCGpckVdm68DWPK
qhJ+xdFFZkIG7ze6S/vVAOsN4GyRs419jKCu2Q==</SignatureValue>
        <KeyInfo>
          <X509Data>
            <X509Certificate>MIIHzzCCBbegAwIBAgIIYqjOWtz6MfIwDQYJKoZIhvcNAQELBQAwTDELMAkGA1UEBhMCQlIxEzAR
BgNVBAoTCklDUC1CcmFzaWwxKDAmBgNVBAMTH1NFUkFTQSBDZXJ0aWZpY2Fkb3JhIERpZ2l0YWwg
djIwHhcNMTIwNzE4MTY0ODAwWhcNMTMwNzE4MTY0ODAwWjCB7TELMAkGA1UEBhMCQlIxEzARBgNV
BAoTCklDUC1CcmFzaWwxFDASBgNVBAsTCyhFTSBCUkFOQ08pMRgwFgYDVQQLEw8wMDAwMDEwMDM0
MTE5OTIxFDASBgNVBAsTCyhFTSBCUkFOQ08pMRQwEgYDVQQLEwsoRU0gQlJBTkNPKTEUMBIGA1UE
CxMLKEVNIEJSQU5DTykxFDASBgNVBAsTCyhFTSBCUkFOQ08pMRQwEgYDVQQLEwsoRU0gQlJBTkNP
KTErMCkGA1UEAxMiTElERVIgSU5EVVNUUklBIEVMRVRST05JQ0EgTFREQSBNRTCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAJeDVkb9Q0fhnpvqdaZIC2OM0xFrn/xsnh1DZVrTm4/97DTZ
yoEW86lN809H5XVaS0sitvHk8AMz9zIKhSyJpDXKqAQ2pcLgEbvIQbReOBorN5scGOUrt+8g//PE
2qzm8iM9oJgy7cXq99NAE2OXWy/sDqq5Ocvwv5HDZ0g4Uo8e8GiZX3BufNe7xT8qSS/JGdItdoqM
xZ/Qge0Ec9/wcYXUDgDaIUxrJHMAgBAA/1ldfnWfHRu/loW9e1Yq1goN1fqcHnzhQ/QdiNUyf3He
U/q26Sqtyt2WsRZsfspvCP6cGtwOKaQjRbLTOjSiK29oHPT3DwZv33tLFthdpIKC4v0CAwEAAaOC
AxEwggMNMIGXBggrBgEFBQcBAQSBijCBhzBHBggrBgEFBQcwAoY7aHR0cDovL3d3dy5jZXJ0aWZp
Y2Fkb2RpZ2l0YWwuY29tLmJyL2NhZGVpYXMvc2VyYXNhY2R2Mi5wN2IwPAYIKwYBBQUHMAGGMGh0
dHA6Ly9vY3NwLmNlcnRpZmljYWRvZGlnaXRhbC5jb20uYnIvc2VyYXNhY2R2MjAfBgNVHSMEGDAW
gBSa4IMQ1yab6bragrKBzjka04dwhjBxBgNVHSAEajBoMGYGBmBMAQIBBjBcMFoGCCsGAQUFBwIB
Fk5odHRwOi8vcHVibGljYWNhby5jZXJ0aWZpY2Fkb2RpZ2l0YWwuY29tLmJyL3JlcG9zaXRvcmlv
L2RwYy9kZWNsYXJhY2FvLXNjZC5wZGYwgfAGA1UdHwSB6DCB5TBJoEegRYZDaHR0cDovL3d3dy5j
ZXJ0aWZpY2Fkb2RpZ2l0YWwuY29tLmJyL3JlcG9zaXRvcmlvL2xjci9zZXJhc2FjZHYyLmNybDBD
oEGgP4Y9aHR0cDovL2xjci5jZXJ0aWZpY2Fkb3MuY29tLmJyL3JlcG9zaXRvcmlvL2xjci9zZXJh
c2FjZHYyLmNybDBToFGgT4ZNaHR0cDovL3JlcG9zaXRvcmlvLmljcGJyYXNpbC5nb3YuYnIvbGNy
L1NlcmFzYS9yZXBvc2l0b3Jpby9sY3Ivc2VyYXNhY2R2Mi5jcmwwDgYDVR0PAQH/BAQDAgXgMB0G
A1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDCBugYDVR0RBIGyMIGvgRVTSURORVlATElERVJN
Ry5DT00uQlKgPgYFYEwBAwSgNRMzMjcwMzE5NjAzMzk1MjYwNDYxNTAwMDAwMDAwMDAwMDAwMDAw
TUcxNDE4NDU1UEMgTUcwoCIGBWBMAQMCoBkTF0FMTUlSIERFIENBU1RSTyBGVVJUQURPoBkGBWBM
AQMDoBATDjIyMzYwNzQ3MDAwMTkzoBcGBWBMAQMHoA4TDDAwMDAwMDAwMDAwMDANBgkqhkiG9w0B
AQsFAAOCAgEATv5JMydg3yixlDEvoz2KP2RTHFuAY2reGYZv1U0JPu+VM8vn/I/gGMq5ggTLQ/vJ
BzaYDoUc0vE3IqKWe500A1zw20MnLLQLQFseNZhiI38dJBZ7UegCVKLEICsNsYH6bNFY3tvv+2Eh
rXhTMqmFg+1NvlF6NXQJmzrEGdbyLFMk1phPaR6dSLzFIodfK+zj4eauACyHcg3QL1Z1B/KsCHHF
5EFYJdt65E2Fo7zzrOsrTH4x/mp1JmeCiBvf7LnRNGTMobbnhT+2XbfFqeAHKvCzMz2IraxwwNKs
RYh/bOMGN6f+pXmA7d+tRP7/J+Qv2AwyyMndRBTdu/afRKp9RFhszQ38hy70piITaOsVCFTtPjg3
OlUMPmvkHdQKLwIFN5neObZo5YXUgT1isAh5ea/H63/UBsNYKsr5rtWxfgXN75COuCf9F+PoQTxt
2ZR3N9clZ2+zmK0GPAZq71Sb7JJxr1pGhCLShyFwDyrlPgUf6Yx86y0Rgq8TNacbwgnIVBFaeI+0
NUykbq/OjHCW587XtJLHCFygjgYAgltgfI0AWp87jkGPVgZz3GFqW77eN/e4fx2avUQt12MFXcCJ
jyJ47rXS3Scah6ajpoCptSek1kwocFbLKlUfQ+TMLdi3nit0TPkc5Mmoya2gc11vh/yZJSYqF099
P8UDWS4TyBk=</X509Certificate>
          </X509Data>
        </KeyInfo>
      </Signature:Signature>
    </evento>
    <retEvento versao="1.00">
      <infEvento Id="ID131130034497999">
        <tpAmb>2</tpAmb>
        <verAplic>13_0_90</verAplic>
        <cOrgao>31</cOrgao>
        <cStat>135</cStat>
        <xMotivo>Evento registrado e vinculado a NF-e.</xMotivo>
        <chNFe>31130622360747000193550020000555551122360744</chNFe>
        <tpEvento>110110</tpEvento>
        <xEvento>CARTA DE CORRECAO</xEvento>
        <nSeqEvento>1</nSeqEvento>
        <CPFDest>[telefone removido]</CPFDest>
        <dhRegEvento>2013-06-19T15:08:51-03:00</dhRegEvento>
        <nProt>131130034497999</nProt>
      </infEvento>
    </retEvento>
  </procEventoNFe>
</retConsSitNFe>

14 Respostas

R

Ta com cara que a resposta de MG tem algo diferente dos outros estados.

Chegou a conferir ?

Z

Opa.

Pelo que pude nota tem a diferença do class=“br.inf.portalfiscal.nfe.model.recepcaoEvento.DetEventoCartaCorrecaoVO” na linha 31, porem o erro que dá fala que a versão é null.
Tanto que quando passo o retorno no site da sefaz rs, naquele validador de mensagem, ele me retorno erro.
Só que agora parece que o serviço está indisponível, pois fala que houve um erro no validador de mensagens.

J

Esse DetEventoCartaCorrecaoVO existe? Foi o xstream que gerou para você? Em um primeiro momento, esse atributo class aí no xml não me parece fazer sentido - de onde ele veio?

Z

Esse DetEventoCartaCorrecaoVO veio do retorno que a sefaz me deu. Quando consulto pelo servidor de sp, por exemplo, isso ai não existe.
Queria saber se mais alguém teve este problema, pois já está fazendo mês que está assim, e quando mando e-mail para o suporte da sefaza mg, eles me retornam com um e-mail padrão falando que há um problema e que a parte técnica já está providenciando as devidas correções, mas nunca fica pronto.

R

Qual é o retorno do servico ? Aquele stack trace do primeiro post ?

Z

Isso. aquele é o retorno da sefaz.

Esqueci de mencionar, quando faço a consulta de uma nota que não foi cancela e não teve carta de correção, funciona perfeitamente.
O evento é enviado para a sefaz, tanto o de cancelamento quanto a da carta de correção, pois ao consultar no site está lá, o problema é que no sistema nosso fica diferente por não conseguir trazer esta informação.

R

Se o serviço de MG está retornando essa resposta, existe um problema na implementação do estado. Não existindo muito o que fazer em sua aplicação.

J

Você pode tentar uma gambiarra: tente remover o atributo class “na unha”, antes de processar a resposta.

Z

jcranky, tentei fazer essa gambi aqui, só que dá problema com a assinatura.

renanpto, é o que desconfio, mas não vejo ngm reclamando do retorno de minas com estas condições. =/

de qualquer forma agradeço a ajuda da galera ai. se alguem souber algo me dá um toque…
meu e-mail pra contato é [email removido]

J

Problema com a assinatura? Você está validando a resposta?

Z

Jcranky, não. O erro passa para a tag Signature, mundano para a linha 37.
Limpando o atributo, dá a seguinte exceção:

Exception in thread "Thread-14" com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$UnknownFieldException: No such field com.compels.nfe.cartacorrecao.envcartacorrecao.Evento.Signature:Signature
---- Debugging information ----
field               : Signature:Signature
class               : com.compels.nfe.cartacorrecao.envcartacorrecao.Evento
required-type       : com.compels.nfe.cartacorrecao.envcartacorrecao.Evento
converter-type      : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
path                : /retConsSitNFe/procEventoNFe/evento/Signature:Signature
line number         : 37
class[1]            : com.compels.nfe.cartacorrecao.envcartacorrecao.ProcEventoNFe
class[2]            : com.compels.nfe.ConsultaNFe.RetConsSitNFeModel
version             : null

Testei com o xsd e não acusou nenhum problema, com o atributo class e sem o atributo. =/

J

Bizarro. Ao mesmo tempo em que a assinatura não parece errada, o xmlns dela está bem estranho. Se você tentar validar o xml da resposta com o xsd equivalente, provavelmente vai ter o mesmo erro, mas talvez valha a pena testar. Fora isso, acho que seria legal ter o comentário de alguém que emite em MG, já que parece ser uma peculiaridade deles - eu nunca emiti NFes por lá :frowning:

H

O meu código estava funcionando perfeitamente, de uns dias pra cá começou a dar esse mesmo problema que você sitou.

Modificaram a estrutura do XML colocando a Tag como: Signature:Signature.

Vai saber o porque.

Daí tive que fazer a porcaria: xml.replace(“Signature:Signature”, “Signature”);

Se alguém souber como tratar isso de uma maneira mais elegante na XStream, ficaria grato.

Z

Bom dia.

O problema foi resolvido.
Fizemos um gambiarra aqui. Retiramos a assinatura do retorno e demos replace vazio na class="…", depois passava no xstream convertendo pra xml e setava a assinatura de novo.
Desse jeito passou a funcionar.

Agradeço a atenção de todos.

Criado 19 de junho de 2013
Ultima resposta 12 de jul. de 2013
Respostas 14
Participantes 4