Gerar Digest NFe

775 views
Skip to first unread message

Leandro C. Lopez

unread,
Jul 13, 2009, 9:53:20 AM7/13/09
to phpav...@googlegroups.com
Amigos !!!
 
Estou com probles para gerar o Digest Value da NFe.
De que forma estão gerando ele ???
 
Att.: Leandro C. Lopez
 

Roberto Leite Machado

unread,
Jul 14, 2009, 9:52:05 AM7/14/09
to phpav...@googlegroups.com
$xmldoc->loadXML($nfe,LIBXML_NOBLANKS | LIBXML_NOEMPTYTAG);
//extrair a tag com os dados a serem assinados
$infNFe = $xmldoc->getElementsByTagName($tagid)->item(0);
//extrai os dados da tag para uma string
$dados = $infNFe->C14N(FALSE,FALSE,NULL,NULL);
//calcular o hash dos dados
$hashValue = hash('sha1',$dados,TRUE);
//converte o valor para base64 para serem colocados no xml
$digValue = base64_encode($hashValue);


veja http://www.assembla.com/wiki/show/nfephp

[]'s
Roberto

2009/7/13 Leandro C. Lopez <leandro....@gmail.com>

Leandro C. Lopez

unread,
Jul 14, 2009, 12:59:47 PM7/14/09
to phpav...@googlegroups.com
Roberto !!!
 
Muito interessante esse projeto... gostaria de contribuir...
Tenho alguns moulos prontos que poderiam ser usados.
 
Att.: Leandro C. Lopez

2009/7/14 Roberto Leite Machado <roberto...@superig.com.br>

Jean

unread,
Jul 23, 2009, 3:42:01 PM7/23/09
to phpav...@googlegroups.com
Olá amigos.

Estou tendo problemas na assinatura da NF-e e na validação da mesma. Estou usando as funções disponibilizadas por nosso amigo Roberto.

Gerando o XML, fazendo a validação do XML, nas tags uCom, uTrib, nao aceitam por exemplo PC,UN. Se colocar por exemplo UNID ele ja passa. Na tag IE ele nao aceita o literal ISENTO. Arrumando isso manualmente, faço a assinatura através da função assinaPHPNF. Ok, ao fazer o envio, o lote é processado (maravilha), porém a nf-e é rejeitada (deduzo que seja algum problema na assinatura),pois se pego esse XML e assino com o aplicativo da Sefaz-RS (AssinadorRS), o XML é processado e a NF-e é autorizada.

Alguém ja passou, ou está passando por isso?

Desde já muito obrigado .

2009/7/14 Leandro C. Lopez <leandro....@gmail.com>



--
Jean Dias
Time Informática LTDA
Blumenau - SC
(47) 3041-9009

Daniel Batista Lemes

unread,
Jul 23, 2009, 4:16:43 PM7/23/09
to phpav...@googlegroups.com
Eu uso UNI, CXS e funciona, mas nunca tentei com dois caracteres

2009/7/23 Jean <jea...@gmail.com>

Walber S Sales

unread,
Jul 23, 2009, 5:30:53 PM7/23/09
to phpav...@googlegroups.com
Eu Jean, também estou com este pequeno grande problema.
[]'s
 
Walber Sales

Roberto L. Machado

unread,
Jul 23, 2009, 6:01:55 PM7/23/09
to phpav...@googlegroups.com
Prezados amigos;

Por favor atualizem o sistema classNFe foi modificado para
classNFetools. Assinatura agora é feita somente por php diretamente sem
uso de classes externas ou outros programas, foi testado e está
totalmente funcional !!! O mesmo digest da assinatura é obtido por
qualquer um dos programas testados (da SEFAZRS, sistema em java, com o
xmlsec1 ou com o UniNFe).

A assinatura fica IGUAL !!! não há mais erros na assinatura.

Outra alteração diz respeito ao certificado digital não é mais
necessária qualquer alteração ou conversão será usado diretamente o
certificado no formato fornecido (pfx).

[]'s

Roberto L. Machado

Jean

unread,
Jul 24, 2009, 2:20:42 PM7/24/09
to phpav...@googlegroups.com
Amigos, estou tendo problemas na comunicação com o WS

abaixo o trecho final do DEBUG:
2009-07-24 15:16:19.155743 soap_transport_http: set cURL HTTP headers
2009-07-24 15:16:19.155966 soap_transport_http: set cURL payload
2009-07-24 15:16:19.156206 soap_transport_http: send and receive with cURL
2009-07-24 15:16:19.288690 soap_transport_http: cURL ERROR: 58: unable to use client certificate (no key found or wrong pass phrase?)<br>url: https://homologacao.nfe.sefazvirtual.rs.gov.br:443/ws/nferecepcao/NfeRecepcao.asmx?WSDL<br>content_type: <br>http_code: 0<br>header_size: 0<br>request_size: 0<br>filetime: -1<br>ssl_verify_result: 0<br>redirect_count: 0<br>total_time: 0<br>namelookup_time: 0<br>connect_time: 0.132<br>pretransfer_time: 0<br>size_upload: 0<br>size_download: 0<br>speed_download: 0<br>speed_upload: 0<br>download_content_length: 0<br>upload_content_length: 0<br>starttransfer_time: 0<br>redirect_time: 0<br>
2009-07-24 15:16:19.288963 soap_transport_http: end of send()
2009-07-24 15:16:19.289238 wsdl: HTTP ERROR: cURL ERROR: 58: unable to use client certificate (no key found or wrong pass phrase?)<br>url: https://homologacao.nfe.sefazvirtual.rs.gov.br:443/ws/nferecepcao/NfeRecepcao.asmx?WSDL<br>content_type: <br>http_code: 0<br>header_size: 0<br>request_size: 0<br>filetime: -1<br>ssl_verify_result: 0<br>redirect_count: 0<br>total_time: 0<br>namelookup_time: 0<br>connect_time: 0.132<br>pretransfer_time: 0<br>size_upload: 0<br>size_download: 0<br>speed_download: 0<br>speed_upload: 0<br>download_content_length: 0<br>upload_content_length: 0<br>starttransfer_time: 0<br>redirect_time: 0<br>
2009-07-24 15:16:19.289540 nusoap_client: checkWSDL
2009-07-24 15:16:19.289795 nusoap_client: got wsdl error: HTTP ERROR: cURL ERROR: 58: unable to use client certificate (no key found or wrong pass phrase?)<br>url: https://homologacao.nfe.sefazvirtual.rs.gov.br:443/ws/nferecepcao/NfeRecepcao.asmx?WSDL<br>content_type: <br>http_code: 0<br>header_size: 0<br>request_size: 0<br>filetime: -1<br>ssl_verify_result: 0<br>redirect_count: 0<br>total_time: 0<br>namelookup_time: 0<br>connect_time: 0.132<br>pretransfer_time: 0<br>size_upload: 0<br>size_download: 0<br>speed_download: 0<br>speed_upload: 0<br>download_content_length: 0<br>upload_content_length: 0<br>starttransfer_time: 0<br>redirect_time: 0<br>

