NFS-e

41 respostas
A

Já estou há algum tempo desenvolvendo sistemas de integração de NFS-e e devido ao pouco material disponível na web sobre Nota Fiscal de Serviço estou criando este tópico afim de sanar (quando dentro do meu alcance) as dúvidas daqueles que por ventura se encontram em dificuldades e ao mesmo tempo ser ajudado por aqueles que se dispuserem. Grato.

41 Respostas

J

To contigo!!!

Estou lutando a cerca de 1 semana com todo o universo das NFes justamente
para poder resolver um problema de uma empresa relacionado às NFS-e.

Pelo que entendi, como as NFSe são apenas em âmbito municipal, cada uma
das pm acaba criando seu próprio layout. Alguns bem simples, outros mais
complexos.

Algumas disponibilizam webservices bem completos. No caso específico da
minha cidade, disponibilizam enormes recursos, mas fornecem as notas cadastradas
em um estranho formato txt.

Então, a principio, peguei o layout desse txt e criei classes para leitura e separação
dos dados e a partir desses dados estou gerando XMLs por que a empresa precisa
deles para o programa de escrita fiscal importar. (O programa não consegue importar
o txt).

Na luta para fazer isso, acabei lidando com schemas, xsds, wsdls, jaxb e tudo mais.

Vou ficar a disposição se alguém tiver uma sugestão ou dúvida que envolva este tópico.

T+

S

Caras, já tem muitos tópicos relacionados a esse assunto aqui no Fórum, se derem um procurada irão achar. Recomendam que leiam o manual da NF-e de seus respectivos municipios, sei que esse material é ruim mas ele ajuda. A uns meses atras eu passei por essa luta e consegui com ajuda aqui do fórum. Boa sorte pra vcs, e qualquer duvida estamos ai para ajudar!

J

Até sei que tem muito, mas muito tópico mesmo de NFe.

Mas o que o criador do tópico está propondo é algo novo sobre as NFSe.

Embora, é claro, que no fundo, tudo que é falado sobre NFe, pode ser usado com alguma adaptacao para NFSe.

Mas vale a pena, de repente, discutir algo que possa ser genérico, uma forma de criar algo diferente que
facilite para aqueles de tantos municipios diferentes que temos.

Na minha cidade, que nem é tão pequena, tem um problema básico. A PM disponibilizou um ws fantastico,
mas quem pede a lista de Notas recebe um txt que precisa ser adaptado para XMLs para ser importado
nos ERPs.

Imagine quantas coisas diferentes aparecerão em cada cidade desse país.

Acho que vale a pena manter o tópico.

Vamos ver o que o criador está propondo. Afinal ele não se manifestou depois que foram postas as primeiras
respostas.

A

JoaoBluSCBR, a proposta é essa mesmo. Quando comecei a desenvolver soluções para envio de NFS-e encontrei muita coisa sobre NF-e mas muito pouco sobre NFS-e. Cada estado mantém um serviço distinto com suas características únicas e invariavelmente um péssimo suporte. A idéia é trocarmos informações sobre estas peculiaridades que podem, e de fato tomam uma parcela valiosa do tempo de desenvolvimento. Por exemplo: uma empresa chamada Ginfes mantém um serviço web de NFS-e para vários estados e municípios, todavia não há um padrão entre eles… invarialvelmente surgem variações que muitas das vezes nem estão documentadas, isso é fato.
Mantendo um forum sobre o assunto podemos trocar experiências que podem diminuir em muito o esforço de todos.
A minha proposta é a troca de experiências bem sucedidas entre nós, desenvolvedores, afim de facilitarmos a solução de problemas relacionados a NFS-e de vários estados/municípios que muitas vezes são simples mas que na maioria das vezes são solucionados na força bruta pela simples falta de documentação.
Grato.

A
A

Bom, para começar, posso com alguma segurança tirar dúvidas sobre o serviço de FORTALEZA, MACEIÓ E RECIFE.
Fortaleza e Maceió usam o padrão Ginfes mas cada um com as suas peculiaridades.
Recife usa o padrão wsNacional com diferenças substanciais, sendo que a principal delas é a assinatura do RPS. E é sobre isso que gostaria de postar agora.

ASSINATURA DE RPS PARA RECIFE

Em geral o padrão Ginfes não pede que o RPS seja assinado (apesar de estar no manual que isso deve ser feito) pelo menos não para Fortaleza e nem para Maceió.
No entanto Recife exige que assinemos o RPS, e isso deve ser feito seguindo os passos a seguir:

1º - Monte a string de caracteres conforme descrito no manual (https://nfse.recife.pe.gov.br/arquivos/nfews.pdf - página 32)
2º - Converta a cadeia de caracteres ASCII para bytes.
3º - Gere o HASH (array de bytes) utilizando SHA1.
4º - Assine o HASH (array de bytes) utilizando RSA-SHA1.

Código para assinar a string:

private static String gerarAssinatura(String stringConcatenada) {
        String retorno = "";
        try {
            Signature dsa = Signature.getInstance("SHA1withRSA");
            /* Initializing the object with a private key */
            dsa.initSign(privateKey);
            /* Update and sign the data */
            dsa.update(stringConcatenada.getBytes());
            byte[] sig = dsa.sign();
            sig = Base64.encodeBase64(sig);
            retorno = new String(sig);

        } catch (InvalidKeyException ex) {
            Logger.getLogger(MainSigner.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SignatureException ex) {
            Logger.getLogger(MainSigner.class.getName()).log(Level.SEVERE, null, ex);
        } catch (NoSuchAlgorithmException ex) {
            Logger.getLogger(MainSigner.class.getName()).log(Level.SEVERE, null, ex);
        }
        return retorno;
    }

Dúvidas/sugestões, escrevam.
Abraço.

R

Bom dia, pessoal.

Rapaz, a briga ta feia aqui. Será que alguém poderia me ajudar?
Estou implementando o envio e geração de RPS aqui pra Fortaleza, mas não consigo mais do que a mensagem de erro “E160 - Arquivo enviado fora da estrutura do arquivo XML de entrada.”.
Antes eu estava gerando o arquivo através do nosso sistema interno. Agora, sem saber mais o que tentar, eu tou gerando um arquivo na mão, bem simples, e não consigo receber outra mensagem de erro.
Eu tou usando uma aplicação em java, bem simples também, utilizando o NetBeans e aquele plugin que implementa a comunicação com o Web Service a partir do WSDL que você informa.
Fiquei feliz quando ví que o colega aí já tem alguma experiência com o município de Fortaleza.
Será que você (ou alguém) teria um arquivo exemplo que tenha funcionado? A partir desse arquivo eu poderia ajustar o meu.
Alguma considerações:

  • É preciso utilizar conexão segura mesmo para o WS de homologação? Não estou usando…
  • Não estou assinando o meu lote de RPS, até porquê eu nem sei como fazer isso…
  • O meu arquivo foi perfeitamente validado em um validador de “schema” (http://www.xmlvalidation.com).

Espero que possam me ajudar, porque eu realmente não sei mais o que fazer.

Valeu!!!

D

rafael.dyad:
Bom dia, pessoal.

Rapaz, a briga ta feia aqui. Será que alguém poderia me ajudar?
Estou implementando o envio e geração de RPS aqui pra Fortaleza, mas não consigo mais do que a mensagem de erro “E160 - Arquivo enviado fora da estrutura do arquivo XML de entrada.”.
Antes eu estava gerando o arquivo através do nosso sistema interno. Agora, sem saber mais o que tentar, eu tou gerando um arquivo na mão, bem simples, e não consigo receber outra mensagem de erro.
Eu tou usando uma aplicação em java, bem simples também, utilizando o NetBeans e aquele plugin que implementa a comunicação com o Web Service a partir do WSDL que você informa.
Fiquei feliz quando ví que o colega aí já tem alguma experiência com o município de Fortaleza.
Será que você (ou alguém) teria um arquivo exemplo que tenha funcionado? A partir desse arquivo eu poderia ajustar o meu.
Alguma considerações:

  • É preciso utilizar conexão segura mesmo para o WS de homologação? Não estou usando…
  • Não estou assinando o meu lote de RPS, até porquê eu nem sei como fazer isso…
  • O meu arquivo foi perfeitamente validado em um validador de “schema” (http://www.xmlvalidation.com).

Espero que possam me ajudar, porque eu realmente não sei mais o que fazer.

Valeu!!!

Eu postei um XML validado do GissOnline no tópico: http://www.guj.com.br/java/232774-nfs-e-para-prefeitura-de-santo-andre-resolvido#1321579

R

Dausdara,

Valeuzão pela ajuda, mas não rolou aqui :frowning:
Esse RPS tá no layout de Fortaleza? Retornou o mesmo erro de estrutura…
É osso, se tivesse alguma pista de o que tá errado no layout, era massa…

Desde já eu agradeço a força.

D

Por webservice deve ser utilizado o leiaute: Manual_Integracao_V3_GINFES.pdf

Você desenvolveu nesse leiaute?

R

Isso… baixei o manual no site www.issfortaleza.com.br…
Já gerei o XML foi na mão, pra diminuir a chance de ter erro na minha rotina automática.
Cara, não sei o que tá faltando. Como eu disse, não tou colocando a assinatura digital nem tou utilizando o certificado, já que é só homologação.
Esse seu arquivo é da prefeitura de fortaleza?

D

É do GissOnline, é padrão em todas as cidades que utilizam o Giss, tenta subir o XML direto pelo site, sem ser por webservice, e depois fale o resultado.

R

Deusdara,

Acho que não é exatamente assim… A maioria das prefeituras tem suas peculiaridades. É uma verdadeira esculhambação! Era pra tá tudo no padrão da ABRASF, mas não tá.
Pra você ter uma idéia, aqui em Fortaleza existe uma versão (um esquema) pra ser utilizado via WebService e outro pra ser utilizado direto pelo Gissonline :/.
Eu tinha até implementado inicialmente o esquema que é pra ser enviado direto pelo site, mas depois de pronto eu ví que eu não tinha como testar!! Aí resolvi mudar pro esquema do WebService.
Mais uma vez, obrigado!

Outra coisa que eu lembrei: no site www.issfortaleza.com.br você tem como baixar os manuais “V3”, mas quando vc pega o PDF, ele tem lá embaixo: Versão 1.0 29/12/2008!!! É osso…

D

rafael.dyad:
Deusdara,

Acho que não é exatamente assim… A maioria das prefeituras tem suas peculiaridades. É uma verdadeira esculhambação! Era pra tá tudo no padrão da ABRASF, mas não tá.
Pra você ter uma idéia, aqui em Fortaleza existe uma versão (um esquema) pra ser utilizado via WebService e outro pra ser utilizado direto pelo Gissonline :/.
Eu tinha até implementado inicialmente o esquema que é pra ser enviado direto pelo site, mas depois de pronto eu ví que eu não tinha como testar!! Aí resolvi mudar pro esquema do WebService.
Mais uma vez, obrigado!

Outra coisa que eu lembrei: no site www.issfortaleza.com.br você tem como baixar os manuais “V3”, mas quando vc pega o PDF, ele tem lá embaixo: Versão 1.0 29/12/2008!!! É osso…

Toda prefeitura que se utiliza do GissOnline é o mesmo padrão, o fornecedor do sistema (EICON) mantém tudo padrão, o webservice também é um sistema fornecido pela EICON, só que existe uma diferença que quando você sobe o arquivo direto pelo site se desenvolve no padrão ABRASF V2, quando é por webservice é no ABRASF V3, eu desenvolvi vários leiautes diferentes já, prefeitura de São Paulo, Barueri, padrão DSF e vários outros, e o leiaute mais simples até agora foi o do GissOnline, que é aceito em várias cidades da mesma maneira.

R

Cara, pois me faz só mais um favor: tem como você me mandar o XSD para envio via WebService, referente à V3 do Gissonline?
Eu já baixei tanto XSD aqui que eu não sei mais qual devo usar…

Valeu mesmo pela ajuda!

D

rafael.dyad:
Cara, pois me faz só mais um favor: tem como você me mandar o XSD para envio via WebService, referente à V3 do Gissonline?
Eu já baixei tanto XSD aqui que eu não sei mais qual devo usar…

Valeu mesmo pela ajuda!

R

Valeu deusdara!

Era exatamente este que eu estava usando…
Recebi uma resposta agora do atendimento da GINFES com algumas considerações.

"Abaixo segue algumas coisas que podem ser observadas, que geralmente ocorrem neste erro:

  • O arquivo XML do cabeçalho não está respeitando o schema;

  • O método que está sendo consumido não é o correspondente ao schema (verifique versões);

  • O arquivo enviado está sofrendo alterações de charset após a validação com o schema;

  • A ordem dos parâmetros está errada (cabeçalho e arquivo)."

Vou começar do zero pra ver se dá certo… Pelo menos eu sei que eu tava no caminho certo.

Valeuzão cara!

D

Posta seu arquivo que te falo o que está errado.

R

Agradeço denovo pela ajuda!
Uma pergunta: será que com o certificado que eu gerei (com os comandos que eu vi aqui no forum) eu consigo acesso ao webservice?

D

rafael.dyad:
Agradeço denovo pela ajuda!
Uma pergunta: será que com o certificado que eu gerei (com os comandos que eu vi aqui no forum) eu consigo acesso ao webservice?

Seu xml está com a estrutura correta, só fiz pequenas alterações no cabeçalho e joguei ele contra o XSD e validou. Segue em anexo.

N

Need For Sppedy ?

J

Boa tarde comunidade JAVA !!!

Estou pedindo AJUDA para resolver um problema de integração de NFS-e com o fornecedor GINFES.

Não estou conseguindo enviar um Cancelamento de NFS-e para o WebService do GINFES.

A resposta do WS do GINFES indica o erro e160 (arquivo fora da estrutura).

O XML que estou enviando é o seguinte:

<?xml version="1.0" encoding="UTF-8"?> 68340504000194 32183267 123456 UbHYw8Z7aeHQvk/t0hNQj85MtWk=Lk+HSHZQwfjO7Rq61ffyUfcYeTPIomtpnshrsJ0JLkzgfEn69v6eSDN1vBI2ZqVMCMJcPTOo4O1O Hcozg9y8BOv0+RX6JGMQDq/mfpS/8p7e9nUJQCeoUBvQadIAUY36JW2CGjA0aVPo0IvnjP/6gmcE DF/szVTAyxIhxdZAqPo=MIIGtTCCBZ2gAwIBAgIQMsrFDqon8+o/9ojFBl0crjANBgkqhkiG9w0BAQUFADB0MQswCQYDVQQG EwJCUjETMBEGA1UEChMKSUNQLUJyYXNpbDEtMCsGA1UECxMkQ2VydGlzaWduIENlcnRpZmljYWRv cmEgRGlnaXRhbCBTLkEuMSEwHwYDVQQDExhBQyBDZXJ0aXNpZ24gTXVsdGlwbGEgRzMwHhcNMTAx MTExMDAwMDAwWhcNMTExMTEwMjM1OTU5WjCCAQIxCzAJBgNVBAYTAkJSMRMwEQYDVQQKFApJQ1At QnJhc2lsMRUwEwYDVQQLFAxJRCAtIDEyNTYzNDIxODA2BgNVBAsUL0F1dGVudGljYWRvIHBvciBD ZXJ0aXNpZ24gQ2VydGlmaWNhZG9yYSBEaWdpdGFsMRswGQYDVQQLFBJBc3NpbmF0dXJhIFRpcG8g QTExFDASBgNVBAsUCyhFTSBCUkFOQ08pMRQwEgYDVQQLFAsoRU0gQlJBTkNPKTEgMB4GA1UEAxMX QU1BWk9OIFRSQU5TUE9SVEVTIExUREExIjAgBgkqhkiG9w0BCQEWE2FoYWlsdG9uQHVvbC5jb20u YnIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAIji+TkthVu/54xoiQvoYejmADyZfjQV6PuZ R9nZjCqnFAhxldxjoOjNSGd0MyIEnMyQgUDtXqtf40J0lo/kb5qx15Xk9+2ZgOpCw/co3QRjYQhk /4yIf4jR09v9S9+WqQGP1NeOKKKYZVgq3rODGYewlUo3pF1ISaxRT8B2XGdRAgMBAAGjggM1MIID MTCBsAYDVR0RBIGoMIGloDgGBWBMAQMEoC8ELTA5MDYxOTYwMzg5MjQzMDc2NDkwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMKAgBgVgTAEDAqAXBBVMVUlaIENBUkxPUyBGRVJOQU5ERVOgGQYFYEwB AwOgEAQOMDE2NjE3NzAwMDAzMDCgFwYFYEwBAwegDgQMMDAwMDAwMDAwMDAwgRNhaGFpbHRvbkB1 b2wuY29tLmJyMAkGA1UdEwQCMAAwHwYDVR0jBBgwFoAUhLBCMzSjQiWlKJc+g+t38OhPwlQwDgYD VR0PAQH/BAQDAgXgMFUGA1UdIAROMEwwSgYGYEwBAgELMEAwPgYIKwYBBQUHAgEWMmh0dHA6Ly9p Y3AtYnJhc2lsLmNlcnRpc2lnbi5jb20uYnIvcmVwb3NpdG9yaW8vZHBjMIIBJQYDVR0fBIIBHDCC ARgwXKBaoFiGVmh0dHA6Ly9pY3AtYnJhc2lsLmNlcnRpc2lnbi5jb20uYnIvcmVwb3NpdG9yaW8v bGNyL0FDQ2VydGlzaWduTXVsdGlwbGFHMy9MYXRlc3RDUkwuY3JsMFugWaBXhlVodHRwOi8vaWNw LWJyYXNpbC5vdXRyYWxjci5jb20uYnIvcmVwb3NpdG9yaW8vbGNyL0FDQ2VydGlzaWduTXVsdGlw bGFHMy9MYXRlc3RDUkwuY3JsMFugWaBXhlVodHRwOi8vcmVwb3NpdG9yaW8uaWNwYnJhc2lsLmdv di5ici9sY3IvQ2VydGlzaWduL0FDQ2VydGlzaWduTXVsdGlwbGFHMy9MYXRlc3RDUkwuY3JsMB0G A1UdJQQWMBQGCCsGAQUFBwMEBggrBgEFBQcDAjCBoAYIKwYBBQUHAQEEgZMwgZAwKAYIKwYBBQUH MAGGHGh0dHA6Ly9vY3NwLmNlcnRpc2lnbi5jb20uYnIwZAYIKwYBBQUHMAKGWGh0dHA6Ly9pY3At YnJhc2lsLmNlcnRpc2lnbi5jb20uYnIvcmVwb3NpdG9yaW8vY2VydGlmaWNhZG9zL0FDX0NlcnRp c2lnbl9NdWx0aXBsYV9HMy5wN2MwDQYJKoZIhvcNAQEFBQADggEBAFnPIm5CnBVa87FqSKB06H1R P3QVlw+dDFDMTeZOuhe8n23RLmYtwgk4/llWwL8PI3ipl8xw34+ir/AHg45//sXSstHz1Wma6k6l l/FGmrPiGEfKnC3EUpPN7xf4zTv7WRYEu/+cbofvN0DXM/UMPizn0XyYzMLJNkZaIErDAI3TKhiQ z1VOqZHFjZkaJLyyr5cEjbk2jxvdYkcwiZdD3b06gRlwwMKWXsTdWchQeOP7BjlD3BJ0gfzgeiK+ wV9Xm1avpUBtcyqW2IpfPpsUXmJ8tPPJSacbxLL2zwgdpO/ZMRBt8tqXzhvyQ+DBoVS987INM2cT OCApS312O70DduA=

Executei testes de envio do XML utilizando tanto as classes geradas pelo WSDL2Java (Axis 1.4) quanto pelo wsimport (Jax-WS).
Em ambas o resultado é o mesmo (erro cod. e160)

O XML foi assinado pela api de Crypto do proprio JAVA.

Tanto o XML quanto a assinatura estão validos.

Alguem poderia me auxiliar a resolver isto ?

Muito obrigado.

D

[email removido:
]Boa tarde comunidade JAVA !!!

Estou pedindo AJUDA para resolver um problema de integração de NFS-e com o fornecedor GINFES.

Não estou conseguindo enviar um Cancelamento de NFS-e para o WebService do GINFES.

A resposta do WS do GINFES indica o erro e160 (arquivo fora da estrutura).

O XML que estou enviando é o seguinte:

<?xml version="1.0" encoding="UTF-8"?><CancelarNfseEnvio xmlns="http://www.ginfes.com.br/servico_cancelar_nfse_envio" xmlns:tipos="http://www.ginfes.com.br/tipos" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ginfes.com.br/servico_cancelar_nfse_envio servico_cancelar_nfse_envio_v02.xsd"> <Prestador> <tipos:Cnpj>68340504000194</tipos:Cnpj> <tipos:InscricaoMunicipal>32183267</tipos:InscricaoMunicipal> </Prestador> <NumeroNfse>123456</NumeroNfse> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>UbHYw8Z7aeHQvk/t0hNQj85MtWk=</DigestValue></Reference></SignedInfo><SignatureValue>Lk+HSHZQwfjO7Rq61ffyUfcYeTPIomtpnshrsJ0JLkzgfEn69v6eSDN1vBI2ZqVMCMJcPTOo4O1O Hcozg9y8BOv0+RX6JGMQDq/mfpS/8p7e9nUJQCeoUBvQadIAUY36JW2CGjA0aVPo0IvnjP/6gmcE DF/szVTAyxIhxdZAqPo=</SignatureValue><KeyInfo><X509Data><X509Certificate>MIIGtTCCBZ2gAwIBAgIQMsrFDqon8+o/9ojFBl0crjANBgkqhkiG9w0BAQUFADB0MQswCQYDVQQG EwJCUjETMBEGA1UEChMKSUNQLUJyYXNpbDEtMCsGA1UECxMkQ2VydGlzaWduIENlcnRpZmljYWRv cmEgRGlnaXRhbCBTLkEuMSEwHwYDVQQDExhBQyBDZXJ0aXNpZ24gTXVsdGlwbGEgRzMwHhcNMTAx MTExMDAwMDAwWhcNMTExMTEwMjM1OTU5WjCCAQIxCzAJBgNVBAYTAkJSMRMwEQYDVQQKFApJQ1At QnJhc2lsMRUwEwYDVQQLFAxJRCAtIDEyNTYzNDIxODA2BgNVBAsUL0F1dGVudGljYWRvIHBvciBD ZXJ0aXNpZ24gQ2VydGlmaWNhZG9yYSBEaWdpdGFsMRswGQYDVQQLFBJBc3NpbmF0dXJhIFRpcG8g QTExFDASBgNVBAsUCyhFTSBCUkFOQ08pMRQwEgYDVQQLFAsoRU0gQlJBTkNPKTEgMB4GA1UEAxMX QU1BWk9OIFRSQU5TUE9SVEVTIExUREExIjAgBgkqhkiG9w0BCQEWE2FoYWlsdG9uQHVvbC5jb20u YnIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAIji+TkthVu/54xoiQvoYejmADyZfjQV6PuZ R9nZjCqnFAhxldxjoOjNSGd0MyIEnMyQgUDtXqtf40J0lo/kb5qx15Xk9+2ZgOpCw/co3QRjYQhk /4yIf4jR09v9S9+WqQGP1NeOKKKYZVgq3rODGYewlUo3pF1ISaxRT8B2XGdRAgMBAAGjggM1MIID MTCBsAYDVR0RBIGoMIGloDgGBWBMAQMEoC8ELTA5MDYxOTYwMzg5MjQzMDc2NDkwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMKAgBgVgTAEDAqAXBBVMVUlaIENBUkxPUyBGRVJOQU5ERVOgGQYFYEwB AwOgEAQOMDE2NjE3NzAwMDAzMDCgFwYFYEwBAwegDgQMMDAwMDAwMDAwMDAwgRNhaGFpbHRvbkB1 b2wuY29tLmJyMAkGA1UdEwQCMAAwHwYDVR0jBBgwFoAUhLBCMzSjQiWlKJc+g+t38OhPwlQwDgYD VR0PAQH/BAQDAgXgMFUGA1UdIAROMEwwSgYGYEwBAgELMEAwPgYIKwYBBQUHAgEWMmh0dHA6Ly9p Y3AtYnJhc2lsLmNlcnRpc2lnbi5jb20uYnIvcmVwb3NpdG9yaW8vZHBjMIIBJQYDVR0fBIIBHDCC ARgwXKBaoFiGVmh0dHA6Ly9pY3AtYnJhc2lsLmNlcnRpc2lnbi5jb20uYnIvcmVwb3NpdG9yaW8v bGNyL0FDQ2VydGlzaWduTXVsdGlwbGFHMy9MYXRlc3RDUkwuY3JsMFugWaBXhlVodHRwOi8vaWNw LWJyYXNpbC5vdXRyYWxjci5jb20uYnIvcmVwb3NpdG9yaW8vbGNyL0FDQ2VydGlzaWduTXVsdGlw bGFHMy9MYXRlc3RDUkwuY3JsMFugWaBXhlVodHRwOi8vcmVwb3NpdG9yaW8uaWNwYnJhc2lsLmdv di5ici9sY3IvQ2VydGlzaWduL0FDQ2VydGlzaWduTXVsdGlwbGFHMy9MYXRlc3RDUkwuY3JsMB0G A1UdJQQWMBQGCCsGAQUFBwMEBggrBgEFBQcDAjCBoAYIKwYBBQUHAQEEgZMwgZAwKAYIKwYBBQUH MAGGHGh0dHA6Ly9vY3NwLmNlcnRpc2lnbi5jb20uYnIwZAYIKwYBBQUHMAKGWGh0dHA6Ly9pY3At YnJhc2lsLmNlcnRpc2lnbi5jb20uYnIvcmVwb3NpdG9yaW8vY2VydGlmaWNhZG9zL0FDX0NlcnRp c2lnbl9NdWx0aXBsYV9HMy5wN2MwDQYJKoZIhvcNAQEFBQADggEBAFnPIm5CnBVa87FqSKB06H1R P3QVlw+dDFDMTeZOuhe8n23RLmYtwgk4/llWwL8PI3ipl8xw34+ir/AHg45//sXSstHz1Wma6k6l l/FGmrPiGEfKnC3EUpPN7xf4zTv7WRYEu/+cbofvN0DXM/UMPizn0XyYzMLJNkZaIErDAI3TKhiQ z1VOqZHFjZkaJLyyr5cEjbk2jxvdYkcwiZdD3b06gRlwwMKWXsTdWchQeOP7BjlD3BJ0gfzgeiK+ wV9Xm1avpUBtcyqW2IpfPpsUXmJ8tPPJSacbxLL2zwgdpO/ZMRBt8tqXzhvyQ+DBoVS987INM2cT OCApS312O70DduA=</X509Certificate></X509Data></KeyInfo></Signature></CancelarNfseEnvio>

Executei testes de envio do XML utilizando tanto as classes geradas pelo WSDL2Java (Axis 1.4) quanto pelo wsimport (Jax-WS).
Em ambas o resultado é o mesmo (erro cod. e160)

O XML foi assinado pela api de Crypto do proprio JAVA.

Tanto o XML quanto a assinatura estão validos.

Alguem poderia me auxiliar a resolver isto ?

Muito obrigado.

Boa tarde,

Para o webservice é utilizado os schemas da versão 3.

Troque o cabeçalho:

<?xml version="1.0" encoding="UTF-8"?>
<CancelarNfseEnvio 
xmlns="http://www.ginfes.com.br/servico_cancelar_nfse_envio" 
xmlns:tipos="http://www.ginfes.com.br/tipos" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.ginfes.com.br/servico_cancelar_nfse_envio_v03.xsd servico_cancelar_nfse_envio_v03.xsd">

[...]
J

deusdara, obrigado pela resposta.
Na segunda-feira desta semana, dia 31/10,
o sistema do GINFES ficou instavel pois eles estavam atualizando o WSDL.
Apartir deste dia foi disponibilizado um NOVO metodo, a saber : cancelarNfseV3(arg0, arg1)

Até então, existia apenas o metodo : cancelarNfse(arg0)

E segundo o suporte do proprio GINFES era para utilizar a v2 do xsd.

Vou testar a sua dica.

Muito obrigado

R

Boa tarde a todos.

Estou perdendo as esperanças com o envio de NFS-e em Fortaleza. Provavelmente na próxima semana estarei sofrendo penalidades por não ter conseguido implementar a geração do XML.

Gostaria muito que alguém me ajudasse com esse XML que estou anexando. Ele está no layout da versão “v02”, pois estou tentando (como última tentativa) enviar direto pelo site da gissonline.

Já entrei em contato com a GINFES por e-mail (3 vezes) e não consigo mais do que (o e-mail abaixo eu recebi quando ainda estava tentando enviar para o webservice de homologação, por isso que eles se referem ao erro E160):
"
Bom dia,

O erro E160 é devolvido quando o XML de entrada não é entendido como pertencente ao schema correspondente. Na área de manual do site são disponibilizados os schemas em xsd que servem de exemplos aos desenvolvedores com pratica no uso de XML, utilizando uma ferramenta especifica como, por exemplo, o XML SPY da empresa ALTOVA é possível gera um XML valido que atenda as necessidades da empresa. Abaixo segue algumas coisas que podem ser observadas, que geralmente ocorrem neste erro:

  • O método que está sendo consumido não é o correspondente ao schema (verifique versões);
  • O arquivo enviado está sofrendo alterações de charset após a validação com o schema;
  • Formatação inadequada das tag conforme o padrão estabelecido no manual;
  • O arquivo XML do cabeçalho não está respeitando o schema (somente no caso de integração com WebService);
  • A ordem dos parâmetros está errada “1º cabeçalho, 2º arquivo” (somente no caso de integração com WebService).
    "

Já baixei esse XML SPY, validei, mas mesmo assim recebo a mensagem: “Falha ao recepecionar lote de RPS.”. Interessantemente, às vezes recebo o erro “Erro ao tentar enviar arquivo. Envie novamente.” para o mesmo arquivo.

Qualquer ajuda será de grande valia.

Valeu.

D

rafael.dyad:
Boa tarde a todos.

Estou perdendo as esperanças com o envio de NFS-e em Fortaleza. Provavelmente na próxima semana estarei sofrendo penalidades por não ter conseguido implementar a geração do XML.

Gostaria muito que alguém me ajudasse com esse XML que estou anexando. Ele está no layout da versão “v02”, pois estou tentando (como última tentativa) enviar direto pelo site da gissonline.

Já entrei em contato com a GINFES por e-mail (3 vezes) e não consigo mais do que (o e-mail abaixo eu recebi quando ainda estava tentando enviar para o webservice de homologação, por isso que eles se referem ao erro E160):
"
Bom dia,

O erro E160 é devolvido quando o XML de entrada não é entendido como pertencente ao schema correspondente. Na área de manual do site são disponibilizados os schemas em xsd que servem de exemplos aos desenvolvedores com pratica no uso de XML, utilizando uma ferramenta especifica como, por exemplo, o XML SPY da empresa ALTOVA é possível gera um XML valido que atenda as necessidades da empresa. Abaixo segue algumas coisas que podem ser observadas, que geralmente ocorrem neste erro:

  • O método que está sendo consumido não é o correspondente ao schema (verifique versões);
  • O arquivo enviado está sofrendo alterações de charset após a validação com o schema;
  • Formatação inadequada das tag conforme o padrão estabelecido no manual;
  • O arquivo XML do cabeçalho não está respeitando o schema (somente no caso de integração com WebService);
  • A ordem dos parâmetros está errada “1º cabeçalho, 2º arquivo” (somente no caso de integração com WebService).
    "

Já baixei esse XML SPY, validei, mas mesmo assim recebo a mensagem: “Falha ao recepecionar lote de RPS.”. Interessantemente, às vezes recebo o erro “Erro ao tentar enviar arquivo. Envie novamente.” para o mesmo arquivo.

Qualquer ajuda será de grande valia.

Valeu.

Vamos lá,

Tente importar o arquivo pelo site, e nesse caso não é necessário assinatura no corpo do XML.
Existiam alguns erros na sua estrutura, compare com o meu para localizar.

Abraços,
Danilo Deus Dará

R

Cara, esse schemalocation… Em uma das minhas tentativas eu recebi um retorno dizendo que não era pra ter schemalocation… Será que eu tou colocando errado? A idéia seria trocar esse endereço que aponta pra um diretório no seu computador pra um endereço na web?

Valeu pela força!

D

rafael.dyad:
Cara, esse schemalocation… Em uma das minhas tentativas eu recebi um retorno dizendo que não era pra ter schemalocation… Será que eu tou colocando errado? A idéia seria trocar esse endereço que aponta pra um diretório no seu computador pra um endereço na web?

Valeu pela força!

Não precisa, coloquei nesse arquivo só para teste, o cabeçalho deve ser só:

<?xml version="1.0" encoding="UTF-8"?> <EnviarLoteRpsEnvio xmlns="http://www.ginfes.com.br/servico_enviar_lote_rps_envio" xmlns:tipos="http://www.ginfes.com.br/tipos" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

R

Cara, pois é, eu removi o schemalocation e mesmo assim o processo de upload me dá a mensagem: “Erro ao recepcionar lote de rps.”.

Valeu pela ajuda, valeu mesmo.

R

Galera, estou enviando um xml para o WEBSERVICE de homologação e tou recebendo a resposta:
ns2:CodigoE1</ns2:Codigo>
ns2:MensagemAssinatura do Hash não confere</ns2:Mensagem>
ns2:CorrecaoReenvie asssinatura do Hash conforme algoritmo estabelecido no Manual de Instrução da NFS-e</ns2:Correcao>

Alguem poderia me esclarescer sobre a assinatura? Tou usando o método abaixo:

public static byte[] createSignature(PrivateKey key, byte[] mensagem) throws Exception {
        Signature sig = Signature.getInstance("SHA1withRSA");
        sig.initSign(key);
        sig.update(mensagem, 0, mensagem.length);
        return sig.sign();
    }

Sendo que tou com dúvida sobre o que exatamente seria a “mensagem”. Hoje, eu estou mandando como “mensagem” o xml do RPS todo montado, sem a tag “Signature”.

É isso mesmo?

Valeu.

D

Tem que mandar a tag de assinatura no corpo da mensagem!

R

Estou com duas dúvidas:
1 - o “digestValue”, estou calculando da seguinte forma: pego a mensagem toda, com a tag signature, com as tags “DigestValue” e “SignatureValue” VAZIAS, aplico o SHA1, depois o Base64 e insiro o resultado na tag “DigestValue”. Está correto assim?
2 - o “SignatureValue”, estou calculando da seguinte forma: pego a mensagem toda, com a tag signature, com a tag “DigestValue” PREENCHIDA e com a tag “SigantureValue” VAZIA, utilizo o método que eu postei mais acima, depois aplico o Base64 e insiro o resultado na tag “SignatureValue”. Está correto assim?

Obrigado pela força!

D

rafael.dyad:
Estou com duas dúvidas:
1 - o “digestValue”, estou calculando da seguinte forma: pego a mensagem toda, com a tag signature, com as tags “DigestValue” e “SignatureValue” VAZIAS, aplico o SHA1, depois o Base64 e insiro o resultado na tag “DigestValue”. Está correto assim?
2 - o “SignatureValue”, estou calculando da seguinte forma: pego a mensagem toda, com a tag signature, com a tag “DigestValue” PREENCHIDA e com a tag “SigantureValue” VAZIA, utilizo o método que eu postei mais acima, depois aplico o Base64 e insiro o resultado na tag “SignatureValue”. Está correto assim?

Obrigado pela força!

Tem que seguir o padrão: http://www.w3.org/TR/xmldsig-core/

R

E ae pessoal, blz?

Estou enviando o arquivo e tou recebendo a seguinte mensagem de retorno:
ns2:MensagemRetorno
ns2:CodigoE188</ns2:Codigo>
ns2:MensagemErro ao tentar efetuar a leitura do Certificado Digital contido na Assinatura do mesmo</ns2:Mensagem>
ns2:CorrecaoA tag X509Certificate deve estar contida na assinatura.</ns2:Correcao>
</ns2:MensagemRetorno>

Alguém saberia me esclarescer um pouco mais sobre esse erro? O meu XML tem a tag X509Certificate, dentro de => => .
A “assinatura” que ele menciona, é a tag “”? É a “” ?

Valeu!!!

M

Alguem conseguiu realizar a assinatura e enviar o xml assinado para o site?

Eu já peguei todos os exemplos que tem na net mas com todos eles dá a mensagem que o arquivo foi enviado com erro na assinatura.

Pode me ajudar?

C

Pessoal, também estou com esses problemas na comunicação com o Web Service da Ginfes.
O suporte deles é quase 0(zero)

Estou com os mesmo erros na estrutura da xml.

Alguém conseguiu fazer este envio.

A

Oi Deusdara,

Você chegou a implementar algum envio de teste pelo programa SOAPUI para o webservice de homologação de fortaleza ?

Você implementou em JAXB ou AXIS ?
Não estou conseguindo realizar o envio nem estou também conseguindo simular pelo SOAPUI.

Gostaria de uma ajuda sua.

Valeu

D

Desenvolvi somente o envio por lote, por webservice ainda não fiz. Mas no que der para ajudar estou por aqui.

Abraços,
Danilo Deus Dará

ajpbotelho:
Oi Deusdara,

Você chegou a implementar algum envio de teste pelo programa SOAPUI para o webservice de homologação de fortaleza ?

Você implementou em JAXB ou AXIS ?
Não estou conseguindo realizar o envio nem estou também conseguindo simular pelo SOAPUI.

Gostaria de uma ajuda sua.

Valeu

E

Pessoal, estou desenvolvendo um sistema para envio de notas de serviço para Santarem que utiliza o layout Ginfes e estou obtendo retorno:
E160: Arquivo enviado fora da estrutura do arquivo XML de entrada.
Ja li esse topico inteiro, fazendo tudo o que foi dito mas não adianta.
Gerei as classes a partir dos xsd da versao 3 pelo net beans utilizando JAX.
Abaixo segue o meu xml de envio.

<?xml version="1.0" encoding="UTF-8" ?>
  • 226 04933552000294 123456789123456 1
  • 113549 NFE 1 2012-04-03T00:00:00 2 2 2 1
  • 113549 NFE 1
  • 20 0.00 0.00 0.00 0.00 0.00 0.00 1 1 0.00 0.00 0.00 0.05 20 0.00 0.00 0 FATURAMENTO PORTUARIO 19
  • 04933552000294 ISENTA
  • 45985371000108 3M DO BRASIL LTDA.
  • ROD. ANHANGUERA, KM. 110 NOVA VENEZA 19 SP 13001970
  • 19-3838-7000
  • nEJv0Ji7uHbWGWpG9Q8SVDs/iro= cbVbSqQaNko0w9QJ34CT1g49Knu7EzUnOxkykhlbyl5kOmWLzZkyp4CWGqwWxZQA1KiZE818dv+x nHHouXUa099QoY+OX72XpJQcEB2PCKiW/E+hlslb/H31TJuYG8KBkHi6qpZk6PbvQKsoBjkcgmjh m/QjJmS10JkLmQii+js2AWEC6uh+FORe513fnS9jGUUiarP4nAl7nkzm0OEKObHlDE8R3WiWJ6qS kThaIMsvO647gFxMfEnLP4BXwIgsxqUAmXsM9Z3j+vr8VBtLbzfZ4HuWPvFWAYoRdY7TY48ld3M+ U4CDhn78ZiRYwQ0S71qd+zzris4+1nXIQ0y9iQ==
  • MIIIdjCCBl6gAwIBAgIQQZ0ZrcQdNPg1wSH7nMHOIjANBgkqhkiG9w0BAQsFADCBgDELMAkGA1UE BhMCQlIxEzARBgNVBAoTCklDUC1CcmFzaWwxNjA0BgNVBAsTLVNlY3JldGFyaWEgZGEgUmVjZWl0 YSBGZWRlcmFsIGRvIEJyYXNpbCAtIFJGQjEkMCIGA1UEAxMbQUMgSW5zdGl0dXRvIEZlbmFjb24g UkZCIEcyMB4XDTEyMDMyOTAwMDAwMFoXDTE1MDMyODIzNTk1OVowgfIxCzAJBgNVBAYTAkJSMRMw EQYDVQQKFApJQ1AtQnJhc2lsMQswCQYDVQQIEwJQQTERMA8GA1UEBxQIU0FOVEFSRU0xNjA0BgNV BAsULVNlY3JldGFyaWEgZGEgUmVjZWl0YSBGZWRlcmFsIGRvIEJyYXNpbCAtIFJGQjEWMBQGA1UE CxQNUkZCIGUtQ05QSiBBMzEtMCsGA1UECxQkQXV0ZW50aWNhZG8gcG9yIEFSIEluc3RpdHV0byBG ZW5hY29uMS8wLQYDVQQDEyZDT01QQU5ISUEgRE9DQVMgRE8gUEFSQTowNDkzMzU1MjAwMDI5NDCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJUwSwoOTHp82ZkqGvQmp+9m/HKQkaiL8OZg t4Wguhmn+aJB+XH1jUftRYhTXo8EpV9CPZafyx3PPzSSCtNmht1nAQs2cwr4tBb2MfDbZjROCNMa Up7FejVdYqBgu46E9zpeOnlue3i0cuN+cIUFtWEfEtqhi9lUmQyZeRgei6JZuG+b3xzhEgvnX7do L4mPoGmFRuljdzMmkwLwYJxxJGMxz4CsGnhHN9ErbPriOWrN1BbwTjSYr75u2medbvQss4HhjNDN /n3fdYXAE2xMabKl+lAqSqG3c9KWVgArRHxSPwnd0CVFrN8zouwnwBUkj/Mz9xCQiIuvYDh0FmYv YNUCAwEAAaOCA3YwggNyMIG5BgNVHREEgbEwga6gOAYFYEwBAwSgLwQtMjUxMjE5NTg1NTcxNjg2 NTcwNDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwoCgGBWBMAQMCoB8EHUNBUkxPUyBKT1NFIFBP TkNJQU5PIERBIFNJTFZBoBkGBWBMAQMDoBAEDjA0OTMzNTUyMDAwMjk0oBcGBWBMAQMHoA4EDDAw MDAwMDAwMDAwMIEUY2Vsc29saW1hQGNkcC5jb20uYnIwCQYDVR0TBAIwADAfBgNVHSMEGDAWgBTs elvPhkiDtwMVtclNRtbcWnUW3TAOBgNVHQ8BAf8EBAMCBeAwggErBgNVHR8EggEiMIIBHjBeoFyg WoZYaHR0cDovL2ljcC1icmFzaWwuYWNmZW5hY29uLmNvbS5ici9yZXBvc2l0b3Jpby9sY3IvQUNJ bnN0aXR1dG9GZW5hY29uUkZCRzIvTGF0ZXN0Q1JMLmNybDBdoFugWYZXaHR0cDovL2ljcC1icmFz aWwub3V0cmFsY3IuY29tLmJyL3JlcG9zaXRvcmlvL2xjci9BQ0luc3RpdHV0b0ZlbmFjb25SRkJH Mi9MYXRlc3RDUkwuY3JsMF2gW6BZhldodHRwOi8vcmVwb3NpdG9yaW8uaWNwYnJhc2lsLmdvdi5i ci9sY3IvQ2VydGlzaWduL0FDSW5zdGl0dXRvRmVuYWNvblJGQkcyL0xhdGVzdENSTC5jcmwwgYYG A1UdIAR/MH0wewYGYEwBAgMhMHEwbwYIKwYBBQUHAgEWY2h0dHA6Ly9pY3AtYnJhc2lsLmFjZmVu YWNvbi5jb20uYnIvcmVwb3NpdG9yaW8vZHBjL0FDLUluc3RpdHV0by1GZW5hY29uLVJGQi9EUENf QUNfSUZlbmFjb25fUkZCLnBkZjAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwgaAGCCsG AQUFBwEBBIGTMIGQMGQGCCsGAQUFBzAChlhodHRwOi8vaWNwLWJyYXNpbC5hY2ZlbmFjb24uY29t LmJyL3JlcG9zaXRvcmlvL2NlcnRpZmljYWRvcy9BQ19JbnN0aXR1dG9fRmVuYWNvbl9SRkIucDdj MCgGCCsGAQUFBzABhhxodHRwOi8vb2NzcC5jZXJ0aXNpZ24uY29tLmJyMA0GCSqGSIb3DQEBCwUA A4ICAQCA4T6olns5IyrMPJXS2GA/wxbnsyFjShmaDS3clouKQzvqrqnDT7V44yJKulxCij/tSvBR IJHX+sTVQ93FEAGOcFkdr5KEi1LcSQ/7QQtM9xObFUFtlW2uDUM5UfOKpy7skhc3PLAI+SwO59YT 1WFTYwKJfLkOYhEN/AYiKGwxzofiGif0azp9QJMYroqR/OhXD+ZxkWeQy1P7/U8qgAzLrlmndVPe NxoQNXa372vLBfzkyWOFH2Xzwa80IucSYN+XgcTgz/7yATwCjeaosk3XkgHtXoPKGyUtjeiJeO/U T0LMDj8XtvMJ9AdtKchxAADgGRVlhKrN3WonP8wS1nrIhPrYc/NmcisO6qRcQ4WXl1lnTnB0SIDt CqPvTrsWasl8ZdoKV1L5+4or4N9VB58DrV9QqK4vFdyRX9nXPRu6eEI9QD10NYA56dFFyTvqnIf3 KTy4MAZGUXXAU8SGPOxu7CbOX4mu4e+KKz44mivXsSX2ghKv7sFYv2ve18/mklCbQ79LxyiiMzlK wUNfv0u7txNhQl7WTmqmDRRM6Y0wSbYE/2U79UWPltnHxeZFJRj4nDHry+Sf/dQ+SFNW8lc2Up+b MaToHQWin1cJPPHQZwABU/X9b34ItvY0vEPORHuhQ7c9dv64l2gU5lSDyXpSZzkaHtyTyqpkInIJ mNfFxQ==

Agradeço desde ja!

T

Galera, será que alguém poderia me dar uma ajuda para enviar o XML?

Estou usando um token A3 gemalto da certsign, baixei o wsdl e importei com a opção Web Service Proxy do JDev.

Vi que tem umas configurações de SSL nas opções do Web Service criado, mas já tentei de tudo e não funfou.

Se alguém puder me ajudar, já estou ficando sem ideias.

Abraços

D

A/C Forum,

Boa tarde pessoal, estou começando a implementar a NFS-e da GINFES na minha aplicação. Já tenho funcionando a NF-e da SEFAZ.
Queria uma dica de como fazer o metodo de envio dos xmls para a GINFES. Estou tentanto fazer com as classes STUB que criei no eclise do mesmo jeito que faço com a NF-e. Não não estou conseguindo acertar os métodos. Vocês tem alguma dica ? vou postar o codigo que utilizo na NF-e de exemplo, queria fazer agluam coisa parecida para NFS-e.

NfeCabecMsg nfeCabec = new NfeRecepcao2Stub.NfeCabecMsg();
	  nfeCabec.setCUF(getUtilNfe().getCodUF());
	  nfeCabec.setVersaoDados(getUtilNfe().versaoLayout);
	  NfeCabecMsgE nfeCabecE = new NfeRecepcao2Stub.NfeCabecMsgE();
	  nfeCabecE.setNfeCabecMsg(nfeCabec);

	  NfeRecepcao2Stub.NfeDadosMsg nfeDados = new NfeRecepcao2Stub.NfeDadosMsg();
	  ByteArrayInputStream XMLString = new ByteArrayInputStream(nfeDadosMsg.getBytes());
	  XMLStreamReader XML = XMLInputFactory.newInstance().createXMLStreamReader(XMLString);
	  nfeDados = NfeRecepcao2Stub.NfeDadosMsg.Factory.parse(XML);
	  NfeRecepcao2Stub nfeStub = new NfeRecepcao2Stub();
	  NfeRecepcaoLote2Result res = nfeStub.nfeRecepcaoLote2(nfeDados, nfeCabecE);
	  String retRecepcao = res.getExtraElement().toString();

Desde ja agradeço,
Rodrigo
Pratic Sistemas

Criado 28 de junho de 2011
Ultima resposta 26 de nov. de 2012
Respostas 41
Participantes 13