A classe está ficando show de bola Roberto,comecei a trabalhar encima dela...qualquer progresso por aqui dou um toque.

Estarei no aguardo da resposta. Obrigado.


2009/7/23 Roberto L. Machado <roberto...@superig.com.br>

Jean

unread,
Jul 24, 2009, 3:00:01 PM7/24/09
to phpav...@googlegroups.com
Descobri o erro pessoal.

Pesquisando pelo forum, verifiquei que nosso amigo Walber tinha passado pelo mesmo erro, e segui a orientação dele, informei o caminho completo para o certificado, ou seja:

var $pathCerts='C:/xampp/htdocs/nf-e/certificados/';

e anteriormente estava usando:

var $pathCerts='./certificados/';

Alguém sabe me dizer o porque disto?

Obrigado.

2009/7/24 Jean <jea...@gmail.com>

Jean

unread,
Jul 24, 2009, 4:59:01 PM7/24/09
to phpav...@googlegroups.com
Amigos, minhas notas não estão sendo aceitas na Sefaz.

Se eu assino utilizando a classe de nosso amigo Roberto, o lote é processado porém a nf-e é rejeitada.
Se faço a assinatura pelo AssinadorRS, e envio o xml, ele é aceito.

Roberto, você está conseguindo a autorização das nf-es utilizando sua classe?

Obrigado.

2009/7/24 Jean <jea...@gmail.com>

Daniel Lemes

unread,
Jul 24, 2009, 6:50:58 PM7/24/09
to phpav...@googlegroups.com
tu comparou as duas NFe ??
as assinaturas são iguais ?

Roberto Leite Machado

unread,
Jul 26, 2009, 4:51:25 PM7/26/09
to phpav...@googlegroups.com
As NFe são enviadas e recebidas sem problemas pelo SEFAZ

[]'s
Roberto

2009/7/24 Jean <jea...@gmail.com>

Roberto Leite Machado

unread,
Jul 26, 2009, 4:55:33 PM7/26/09
to phpav...@googlegroups.com
O path para as chaver deve ser completo e não relativo. Em linux por exemplo fica assim :

$pathCert= '/var/www/NFe/certs/certificado.pfx';

Em ruindows deveria ficar algo como :

$pathCert='c:\inetpub\www\NFe\certs\certificado.pfx';

[]'s

Roberto

2009/7/24 Jean <jea...@gmail.com>
Amigos, estou tendo problemas na comunicação com o WS

Jean

unread,
Jul 27, 2009, 9:54:03 AM7/27/09
to phpav...@googlegroups.com
Obrigado pelas respostas amigos.

Ja resolvi o erro, era o campo IE do meu XML que continha pontos ".", por isso o mesmo estava sendo rejeitado.

Agora está ok.

Obrigado.

2009/7/26 Roberto Leite Machado <roberto...@superig.com.br>

Walber S Sales

unread,
Jul 28, 2009, 2:08:55 PM7/28/09
to phpav...@googlegroups.com
Jean, você assinou com o xmlsec para windows?
Se sim, onde vc faz o download?
 
[]'s
 
Walber SAles

Jean

unread,
Jul 28, 2009, 3:12:20 PM7/28/09
to phpav...@googlegroups.com
Boa tarde Walber.

Assinei me baseando na classe do amigo Roberto, mais especificamente a função :
public function assina($docxml, $tagid='', $outDir='') da classNFEtools.php

Abraços.

Walber S Sales

unread,
Jul 28, 2009, 5:07:06 PM7/28/09
to phpav...@googlegroups.com
Olá Jean,

Sua assinatura passou no verificador da Sefaz-Rs?
Eu tinha 'dado' um tempo e agora voltei a mexer na classe do Roberto.
Mas vou te dizer uma coisa, estes certificados estão me dando uma surra.
Ja fiz tanto openssl da vida que nem sei onde eu estou mais. rsrsrs
Você passou por esta mensagem?

Warning: openssl_sign() [function.openssl-sign]: supplied key param cannot
be coerced into a private key in
D:\wss\web\cadastros\nfephp\libs\classNFEtools.php on line 810


no config sobre certificados você usa apenas estes?

// senha da chave privada
$keyPass = 'senha';
// senha de decriptaçao da chave
$passPhrase= '';
// nome do certificado
$certName = 'certificado.pfx';

Acabou aqueles lances de .pem , .p12 , etc? Agora é apenas o .pfx?
Na classeNFEtools tem uma linha que trata do .pem
$filePriv = $this->pathCerts.'privatekey.pem'; qual a forma que
vc usa para extrair o .pem.

Eu já tinha feito estas extrações com a ajuda do Roberto, mas agora nem sei
mais o que fiz.
Foi tanta coisa que sinceramente eu me perdi.



Grato,

Walber Sales




----- Original Message -----

Roberto L. Machado

unread,
Jul 28, 2009, 5:45:19 PM7/28/09
to phpav...@googlegroups.com
Walber;

A classe foi modificada para receber o certificado no formato pfx e a
função carregaCert() faz todo o trabalho agora não precisa fazer mais
nada além de invocar essa função logo após instanciar a classe. Como
exemplificado abaixo (leia o descritivo de carregaCert()):

<?php
require_once('./libs/classNFEtools.php');
require_once('./config_inc.php');
require_once('./libs/basicFunctions.php');

// ler o diretorio entradasNF
// montar matriz com os arquivos encontrados na pasta
$inName = listDir($entradasDir,'xml');


//para cada elemento da matriz assinar e gravar dados na base
$nfe = new NFEtools;
$nfe->ambiente = $ambiente;
$nfe->pathCerts = $certDir;
$nfe->nameCert = $certName;
$nfe->passKey = $keyPass;
$nfe->passPhrase = $passPhrase;

$nfe->entradasNF = $entradasDir;
$nfe->assinadasNF = $assinadasDir;
$nfe->validadasNF = $validadasDir;
$nfe->aprovadasNF = $aprovadasDir;
$nfe->enviadasNF = $enviadasDir;
$nfe->canceladasNF = $canceladasDir;
$nfe->inutilizadasNF= $inutilizadasDir;
$nfe->temporarioNF = $temporarioDir;
$nfe->recebidasNF = $recebidasDir;
$nfe->consultadasNF = $consultadas;

if( $nfe->carregaCert() ) {
// se foi retornado algum arquivo
if (count($inName) > 0){
for ($x=0; $x <= count($inName); $x++){
//carrega nfe para assinar em uma strig
$filename = $entradasDir.$inName[$x];
if ($nfefile = file_get_contents($filename)){
//assinador usando somente o PHP da classe classNFe
$signn = $nfe->assina($nfefile, 'infNFe', $assinadasDir);
}
}
}
}
?>

[]'s

Roberto

Walber S Sales

unread,
Jul 29, 2009, 11:23:07 AM7/29/09
to phpav...@googlegroups.com
gALLera,

Vamos respeitar, o kara é fera.

Resultado da Validação do Schema e Conferência da Assinatura:

PARSER XML: OK
TIPO DE MENSAGEM: NF-e
SCHEMA: OK
ASSINATURA XML: Assinatura VÁLIDA


Tudo pelo PFX, extrações foram feitas pela classe do Roberto.

Parabéns Roberto.

mario almeida

unread,
Jul 29, 2009, 4:22:17 PM7/29/09
to phpav...@googlegroups.com
Galera vocês poderiam me dar uma ajuda estou enviando minhas NFE
usando a Class NFETools.php , assino e valido com as funções da class
e fica tudo certo mas quando eu retorno o lote ele me retorna o
seguinte erro:

<retConsReciNFe xsi:schemaLocation="http://www.portalfiscal.inf.br/nfe
retConsReciNFe_v1.10.xsd" versao="1.10">
<tpAmb>2</tpAmb>
<verAplic>1</verAplic>
<nRec>130000000266454</nRec>
<cStat>215</cStat>
<xMotivo>Rejeição: Falha no schema XML</xMotivo>
<cUF>13</cUF>
</retConsReciNFe>

Em que posso está errando???

2009/7/29 Walber S Sales <onl...@multnet.com.br>:
--
Mário Sampaio de Almeida - MSA_Desenvolvimento

Jean

unread,
Jul 29, 2009, 4:34:19 PM7/29/09
to phpav...@googlegroups.com
Pessoal, coloquem o seguinte comando para printar os parametros de
vocês antes do envio:

$param = array(
'nfeCabecMsg'=>'<?xml version="1.0"
encoding="utf-8"?><cabecMsg versao="'.$cabecVer.'"
xmlns="http://www.portalfiscal.inf.br/nfe"><versaoDados>'.$dataVer.'</versaoDados></cabecMsg>',
'nfeDadosMsg'=>htmlentities('<enviNFe
xmlns="'.$this->URLnfe.'" xmlns:ds="'.$this->URLdsig.'"
xmlns:xsi="'.$this->URLxsi.'"
versao="'.$dataVer.'"><idLote>'.$this->idLote.'</idLote>'.$xml.'</enviNFe>')
);

die('<br /><hr /><pre>'.print_r($param).'</pre><hr /><br />');

Após descobrir o erro, não esqueça de retirar o htmlentities de dentro do array.

Espero que seja util.

Abraços

2009/7/29 mario almeida <prog.a...@gmail.com>:

Walber S Sales

unread,
Jul 29, 2009, 6:05:51 PM7/29/09
to phpav...@googlegroups.com
Mario,

Estou igual a você.
<cStat>215</cStat>
<xMotivo>Rejeição: Falha no schema XML</xMotivo>

Estamos na mesma posição e mesma mensagem de retorno.
Qualquer descoberta vamos colocar aqui na lista.

Att:

Walber S Sales

unread,
Jul 29, 2009, 7:05:05 PM7/29/09
to phpav...@googlegroups.com
Alguma luz?
Olha o que vai no envio.

Array ( [nfeCabecMsg] => <?xml version="1.0" encoding="utf-8"?><cabecMsg
versao="1.02"
xmlns="http://www.portalfiscal.inf.br/nfe"><versaoDados>1.10</versaoDados></cabecMsg>
[nfeDadosMsg] => <enviNFe xmlns="http://www.portalfiscal.inf.br/nfe"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
versao="1.10"><idLote>1</idLote><?xml version="1.0" encoding="UTF-8"?><NFe
xmlns="http://www.portalfiscal.inf.br/nfe"><infNFe versao="1.10"
Id="NFe31090764418601000100550000000000144890544210"><ide><cUF>31</cUF><cNF>489054421</cNF><natOp>VENDAS
DE
PRODUTOS</natOp><indPag>2</indPag><mod>55</mod><serie>0</serie><nNF>14</nNF><dEmi>2009-07-29</dEmi><dSaiEnt>2009-07-29</dSaiEnt><tpNF>1</tpNF><cMunFG>3134202</cMunFG><tpImp>1</tpImp><tpEmis>1</tpEmis><cDV>0</cDV><tpAmb>2</tpAmb><finNFe>1</finNFe><procEmi>0</procEmi><verProc>1.0</verProc></ide><emit><CNPJ>64418601000100</CNPJ><xNome>AMARANTE
TORREFACAO E MOAGEM LTDA</xNome><xFant>CAFE
CORE</xFant><enderEmit><xLgr>AV.PRESIDENTE
KENNEDY</xLgr><nro>240</nro><xBairro>GARDENIA</xBairro><cMun>3134202</cMun><xMun>Ituiutaba</xMun><UF>MG</UF><CEP>38301134</CEP><fone>31111111</fone></enderEmit><IE>3427758000031</IE></emit><dest><CNPJ>18470765000150</CNPJ><xNome>A
BANDEIRANTE LIVRARIA E PAPELARIA LTDA</xNome><enderDest><xLgr>RUA 20 ,
853</xLgr><nro>853</nro><xBairro>CENTRO</xBairro><cMun>3134202</cMun><xMun>Ituiutaba</xMun><UF>MG</UF><CEP>38300000</CEP><fone>3432682255</fone></enderDest><IE>1212121212</IE></dest><det
nItem="1"><prod><cProd>001</cProd><cEAN/><xProd>TESTE
001</xProd><genero>01</genero><CFOP>5101</CFOP><uCom>PCT</uCom><qCom>1.0000</qCom><vUnCom>10.0000</vUnCom><vProd>10.00</vProd><cEANTrib/><uTrib>PCT</uTrib><qTrib>1.0000</qTrib><vUnTrib>10.0000</vUnTrib></prod><imposto><ICMS><ICMS00><orig>0</orig><CST>00</CST><modBC>0</modBC><vBC>10.00</vBC><pICMS>0.00</pICMS><vICMS>0.00</vICMS></ICMS00></ICMS><PIS><PISAliq><CST>01</CST><vBC>10.00</vBC><pPIS>1.65</pPIS><vPIS>0.17</vPIS></PISAliq></PIS><COFINS><COFINSAliq><CST>01</CST><vBC>10.00</vBC><pCOFINS>6.00</pCOFINS><vCOFINS>0.60</vCOFINS></COFINSAliq></COFINS></imposto></det><total><ICMSTot><vBC>10.00</vBC><vICMS>0.00</vICMS><vBCST>0.00</vBCST><vST>0.00</vST><vProd>10.00</vProd><vFrete>0.00</vFrete><vSeg>0.00</vSeg><vDesc>0.00</vDesc><vII>0.00</vII><vIPI>0.00</vIPI><vPIS>0.17</vPIS><vCOFINS>0.60</vCOFINS><vOutro>0.00</vOutro><vNF>10.00</vNF></ICMSTot></total><transp><modFrete>0</modFrete></transp></infNFe><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="#NFe31090764418601000100550000000000144890544210"><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>3O+tqQ0cWGINimjXRiCR89fa2Ig=</DigestValue></Reference></SignedInfo><SignatureValue>onmyhJ3kMwIRj4EcsmjtrpmbWhOUOI8NkoHORfgbLkHpEsqCpd+rj6e+90LzY8X/HsW79WkQJ7BSVtECbTgwheDsMWyCHsI3Sa/zxEtIeRC1K6XgFQOuOQBsr5kbHBbDvg7qrET5ZUz0zPefkAaphB054SMLIgn/Cxh1vEuk9rc=</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></NFe></enviNFe>
)


O retorno é

<cStat>225&lt;/cStat>
<xMotivo>Rejeicao: Falha no Schema XML da NFe</xMotivo>

Walber S Sales

unread,
Jul 30, 2009, 1:10:52 AM7/30/09
to phpav...@googlegroups.com
Mario,

Descobri o seguinte quando termina de assinar, o arquivo gerado assinado é
inserido 2(dois) CRLF (retorno e line feed)

01) O primeiro entre ="UTF-8"?> <NFe

<?xml version="1.0" encoding="UTF-8"?> <NFe
xmlns="http://www.portalfiscal.inf.br/nfe">


02) O segundo no final do arquivo.

Como ver?
Edite o XML assinado com algum editor que mostre os CRLF tipo os notepad++ ,
etc.

Att:

Walber Sales






----- Original Message -----
From: "mario almeida" <prog.a...@gmail.com>
To: <phpav...@googlegroups.com>
Sent: Wednesday, July 29, 2009 5:22 PM
Subject: [Php Avançado: 1420] Re: Gerar Digest NFe



Walber S Sales

unread,
Jul 30, 2009, 1:10:59 AM7/30/09
to phpav...@googlegroups.com
Mario,

Descobri o seguinte quando termina de assinar, o arquivo gerado assinado é
inserido 2(dois) CRLF (retorno e line feed)

01) O primeiro entre ="UTF-8"?> <NFe

<?xml version="1.0" encoding="UTF-8"?> <NFe
xmlns="http://www.portalfiscal.inf.br/nfe">


02) O segundo no final do arquivo.

Como ver?
Edite o XML assinado com algum editor que mostre os CRLF tipo os notepad++ ,
etc.

Att:

Walber Sales
----- Original Message -----
From: "mario almeida" <prog.a...@gmail.com>
To: <phpav...@googlegroups.com>
Sent: Wednesday, July 29, 2009 5:22 PM
Subject: [Php Avançado: 1420] Re: Gerar Digest NFe



Jean

unread,
Jul 30, 2009, 7:14:06 AM7/30/09
to phpav...@googlegroups.com
Walber,seu XML está mal formado mesmo, veja abaixo:versao="1.10"><idLote>1</idLote><?xml version="1.0" encoding="UTF-8"?><NFe

xmlns="http://www.portalfiscal.inf.br/nfe"><infNFe versao="1.10"
Id="NFe31090764418601000100550000000000144890544210"><ide><cUF>31</cUF>
...
...

Aquela tag marcada em vermelho nao pode estar ali...tente tirar ela dali e e refaça o teste.

Abraços


2009/7/30 Walber S Sales <onl...@multnet.com.br>:

mario almeida

unread,
Jul 30, 2009, 9:22:36 AM7/30/09
to phpav...@googlegroups.com
Fiz as Verificações no Código e envie o XML:

Arquivo enviado:

<SOAP-ENV:Envelope>
-
<SOAP-ENV:Body>
-
<nfeRecepcaoLote>
-
<nfeCabecMsg>
<?xml version="1.0" encoding="utf-8"?><cabecMsg versao="1.02"
xmlns="http://www.portalfiscal.inf.br/nfe"><versaoDados>1.10</versaoDados></cabecMsg>
</nfeCabecMsg>
-
<nfeDadosMsg>
versao="1.10"><idLote>102</idLote>
Id="NFe14090722763502002070550010000001050000000104"
versao="1.10"><ide><cUF>14</cUF><cNF>000000105</cNF><natOp>VENDA DE
MERC. ADQ. E OU REC. DE TERCEIROS C REG.
SUB.TRIB</natOp><indPag>0</indPag><mod>55</mod><serie>1</serie><nNF>105</nNF><dEmi>2009-07-29</dEmi><dSaiEnt>2009-07-29</dSaiEnt><tpNF>1</tpNF><cMunFG>1400100</cMunFG><tpImp>1</tpImp><tpEmis>1</tpEmis><cDV>4</cDV><tpAmb>2</tpAmb><finNFe>1</finNFe><procEmi>0</procEmi><verProc>TESTE
1.3.2</verProc></ide><emit><CNPJ>22763502002070</CNPJ><xNome>PEMAZA
AMAZONIA S/A</xNome><xFant>PEMAZA AMAZONIA
S/A</xFant><enderEmit><xLgr>AV.
VENEZUELA</xLgr><nro>0</nro><xBairro>PRICUMA</xBairro><cMun>1400100</cMun><xMun>BOA
VISTA</xMun><UF>RR</UF><CEP>69309690</CEP><cPais>1058</cPais><xPais>BRASIL</xPais><fone>36266301</fone></enderEmit><IE>240160793</IE></emit><dest><CPF>76469387268</CPF><xNome>GEORGE
ROMERO TADEU CARVALHO NUNES</xNome><enderDest><xLgr>RUA AMIRINDO DOS
SANTOS</xLgr><nro>915</nro><xBairro>BURITIS</xBairro><cMun>1400100</cMun><xMun>BOA
VISTA</xMun><UF>RR</UF><CEP>69300000</CEP><cPais>1058</cPais><xPais>BRASIL</xPais><fone>9232325687</fone></enderDest><IE/></dest><det
nItem="1"><prod><cProd>10047400021</cProd><cEAN>7894400300135</cEAN><xProd>LAMPADA
UM POLO APLICA=
1156</xProd><NCM>85392910</NCM><CFOP>5405</CFOP><uCom>UN</uCom><qCom>1.0000</qCom><vUnCom>1.4700</vUnCom><vProd>1.47</vProd><cEANTrib>7894400300135</cEANTrib><uTrib>UN</uTrib><qTrib>1.0000</qTrib><vUnTrib>1.4700</vUnTrib></prod><imposto><ICMS><ICMS60><orig>0</orig><CST>60</CST><vBCST>0.00</vBCST><vICMSST>0.00</vICMSST></ICMS60></ICMS><PIS><PISAliq><CST>01</CST><vBC>1.47</vBC><pPIS>1.65</pPIS><vPIS>0.02</vPIS></PISAliq></PIS><COFINS><COFINSAliq><CST>01</CST><vBC>1.47</vBC><pCOFINS>7.60</pCOFINS><vCOFINS>0.11</vCOFINS></COFINSAliq></COFINS></imposto></det><total><ICMSTot><vBC>0.00</vBC><vICMS>0.00</vICMS><vBCST>0.00</vBCST><vST>0.00</vST><vProd>1.47</vProd><vFrete>0.00</vFrete><vSeg>0.00</vSeg><vDesc>0</vDesc><vII>0</vII><vIPI>0.00</vIPI><vPIS>0.02</vPIS><vCOFINS>0.11</vCOFINS><vOutro>0.00</vOutro><vNF>1.47</vNF></ICMSTot></total><transp><modFrete>1</modFrete></transp><infAdic><infCpl>TESTE
NFE</infCpl></infAdic></infNFe><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="#NFe14090722763502002070550010000001050000000104"><Transforms><Transform
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>73gPnawSV6d2trdrgqRa3i2OBFs=</DigestValue></Reference></SignedInfo><SignatureValue>CvtQTak6mARQoT+n13w34Z/M0iTTPvzMxl+2iMysjdQsrxH457bh1gqW2acmPg1QjU/cSsocelTSHuZZaRKARxEBB1eaGRonZRaGYFDG0A/yynRHcLhoMYWiO6cAd/G1oGcqiiBqhPwXMRNWDV1Mwzyzm+q7YYw9SJkeHDP5iT8=</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></NFe>
</enviNFe>
</nfeDadosMsg>
</nfeRecepcaoLote>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Retorno:

<retConsReciNFe xsi:schemaLocation="http://www.portalfiscal.inf.br/nfe
retConsReciNFe_v1.10.xsd" versao="1.10">
<tpAmb>2</tpAmb>
<verAplic>1</verAplic>
<nRec>130000000266790</nRec>
<cStat>215</cStat>
<xMotivo>Rejeição: Falha no schema XML</xMotivo>
<cUF>13</cUF>
</retConsReciNFe

Onde pode ser o Erro????



2009/7/30 Jean <jea...@gmail.com>:

www.isper.com.br

unread,
Jul 30, 2009, 9:43:16 AM7/30/09
to phpav...@googlegroups.com
Eu estou acompanhando meio que por cima as duvidas, tambem tive problemas com isso e resolvi adicionando a linha abaixo:

<?xml version="1.0" encoding="utf-8"?>
antes da tag dos dados:
<nfeDadosMsg>

Com o webservice de sp nao dava erro, porem com o do pr dava, entao resolvi o problema com isso
Não sei se ajuda, mais pra mim funcionou.


2009/7/30 mario almeida <prog.a...@gmail.com>



--
Evantoni Fuchs
Celular (41) 9159-5927

Acesse nossa loja virtual: http://www.isper.com.br

mario almeida

unread,
Jul 30, 2009, 3:01:03 PM7/30/09
to phpav...@googlegroups.com
Ai, Welber Conseguiu resolver a bronca da rejeição do schema xml???

2009/7/30 Walber S Sales <onl...@multnet.com.br>:
>

mario almeida

unread,
Jul 30, 2009, 5:04:58 PM7/30/09
to phpav...@googlegroups.com
Envio os dados para Web Service da Sefaz e obtive a seguinte resposta:

<retEnviNFe xsi:schemaLocation="http://www.portalfiscal.inf.br/nfe
retEnviNFe_v1.10.xsd" versao="1.10">
<tpAmb>2</tpAmb>
<verAplic>1</verAplic>
<cStat>103</cStat>
<xMotivo>Lote recebido com sucesso</xMotivo>
<cUF>13</cUF>
-
<infRec>
<nRec>130000000267428</nRec>
<dhRecbto>2009-07-30T16:42:40</dhRecbto>
<tMed>12</tMed>
</infRec>
</retEnviNFe>

Até ai tudo maravilha mas quando vou recuperar o lote recebo:


<retConsReciNFe xsi:schemaLocation="http://www.portalfiscal.inf.br/nfe
retConsReciNFe_v1.10.xsd" versao="1.10">
<tpAmb>2</tpAmb>
<verAplic>1</verAplic>
<nRec>130000000267428</nRec>
<cStat>215</cStat>
<xMotivo>Rejeição: Falha no schema XML</xMotivo>
<cUF>13</cUF>
</retConsReciNFe>

o que seria o problema? Alguém poderia me dar uma luz!!!

2009/7/30 www.isper.com.br <evan...@gmail.com>:

Walber S Sales

unread,
Jul 31, 2009, 3:40:59 AM7/31/09
to phpav...@googlegroups.com
Mario, vou parar por hoje. São 4:37 hs
Não consegui, fiz todas tentativas que enviaram.

Envio:

tMed=1
dhRecbto=2009-07-31T04:36:58
nRec=310000003799657
cStat=103
Amb=2
verAplic=1.10
Motivo=Lote recebido com sucesso
cUF=31

Retorno:

<?xml version="1.0" encoding="UTF-8" ?>
- <retConsReciNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.10">
<tpAmb>2</tpAmb>
<verAplic>1.10</verAplic>
<cStat>215</cStat>
<xMotivo>Rejeicao: Falha no esquema XML</xMotivo>
<cUF>31</cUF>
</retConsReciNFe>


Meu $param abaixo:


$param = array(
'nfeCabecMsg'=>'<?xml version="1.0" encoding="utf-8"?><cabecMsg
versao="'.$cabecVer.'"
xmlns="http://www.portalfiscal.inf.br/nfe"><versaoDados>'.$dataVer.'</versaoDados></cabecMsg>',
'nfeDadosMsg'=>'<enviNFe xmlns="'.$this->URLnfe.'"
xmlns:ds="'.$this->URLdsig.'" xmlns:xsi="'.$this->URLxsi.'
versao="'.$dataVer.'"><idLote>'.$idLote.'</idLote>'.$sNFe.'</enviNFe>');



Resultado com htmlentities:

[nfeCabecMsg] => <?xml version="1.0" encoding="utf-8"?><cabecMsg
versao="1.02"
xmlns="http://www.portalfiscal.inf.br/nfe"><versaoDados>1.10</versaoDados></cabecMsg>
versao="1.10"><idLote>1</idLote> <NFe
xmlns="http://www.portalfiscal.inf.br/nfe"><infNFe versao="1.10"
Id="NFe31090764418601000100550000000000144901940051"><ide><cUF>31</cUF><cNF>490194005</cNF><natOp>VENDAS
DE
PRODUTOS</natOp><indPag>2</indPag><mod>55</mod><serie>0</serie><nNF>14</nNF><dEmi>2009-07-31</dEmi><dSaiEnt>2009-07-31</dSaiEnt><tpNF>1</tpNF><cMunFG>3134202</cMunFG><tpImp>1</tpImp><tpEmis>1</tpEmis><cDV>1</cDV><tpAmb>2</tpAmb><finNFe>1</finNFe><procEmi>0</procEmi><verProc>1.0</verProc></ide><emit><CNPJ>64418601000100</CNPJ><xNome>AMARANTE
TORREFACAO E MOAGEM LTDA</xNome><xFant>CAFE
CORE</xFant><enderEmit><xLgr>AV.PRESIDENTE
KENNEDY</xLgr><nro>240</nro><xBairro>GARDENIA</xBairro><cMun>3134202</cMun><xMun>Ituiutaba</xMun><UF>MG</UF><CEP>38301134</CEP><fone>31111111</fone></enderEmit><IE>3427758000031</IE></emit><dest><CNPJ>18470765000150</CNPJ><xNome>A
BANDEIRANTE LIVRARIA E PAPELARIA LTDA</xNome><enderDest><xLgr>RUA 20 ,
853</xLgr><nro>853</nro><xBairro>CENTRO</xBairro><cMun>3134202</cMun><xMun>Ituiutaba</xMun><UF>MG</UF><CEP>38300000</CEP><fone>3432682255</fone></enderDest><IE>1212121212</IE></dest><det
nItem="1"><prod><cProd>001</cProd><cEAN/><xProd>TESTE
001</xProd><genero>01</genero><CFOP>5101</CFOP><uCom>PCT</uCom><qCom>1.0000</qCom><vUnCom>10.0000</vUnCom><vProd>10.00</vProd><cEANTrib/><uTrib>PCT</uTrib><qTrib>1.0000</qTrib><vUnTrib>10.0000</vUnTrib></prod><imposto><ICMS><ICMS00><orig>0</orig><CST>00</CST><modBC>0</modBC><vBC>10.00</vBC><pICMS>0.00</pICMS><vICMS>0.00</vICMS></ICMS00></ICMS><PIS><PISAliq><CST>01</CST><vBC>10.00</vBC><pPIS>1.65</pPIS><vPIS>0.17</vPIS></PISAliq></PIS><COFINS><COFINSAliq><CST>01</CST><vBC>10.00</vBC><pCOFINS>6.00</pCOFINS><vCOFINS>0.60</vCOFINS></COFINSAliq></COFINS></imposto></det><total><ICMSTot><vBC>10.00</vBC><vICMS>0.00</vICMS><vBCST>0.00</vBCST><vST>0.00</vST><vProd>10.00</vProd><vFrete>0.00</vFrete><vSeg>0.00</vSeg><vDesc>0.00</vDesc><vII>0.00</vII><vIPI>0.00</vIPI><vPIS>0.17</vPIS><vCOFINS>0.60</vCOFINS><vOutro>0.00</vOutro><vNF>10.00</vNF></ICMSTot></total><transp><modFrete>0</modFrete></transp></infNFe><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="#NFe31090764418601000100550000000000144901940051"><Transforms><Transform
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>QY9X7I9GAay1qwiDtwwU2NPpr3A=</DigestValue></Reference></SignedInfo><SignatureValue>oZMbIaXWgj+a0u8FCW3VyqV9b0jO6aI4+SNgm/E1df2dZIcEiCv/Zs349vjXtwUkwY8tUTQlndcWALoOhzLgtmzwwBHXEVMo38s9dMMlVBQ5Lnp4I73fS9jMZPtIHuS1GdA5kWNPHGEbtB6yh1DB+g/3Do/O0vbFWqqWxocuev8=</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></NFe>
</enviNFe>





Se aparecr novidas, favor postarem.

Roberto L. Machado

unread,
Jul 31, 2009, 8:20:06 AM7/31/09
to phpav...@googlegroups.com
Walber;

O problema pode estar no xml da NFe teste a NFe assinada no site
http://www.sefaz.rs.gov.br/NFE/NFE-VAL.aspx

Este validador testa qq mensagem e a propria NFe

[]'s

Roberto

Walber S Sales

unread,
Jul 31, 2009, 12:58:21 PM7/31/09
to phpav...@googlegroups.com
Roberto, estou assinando com sua classe.
Veja resultado deste validador do link que vc passou:


Resultado da Validação do Schema e Conferência da Assinatura:


PARSER XML: OK
TIPO DE MENSAGEM: NF-e
SCHEMA: OK
ASSINATURA XML: Assinatura VÁLIDA



Segue o xml.

<?xml version="1.0" encoding="utf-8"?>
<NFe xmlns="http://www.portalfiscal.inf.br/nfe"><infNFe versao="1.10"
Id="NFe31090764418601000100550000000000144901940051"><ide><cUF>31</cUF><cNF>490194005</cNF><natOp>VENDAS
DE
PRODUTOS</natOp><indPag>2</indPag><mod>55</mod><serie>0</serie><nNF>14</nNF><dEmi>2009-07-31</dEmi><dSaiEnt>2009-07-31</dSaiEnt><tpNF>1</tpNF><cMunFG>3134202</cMunFG><tpImp>1</tpImp><tpEmis>1</tpEmis><cDV>1</cDV><tpAmb>2</tpAmb><finNFe>1</finNFe><procEmi>0</procEmi><verProc>1.0</verProc></ide><emit><CNPJ>64418601000100</CNPJ><xNome>AMARANTE
TORREFACAO E MOAGEM LTDA</xNome><xFant>CAFE
CORE</xFant><enderEmit><xLgr>AV.PRESIDENTE
KENNEDY</xLgr><nro>240</nro><xBairro>GARDENIA</xBairro><cMun>3134202</cMun><xMun>Ituiutaba</xMun><UF>MG</UF><CEP>38301134</CEP><fone>31111111</fone></enderEmit><IE>3427758000031</IE></emit><dest><CNPJ>18470765000150</CNPJ><xNome>A
BANDEIRANTE LIVRARIA E PAPELARIA LTDA</xNome><enderDest><xLgr>RUA 20 ,
853</xLgr><nro>853</nro><xBairro>CENTRO</xBairro><cMun>3134202</cMun><xMun>Ituiutaba</xMun><UF>MG</UF><CEP>38300000</CEP><fone>3432682255</fone></enderDest><IE>1212121212</IE></dest><det
nItem="1"><prod><cProd>001</cProd><cEAN/><xProd>TESTE
001</xProd><genero>01</genero><CFOP>5101</CFOP><uCom>PCT</uCom><qCom>1.0000</qCom><vUnCom>10.0000</vUnCom><vProd>10.00</vProd><cEANTrib/><uTrib>PCT</uTrib><qTrib>1.0000</qTrib><vUnTrib>10.0000</vUnTrib></prod><imposto><ICMS><ICMS00><orig>0</orig><CST>00</CST><modBC>0</modBC><vBC>10.00</vBC><pICMS>0.00</pICMS><vICMS>0.00</vICMS></ICMS00></ICMS><PIS><PISAliq><CST>01</CST><vBC>10.00</vBC><pPIS>1.65</pPIS><vPIS>0.17</vPIS></PISAliq></PIS><COFINS><COFINSAliq><CST>01</CST><vBC>10.00</vBC><pCOFINS>6.00</pCOFINS><vCOFINS>0.60</vCOFINS></COFINSAliq></COFINS></imposto></det><total><ICMSTot><vBC>10.00</vBC><vICMS>0.00</vICMS><vBCST>0.00</vBCST><vST>0.00</vST><vProd>10.00</vProd><vFrete>0.00</vFrete><vSeg>0.00</vSeg><vDesc>0.00</vDesc><vII>0.00</vII><vIPI>0.00</vIPI><vPIS>0.17</vPIS><vCOFINS>0.60</vCOFINS><vOutro>0.00</vOutro><vNF>10.00</vNF></ICMSTot></total><transp><modFrete>0</modFrete></transp></infNFe><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="#NFe31090764418601000100550000000000144901940051"><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>QY9X7I9GAay1qwiDtwwU2NPpr3A=</DigestValue></Reference></SignedInfo><SignatureValue>oZMbIaXWgj+a0u8FCW3VyqV9b0jO6aI4+SNgm/E1df2dZIcEiCv/Zs349vjXtwUkwY8tUTQlndcWALoOhzLgtmzwwBHXEVMo38s9dMMlVBQ5Lnp4I73fS9jMZPtIHuS1GdA5kWNPHGEbtB6yh1DB+g/3Do/O0vbFWqqWxocuev8=</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></NFe>


Att:

Walber



----- Original Message -----
From: "Roberto L. Machasdo" <roberto...@superig.com.br>
To: <phpav...@googlegroups.com>

Marcelo Telles

unread,
Jul 31, 2009, 1:52:16 PM7/31/09
to phpav...@googlegroups.com
acho que vc tem o mesmo problema que eu tinha Walber, o problema esta na hora de envelopar, eu estou envelopando assim:

 
$param = array(
            'nfeCabecMsg'=>'<?xml version="1.0" encoding="utf-8"?><cabecMsg versao="'.$cabecVer.'" xmlns="http://www.portalfiscal.inf.br/nfe"><versaoDados>'.$dataVer.'</versaoDados></cabecMsg>',
            'nfeDadosMsg'=>'<?xml version="1.0" encoding="utf-8"?><enviNFe  xmlns="'.$this->URLnfe.'" versao="'.$dataVer.'"><idLote>'.$idLote.'</idLote>'.$sNFe.'</enviNFe>'
        );

as linhas em vermelho modifiquei da classe classNFETools.php disponibilizada pelo Sr. Roberto, nao lembro bem pq eu modifiquei, mas foi com as dicas dele mesmo e olhando o exemplo de envelopamento e debugando como o pessoal aqui mencionou, o jeito eh vc ir testando o que vc extamente esta enviando para a SEFAZ....  eu acho que tem tags a mais, acho que seu xml esta ok, de acordo com o validador, portanto esqueca ele e teste o envelopamento.

Olhe o manual de integracao do contribuinde na pagina 14 tem um exemplo de envolpamento, eu segui ele fui modificando umas coisas em nfeCabecMsg e nfeDadosMsg


Boa sorte



2009/7/31 Walber S Sales <onl...@multnet.com.br>



--
Marcelo Josué Telles
Professor Escola Técnica Olímpio
Desenvolvimento Login Sat
Msn: marce...@msn.com
Fone: 51 3595 2362
Cel: 51 9164 0596
Linux user 492525


mario almeida

unread,
Jul 31, 2009, 2:31:49 PM7/31/09
to phpav...@googlegroups.com
Valeu Marcelo, o problema estava no envelopamento já verifiquei e
conseguir resposta.

2009/7/31 Marcelo Telles <marcelo...@gmail.com>:

Walber S Sales

unread,
Aug 1, 2009, 1:39:14 AM8/1/09
to phpav...@googlegroups.com
Reunem a gALLera. O Chopp deixa comigo.
Marcelo, foi batata, deu certinho.
Roberto pode carimbar mais esta como '100% Funcional'.
 
Grato,
 
 
Walber Sales

Walber S Sales

unread,
Aug 1, 2009, 3:58:27 AM8/1/09
to phpav...@googlegroups.com
Olá gALLera.

No retorno da NFe, as vezes o cStat =105 (em processamento) , isto ocorre
quando a Sefaz ainda esta em processamento.
Para solucionar este problema, coloquei um delay em JS de 2 s que deu certo.

setTimeout("alert('Processando')",2000);

O ideal é ficar dando uma varredura até sair do 105, passaram por isto?
o que vcs fizeram?

Att:

Walber Sales


Pablo Augusto

unread,
Aug 1, 2009, 7:46:54 AM8/1/09
to phpav...@googlegroups.com
Sabe me dizer se essa classe esta funcionando para o rio de janeiro?
Ou apenas para sao paulo?

2009/8/1 Walber S Sales <onl...@multnet.com.br>:

Jean

unread,
Aug 1, 2009, 10:26:14 AM8/1/09
to phpav...@googlegroups.com
Bom dia amigos.

Walber, passei por isso tbm, fiz o mesmo que você, coloquei um delay de 3 segundos, e fiz a consulta. A seguir fiz o teste no status de retorno e se ainda estiver em processamento faz 10 tentativas de 3 em 3 segundos. Foi a solução que encontrei de momento.

Se alguém tiver alguma outra solução, por favor postar para estudarmos as melhores alternativas.

Pablo, essa classe está funcionando em somente um ambiente, você deverá adapta-la a funcionar em varios ambientes, ou somente trocar o array dos webservices, pelos WS do Rio de Janeiro.

2009/8/1 Pablo Augusto <em...@pabloaugusto.com>

mario almeida

unread,
Aug 1, 2009, 10:39:17 AM8/1/09
to phpav...@googlegroups.com
Se vocês derem uma olhadinha no manual de integração fala que depois
do envio do lote o software do contribuinte deve aguardar 15 segundos
para requisitar o lote para evitar esse tipo de problema...

Espero ter ajudado.

2009/8/1 Jean <jea...@gmail.com>:

Marcelo Telles

unread,
Aug 1, 2009, 10:41:59 AM8/1/09
to phpav...@googlegroups.com
boa.... olha que eu tomo chopp até no inverno rsrsrsrsrsr
bora mexer na classe da impressão, boa sorte

2009/8/1 Walber S Sales <onl...@multnet.com.br>
Reunem a gALLera. O Chopp deixa comigo.

Jean

unread,
Aug 1, 2009, 11:24:58 AM8/1/09
to phpav...@googlegroups.com
Bom dia Mário.

Sim, eu já sabia dessa informação.

Mas qual o usuário que vai querer ficar 15 segundos esperando o retorno da resposta? Sabe como é usuário,qualquer coisa já diz que o sistema está lento, que é uma merda e esse tipo de coisa.

Mas obrigado pela dica.

Se alguém mais tiver alguma outra sugestão...a vontade.

Abraços.

2009/8/1 mario almeida <prog.a...@gmail.com>

Walber S Sales

unread,
Aug 3, 2009, 2:34:00 PM8/3/09
to phpav...@googlegroups.com
Configure e funcione para o Brasil.
cUF e os endereços dos webservices.

[]'s
Walber

Marcelo Telles

unread,
Oct 1, 2009, 2:16:31 PM10/1/09
to phpav...@googlegroups.com
Walber e Mario
Estou com o mesmo erro.
Vocês conseguiram resolver?
--
Marcelo Josué Telles
Professor Escola Técnica Olímpio
Desenvolvimento Login Sat
Msn: marce...@msn.com
Fone: 51 3595 2362
Cel: 51 9164 0596
Linux user 492525
www.marcelo.kinghost.net


mario almeida

unread,
Oct 1, 2009, 2:21:31 PM10/1/09
to phpav...@googlegroups.com
Walber  ja passei por esse erro cara printa tua função de envioNF  para eu dar uma olhada o erro esta no envio da nota e não no xml.
Mário Sampaio de Almeida - MSA_Desenvolvimento Manaus-AM

Marcelo Telles

unread,
Oct 1, 2009, 2:29:07 PM10/1/09
to phpav...@googlegroups.com
estou usando esta:

public function enviaNF($aNFe=array(),$idLote='1',$bSave=TRUE){
        //variavel de retorno do metodo
        $bRet = false;

        // carga das variaveis da funçao do webservice
        $wsdl = 'NfeRecepcao';
        $cabecXsdfile   = $this->aFxsd['CabecMsg'];
        $cabecVer       = $this->aVerxsd['CabecMsg'];
        $dataXsdfile    = $this->aFxsd[$wsdl];
        $dataVer        = $this->aVerxsd[$wsdl];

        // limpa a variavel
        $sNFe = '';

        // monta string com as NFe enviadas
        //$sNFe = implode('',$aNFe); //tirei pq so tenho uma nota no arquivo XML alterei ali embaixo tb erra assim: $sNFe  ficou assim $aNFe);

        //remover <?xml version="1.0" encoding=... das NFe pois somente
        // uma dessas tags pode exitir na mensagem
        $sNFe = str_replace('<?xml version="1.0" encoding="utf-8"?>','',$aNFe);

        //ATENí‡AO $sNFe nao pode ultrapassar 500kBytes
        if (strlen($sNFe) > 470000) {
            //indicar erro e voltar
            return FALSE;

        }

           $param = array(
            'nfeCabecMsg'=>'<?xml version="1.0" encoding="utf-8"?><cabecMsg versao="'.$cabecVer.'" xmlns="http://www.portalfiscal.inf.br/nfe"><versaoDados>'.$dataVer.'</versaoDados></cabecMsg>',
            'nfeDadosMsg'=>'<enviNFe xmlns="'.$this->URLnfe.'" xmlns:ds="'.$this->URLdsig.'" xmlns:xsi="'.$this->URLxsi.'" versao="'.$dataVer.'"><idLote>'.$idLote.'</idLote>'.$sNFe.'</enviNFe>'
        );
       
     

        //debug do param
        $Arquivo="file".date("Y-m-dH:i:s");
        fwrite($C=fopen($this->assinadasNF."$Arquivo.txt","w+"),"nfeCabecMsg=>".$param['nfeCabecMsg']."\nnfeDadosMsg=>".$param['nfeDadosMsg']);
        fclose($C);

        //retorno e um array contendo a mensagem do SEFAZ
        $retorno = $this->sendSOAP($param, $wsdl);

        if (is_array($retorno)) {

            $xmlresp = utf8_encode($retorno[$this->aFunctionWdsl[$wsdl].'Result']);
            if ($xmlresp == ''){
                //houve uma falha na comunicação SOAP
                return FALSE;
            }

            //tratar dados de retorno
            $doc = new DOMDocument(); //cria objeto DOM
            $doc->formatOutput = false;
            $doc->preserveWhiteSpace = false;
            $doc->loadXML($xmlresp,LIBXML_NOBLANKS | LIBXML_NOEMPTYTAG);

            // status do recebimento ou mensagem de erro
            $this->cStat = $doc->getElementsByTagName('cStat')->item(0)->nodeValue;
            $this->tpAmb = $doc->getElementsByTagName('tpAmb')->item(0)->nodeValue;
            $this->verAplic = $doc->getElementsByTagName('verAplic')->item(0)->nodeValue;
            $this->xMotivo = $doc->getElementsByTagName('xMotivo')->item(0)->nodeValue;

            // em caso de sucesso  cStat = 103
            if ($this->cStat == '103'){
                // tempo medio de processamento
                $this->tMed = $doc->getElementsByTagName('tMed')->item(0)->nodeValue;
                // data e hora da mensagem
                $this->dhRecbto = $doc->getElementsByTagName('dhRecbto')->item(0)->nodeValue;
                // numero do recibo, se o lote foi aceito
                // guardar o numero do recibo na base de dados pois devera ser usado
                // para verificar o estatus dos Lotes enviados
                $this->nRec = $doc->getElementsByTagName('nRec')->item(0)->nodeValue;
                $bRet = TRUE;
            }
            if ($bSave){
                //salvar o xml retornado do SEFAZ
                $nome = $this->enviadasNF.$idLote.'-rec.xml';
                $nome = $doc->save($nome);
            }
        } else {
            $this->errorStatus = true;
            $this->errorMsg = 'Nao houve retorno do NuSoap!!';
        }

        return $bRet;
    }

2009/10/1 mario almeida <prog.a...@gmail.com>
Reply all
Reply to author
Forward
0 new messages