Ir para conteúdo
  • Cadastre-se

almp1

Membros
  • Total de ítens

    115
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que almp1 postou

  1. Olá Daniel, Segue novamente. Fiz alterações em todos os arquivos do pacote adequando os tipo de variável, Cardinal, Integer, LongInt Abraços ACBrOpenSSL.zip
  2. Olá Daniel, Segue fonte alterado ... fiz testes no linux 32 bits e continuou funcionando da mesma forma. Se precisar de algo estou a disposição Abraços ACBrOpenSSL.zip
  3. Olá Daniel, Eu avancei mais um pouco, mas não esta totalmente correto ainda. Baseado na informação de que no Linux TLibHandle é diferente de THandle, me aventurei e substitui na libxmlsec.pas todos os tipos de onde estava LongInt para SizeInt e onde estava Cardinal para ValUInt. O sistema agora, passa pela assinatura. mas o xml não fica assinado de forma correta. Se você puder dar uma olhada para ver se o caminho é este mesmo continuo minha pesquisa. Caso contrário vou tentar outros caminhos Abraços,
  4. Olá Daniel, tudo bem ? Pelo meno você conseguiu extrai o vazamento do erro. Eu parava na "Falha ao assinar o Documento" e ficava no "vácuo" Vou continuar pesquisando sobre o assunto, mas parece que estamos bem perto de resolver a assinatura com Linux 64 Abraços,
  5. Daniel obrigado pela ajuda... Se precisar de alguma coisa conte comigo Abraços,
  6. Olá Daniel, tudo bem ? O problema tem sido a assinatura do XML mesmo. Não quero me prolongar muito, mas quero tentar te passar as informações de forma clara Estou usando para testes Linux CentOs 7.0 64 bits. (Já uso CentOs 6.8 de 32 bits com Lazarus 1.4 + FPC 2.6, tudo funciona perfeitamente neste ambiente). No Linux CentOS 7 64bits, fiz teste usando o conjunto Lazarus 1.6 + FPC 3.0 e também Lazarus 1.4+ FPC 2.6, nas duas versões os resultados foram os mesmos. As bibliotecas foram baixadas e instaladas do próprio repositório do CentOS (RPM) usando (YUM). Foram instalados os pacotes binários e os de desenvolvimento (devel). As versões instaladas são as seguinte: LibXmlSec 1.2.20 LibXml2 2.9.1 LibXslt 1.1.28 OpenSSL 1.0.1 Zlib 1.2.7 (não sei se é importante mas percebi que no windows ela é necessária) Iconv 1.7.18 (não sei se é importante mas percebi que no windows ela é necessária) Elas podem ser baixadas manualmente deste repositório http://rpmfind.net/linux/rpm2html/search.php?query=libxml2 http://rpmfind.net/linux/rpm2html/search.php?query=libxmlsec É só efetuar as buscas dos pacotes rpm e efetuar os downloads dos pacotes necessários (mesmo assim eu prefiro o yum, pois ele facilita na resolução das dependências !!!) Para tentar descartar alguma falha na instalação das bibliotecas descomentei a linha abaixo // Assinando com XMLSec // //DEBUG WriteToTXT('/tmp/XmlToSign.xml', AXml, False, False); E assinei o XML manualmente xmlsec1 --sign --output assinado.xml --pkcs12 meucertificado.pfx --pwd senhacertificado XmlToSign.xml O resultado foi o xml assinado "quase" no mesmo formato do ACBr . A diferença é que depois de assinado, o ACBr submete o xml ao método "AjustarXMLAssinado", mas fora isso o resultado é o mesmo. Outro detalhe importante é que na declaração da variável libhandle precisei mudar para TLibHandle, conforme mencionei em alguns posts atrás libHandle: TLibHandle; Quem me ajudou com essa solução foi o próprio pessoal do fórum do Lazarus, onde expliquei minha dificuldade. http://forum.lazarus.freepascal.org/index.php/topic,33472.msg217113.html#msg217113 Esta mudança não afetou o uso no ambiente Linux 32bis, mas não cheguei a fazer testes no Windows. A principio entendo que o problema nem esteja ligado ao ACBr, mas não sei mais a quem recorrer para pedir uma ajuda. Sem dúvida houve uma evolução em relação a este assunto. E acredito que falta pouco para darmos um ponto final nisso. Estou muito interessado e disposto a ajudar. Porém estou um pouco perdido. Se precisar de mais informações estou a disposição, Abraços
  7. Olá amigos, Segue mais algumas informações referente ao uso do ACBr em Linux 64 bits. Fiz uma comparação debugando linha a linha com 2 maquinas lado a lado uma de 32 e outra de 64 bits Segue as imagens anexas. Percebi que na maquina 32bits no debug tenho a seguinte informação SignNode = xmlnodeptr($08D57050) = record XMLNODE { _PRIVATE = $0 .... Já na maquina de 64bits no debug tenho a seguinte informação SignNode = <XMLNODE> { _PRIVATE = $0, .... Após algumas pesquisas na internet parece que o libxml2 não encontra o XMLNODE especificado, apesar de não gerar a exceção, ele não traz o nó correto para assinatura. Ainda continuo dando "tiros no escuro", se alguém tiver alguma ideia de como posso prosseguir daqui ... Lembrando que no sistema de 32bits tudo funciona perfeitamente. Abraços
  8. Bom dia Amigos Algumas pessoas tem me perguntado se é possível enviar nota fiscal para prefeitura de São Paulo só com usuário e senha, sem certificado. Eu tenho respondido que não, gostaria de saber de vocês se há essa possibilidade mesmo ! Abraços,
  9. Olá Italo Somente no SP.ini conforme abaixo Producao=https://nfe.prefeitura.sp.gov.br/nfe.aspx?ccm=%InscMunic%&nf=%NumeroNFSe%&cod=%CodVerif% Homologacao=https://nfe.prefeitura.sp.gov.br/nfe.aspx?ccm=%InscMunic%&nf=%NumeroNFSe%&cod=%CodVerif% Abraços,
  10. Olá Italo, tudo bem? Obrigado pelo apoio. Atualizei os fontes e fiz mais alguns testes. Realmente o sistema não consegue identificar qual é o provedor de forma automática. A exceção ocorre nas linhas abaixo do pnfsNFSeR.pas no método TNFSeR.LerNFSE if FProvedor = proNenhum then begin if (Leitor.rExtrai(1, 'PrestadorServico') <> '') then begin CM := OnlyNumber(Leitor.rCampo(tcStr, 'CodigoMunicipio')); if CM = '' then CM := Leitor.rCampo(tcStr, 'Cidade'); FProvedor := CodCidadeToProvedor(CM); // Aqui recebemos "Invalid Integer" end end; Não fiz nenhuma alteração apenas mantive o código sugerido no post anterior. FNFSeR.Provedor := TACBrNFSe(TNotasFiscais(Collection).ACBrNFSe).Configuracoes.Geral.Provedor; FNFSeR.ProvedorConf := TACBrNFSe(TNotasFiscais(Collection).ACBrNFSe).Configuracoes.Geral.Provedor; No caso de São Paulo, percebi que o XML não contem o código do município do emissor, não sei se isso influencia nesta automação. Alterei também o SP.ini para ser possível a geração do Link da NFSe. Anexei todos os ini(s) no zip abaixo usando a ultima versão do fonte. Somente deixei todas as extensões com letra minuscula, ou seja, no mesmo formato da busca do arquivo pelo fonte, para evitar que o arquivo não seja encontrado caso o usuário utilize o sistemas unix, onde ha "cases sensitives" Os testes que efetuei com a ultima versão foi 1)Envio de lote de NFSe (OK) 2)Consulta notas em um lote de NFSe(OK) 3)Cancelamento de uma nota (OK) 4)Impressão da nota usando o link da prefeitura de SP (OK) Qualquer duvida estou a disposição, Abraços, ArqINI.zip
  11. Olá Italo, tudo bem ? Fiz mais alguns testes e precisei fazer 2 alterações simples conforme segue abaixo No método LerXML precisei passar o Provedor para que o sistema entenda de qual provedor dever ser lido o XML, no ACBrNFSeNotasFiscais.pas { TODO -oalmp1 -cduvida : Deve ser assim !? } FNFSeR.Provedor := TACBrNFSe(TNotasFiscais(Collection).ACBrNFSe).Configuracoes.Geral.Provedor; FNFSeR.ProvedorConf := TACBrNFSe(TNotasFiscais(Collection).ACBrNFSe).Configuracoes.Geral.Provedor; Se puder avaliar com calma o trecho acima veja que temos Provedor e ProvedorConf, que recebem o mesmo valor, achei estranho isso, mas só assim funcionou. No Método LerNFSe_SP a leitura precisa ser feita na consulta da nota e no cancelamento da nota, para atender as duas situações fiz a seguinte alteração no pnfsNFSeR.pas { TODO -oalmp1 -calteracao : Alterei para iniciar a leitura do xml em qualquer metodo} if (Leitor.rExtrai(1, 'NFe') <> '') then bOk := True else if (Leitor.rExtrai(1, 'CompNfse') <> '') then bOk := True; if bOk then . . . . . Além dos testes convencionais, estou fazendo testes em 2 etapas também, ou seja, a primeira etapa de envio, depois simulei uma queda de energia ou de rede, onde é necessário uma segunda etapa, esta para verificar se a nota já esta emitida na prefeitura. Estou enviando os arquivos anexos Fico a disposição para qualquer dúvida Abraços, ACBrNFSeNotasFiscais.pas pnfsNFSeR.pas
  12. Olá Amigos, Consegui passar pela linha citada acima __emptyExp := xmlExpNodePtrPtr(GetProcAddress(libHandle, 'emptyExp')); Na declaração da variável libHandle: THandle; Substitui por libHandle: TLibHandle; E com isso não ocorreu mais a exceção 'External: SIGSEGV'. Agora, pelo menos recebo uma exceção do ACBr informando que não foi possível assinar o XML. Vou debugar e posto aqui o resultado dos testes. Obrigado por enquanto, Abraços
  13. Olá Daniel, Pode parecer estranho essa minha "fixação" em relação as arquiteturas. Vou falar da minha necessidade para que entenda o motivo de eu ter desistido da compatibilidade. Temos um sistema que roda em servidores Apache+Linux, onde eu uso o Lazarus para desenvolver CGIs. E claro, o ACBr em modo console para emissão de notas NFe e NFSe. (É mesmo uma benção este ACBr ). Neste caso se eu criar um simples CGI apenas com a mensagem "Olá Mundo" em Linux 32 bits e colocar numa maquina Linux 64bits onde o Apache é de 64bits, recebo um erro 500, ou seja, o apache não é capaz de executar um cgi feito em 32bits enquanto ele (o Apache) é de 64. E colocar um apache de 32 bits em Linux 64 é tão complexo que se torna inviável. Eu preciso do Linux em arquitetura 64bits por causa de custos e performance. Pois o ambiente de produção, que é virtualizado, não suporta HDs do tipo SSD em arquiteturas 32bits, somente discos magnéticos, ou seja não posso atualizar minha infra estrutura para tecnologias mais recentes devido a isso. Fico a disposição se precisar de alguma informação Abraços,
  14. Olá Daniel, O cenário não é bem esse. O linux é mais "burocrático" do que windows. No windows por exemplo, mesmo ele sendo 64, você pode instalar e rodar programas 32bits sem problemas, pois a MS manteve a compatibilidade. No Linux, apesar de falarem por ai que existe a mesma compatibilidade, o trabalho é tão grande que não compensa fazer isso. Então eu tenho uma maquina Windows 10 com Lazarus 32 bits e Lazarus 64 bits. Onde instalei as bibliotecas da libxml para 32bits e 64 bits. Fiz toda sorte de testes nesta maquina usando 32 e 64. Tive sucesso nas duas arquiteturas, usando certificados A1 e A3, com capicom e com OpenSSL. Para Linux sou obrigado a ter 2 maquinas uma maquina somente com arquitetura 32bis, com Lazarus 32 e as bibliotecas libxml 32bits, Funciona tudo perfeito também. Neste cenário só fico refém de certificados A1. Mas me atende perfeitamente. Tenho outra maquina com Linux 64 bits, onde tudo nela é 64bits, Lazarus, FPC, e a libxml. Neste caso nem consigo instalar programas de 32bits pois não ha compatibilidade. É neste ambiente que não consigo assinar a NFe. Pesquisando aqui no forum, vi um post do Juliomar falando sobre um possível bug nas units da openssl do Lazarus para 64 bits. Mas até onde eu entendi, usamos funções da openssl para executar funções do Certificado como por exemplo: validar a senha, ler o CNPJ, ler a validade etc ... E todas estas funções no ambiente Linux64bits funcionam sem problemas. Os problemas começam quando iniciamos o processo de funções com o XML, leitura, assinaturas, parses ... A maquinas são físicas, não uso nenhum ambiente é virtualizado. Postei a situação no forum do Lazarus também http://forum.lazarus.freepascal.org/index.php?topic=33472.0, Espero encontrar algum caminho para resolver isso. Se precisar de mais informações, estou a disposição Abraços,
  15. Olá Amigos, Fiz os testes no Linux 64. Usei a distribuição CentOS7, o problema ocorre no mesmo ponto. __emptyExp := xmlExpNodePtrPtr(GetProcAddress(libHandle, 'emptyExp')); Aparentemente a biblioteca é carregada normalmente, mas quando efetuamos o GetProcAddress, uma exceção é elevada. Projeto ACBrNFE_Demo elevou classe exceção 'External: SIGSEGV'. No endereço 7FFFF7DE4DF0 Eu não consigo continuar porque não entendo o problema. Sei que o problema não é no ACBr, só estou postando para compartilhar a experiencia. Claro que se alguém tiver uma ideia será bem vinda Abraços
  16. Olá amigos, Só para dar um report, testei a biblioteca https://github.com/ak47morozov/Delphi-Libxml2 no DelphiX2 foi tranquilo, mas no Lazarus 1.4.4 fom FPC 2.6.4 No Windows deu muito problema, nem me estendi para testes no Linux. Porém fiz algumas alterações no ACBrOpenSSL e o funcionamento tanto no Delphi quanto Lazaus Windows funcionaram perfeitamente, vou fazer testes no Linux para ver o comportamento e se tudo der certo posto os resultados aqui. Abraços
  17. Olá Daniel, Gosto desta linha de pensamento, A principio, se não houver, vou mapear apenas as funções que são necessárias para o ACBr para "enxugar" os fontes libxmlsec, libxml2, libxslt. Vou tentar esboçar alguma coisa pensado em economia e compatibilidade no Linux 64 e vou postando aqui. Abraços,
  18. Olá Amigos, Estou retomando este assunto, pois o uso da NFe em ambiente Linux64 me interessa muito, e acredito que deva interessar a outros colegas que usam o ACBr. Entrei em contato com o Petr que desenvolveu a libxml2-pascal https://sourceforge.net/projects/libxml2-pas/ e a resposta dele foi a seguinte. Hello Andre, I stopped maintenance of the libxml2-pas library for about 12 years ago, and I myself do no longer work neither actively use any flavor of Pascal. Actually, it would be surprising for me if the code was still usable.... I am afraid that there is only one thing you can do - your own research :( Anyway, thanks for contacting me. Good luck, Petr Ai entendi o motivo do pacote ACBrOpenSSL ter o seu próprio fonte libxml2.pas, já que ele é uma peça fundamental para o uso do ACBr com OpenSSL. Sei que já houve um avanço nas DLLs para Windows usando a Libxml2-2. ftp://xmlsoft.org/libxml2/win32/64bit/ Vou fazer alguns testes usando a codificação do Messias Henrique https://github.com/messiashenrique/xmlsec4pascal e atualizando os pacotes da biblioteca para ultima versão da libxml que é a 2.9.4. Percebi que a libxml2.pas foi criada baseada na versão 2.7.3 que é de 2009. (já foram 7 anos). Também foram disponibilizados as versões 1.6 do Lazarus e 3.0 da FPC. Acho que já houve alguma evolução Se alguém tiver alguma ideia, duvida, sugestão fico a disposição para podermos usar também a assinatura da NFe em Linux64 Abraços,
  19. Olá EMBarbosa, Acredito que na tag de Assinatura <SignatureValue> esta informação realmente não esta disponível mas se olharmos para a tag <X509Certificate> não iremos encontrar a identificação do contribuinte (CPF/CNPJ) aqui ? Digo isso, porque ao enviarmos um documento para um WS de órgão publico eles são capazes de identificar e certificar de que o documento é realmente daquele contribuinte. Abraços,
  20. Bom dia Italo, tudo bem ? Fiz vários testes para leitura do xml que contem a lista de notas de retorno, e acabei enfrentando problemas com o tratamento de datas. Se eu uso a função nativa do acbr Leitor.rCampo(tcDat, 'DtEmiNf'); Sempre recebo exceção ou do formato da data ou do uso de '/' de forma inválida. Acredito que isso ocorre porque o tcDat espera o formato yyyy/mm/dd Por isso fiz mais alguns ajustes no pnfsNFSeR.pas no método LerNFSe_CONAM, e precisei tratar novamente primeiro os campos do tipo data como string e depois transforma-las em data. Sei que não é o mais correto, mas não consegui fazer de outra forma. Alguns detalhes que podem ajudar, o XML das notas retornam com os campos data assim: <DtEmiNf>11/07/2016</DtEmiNf> Estou enviando o arquivo pnfsNFSeR.pas para sua analise. Abraços, pnfsNFSeR.pas
  21. Olá Italo Segue pnfsNFSeR.pas com o método LerNFSe_CONAM atualizado. Com esta atualização agora é possível ter uma leitura mais completa do XML para efetuar a impressão local. Acredito que isso torna o Provedor Conam 100% funcional. OBS: Não fiz nenhuma alteração nos recursos de impressão, caso tenham alguma dúvida que eu possa ajudar, fico a disposição. Abraços, pnfsNFSeR.pas
  22. Bom dia Italo, tudo bem ? Obrigado pelo commit, fiz os testes aqui e todos os métodos do provedor estão funcionando. Com isso estamos 100% integrados com o CONAM. Eu já estou usando este provedor em ambiente de produção com os cliente que emitem nota por ele. Só preciso fazer um ajuste na leitura do XML da Nota para impressão do DANFE usando o ACBr, pois incluímos o Registro 30. Porém, se o programador utilizar a impressão da própria prefeitura, pode colocar o provedor em produção. Assim que eu concluir o ajuste da leitura envio o arquivo. Abraços
  23. Olá Italo Fiz os testes a unica alteração que ficou pendente foi das linhas abaixo no ACBrNFSeWebServices. No lugar destas instruções ValorIss := FNotasFiscais.Items[0].NFSe.Servico.Valores.ValorIss; ValorIssRetido := FNotasFiscais.Items[0].NFSe.Servico.Valores.ValorIssRetido; Precisa estar conforme abaixo, pois o ValorISS e ValorIssRetido é a soma destes valores utilizados nos RPS(s) do lote enviado, da forma acima estaríamos enviando apenas o valor da primeiro RPS ValorIss := TotalISS; //almp1 ValorIssRetido := TotalISSRetido; //almp1 Fiz o mesmo esquema da alteração anterior comentando com almp1 as linhas alteradas. Segue o arquivo alterado anexo Qualquer duvida estou a disposição Abraços, ACBrNFSeWebServices.pas
  24. Olá Amigos Segue anexo alteração para envio e consulta de RPS em lote para o provedor CONAM. Olá Italo, para facilitar a validação comentei as linhas que foram alteradas com //almp1. O arquivo pnfsNFSeW_CONAM.pas não foi comentado pois é o mais isolado e foi o que recebeu menos alterações, só foi preciso comentar algumas linhas. Com estas alterações é possível enviar um lote de RPS(s) e, ao consultar as notas deste protocolo, se houver varias notas emitidas neste protocolo, o sistema ira popular uma lista de NFSe para leitura. Sendo assim após a consulta ACBrNFe.ConsultarLoteRps É possível recuperar todas as notas emitidas for i := 0 to ACBrNFe.NotasFiscais.Count - 1 do begin with ACBrNFe.NotasFiscais.Items[i] do begin NFSe.Numero NFSe.Identificacao.Numero . . . end; end; O método de cancelamento só permite o envio de um RPS, por isso não houve alterações neste método Espero que ajude aos amigos que consomem o provedor CONAM Qualquer dúvida estou a disposição Abraços, pnfsLerListaNFSe.pas pnfsNFSeG.pas pnfsNFSeR.pas pnfsNFSeW_CONAM.pas ACBrNFSeWebServices.pas
  25. Olá F Almeida Aparentemente o WS de São Paulo não esta respondendo corretamente os demais métodos. O Daniel havia me pedido a url do wsdl e não conseguiu abrir. Um cliente muito amigo me emprestou o certificado para podermos fazer testes no WS de São Paulo e percebi que muita coisa, inclusive exemplos dos XMLs e o acesso ao WSDL só é permitido usando o certificado. Acho isso uma ignorância da parte deles, pois isso faz parte do material publico para nosso desenvolvimento, a exemplo da NFe, que mesmo sem certificado conseguimos baixar e acessar as urls publicas. Eu entrei em contato com a prefeitura de São Paulo [email protected] informando o ocorrido, pois o que recebemos é erro 500, entendo que é um problema interno deles e não nosso. Acredito que se outros entrarem com a mesma reclamação eles podem se mobilizar a nos dar um melhor atendimento. Outro ponto negativo na prefeitura de São Paulo é o ambiente de homologação, eles só disponibilizam para teste o pedido de envio de lote. Os demais métodos devem ser testados feitos em ambiente de produção. Para aqueles que não conseguem ver o WSDL vou deixar aqui o "Server Description", talvez isso possa nos ajudar a achar algum caminho mais curto no consumo dos outros métodos. This XML file does not appear to have any style information associated with it. The document tree is shown below. <wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.prefeitura.sp.gov.br/nfe" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.prefeitura.sp.gov.br/nfe"> <wsdl:types> <s:schema elementFormDefault="qualified" targetNamespace="http://www.prefeitura.sp.gov.br/nfe"> <s:element name="EnvioRPSRequest"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="VersaoSchema" type="s:int"/> <s:element minOccurs="0" maxOccurs="1" name="MensagemXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="EnvioRPSResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="RetornoXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="EnvioLoteRPSRequest"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="VersaoSchema" type="s:int"/> <s:element minOccurs="0" maxOccurs="1" name="MensagemXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="EnvioLoteRPSResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="RetornoXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="TesteEnvioLoteRPSRequest"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="VersaoSchema" type="s:int"/> <s:element minOccurs="0" maxOccurs="1" name="MensagemXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="TesteEnvioLoteRPSResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="RetornoXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="CancelamentoNFeRequest"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="VersaoSchema" type="s:int"/> <s:element minOccurs="0" maxOccurs="1" name="MensagemXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="CancelamentoNFeResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="RetornoXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="ConsultaNFeRequest"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="VersaoSchema" type="s:int"/> <s:element minOccurs="0" maxOccurs="1" name="MensagemXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="ConsultaNFeResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="RetornoXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="ConsultaNFeRecebidasRequest"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="VersaoSchema" type="s:int"/> <s:element minOccurs="0" maxOccurs="1" name="MensagemXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="ConsultaNFeRecebidasResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="RetornoXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="ConsultaNFeEmitidasRequest"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="VersaoSchema" type="s:int"/> <s:element minOccurs="0" maxOccurs="1" name="MensagemXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="ConsultaNFeEmitidasResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="RetornoXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="ConsultaLoteRequest"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="VersaoSchema" type="s:int"/> <s:element minOccurs="0" maxOccurs="1" name="MensagemXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="ConsultaLoteResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="RetornoXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="ConsultaInformacoesLoteRequest"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="VersaoSchema" type="s:int"/> <s:element minOccurs="0" maxOccurs="1" name="MensagemXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="ConsultaInformacoesLoteResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="RetornoXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="ConsultaCNPJRequest"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="VersaoSchema" type="s:int"/> <s:element minOccurs="0" maxOccurs="1" name="MensagemXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> <s:element name="ConsultaCNPJResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="RetornoXML" type="s:string"/> </s:sequence> </s:complexType> </s:element> </s:schema> </wsdl:types> <wsdl:message name="EnvioRPSSoapIn"> <wsdl:part name="parameters" element="tns:EnvioRPSRequest"/> </wsdl:message> <wsdl:message name="EnvioRPSSoapOut"> <wsdl:part name="parameters" element="tns:EnvioRPSResponse"/> </wsdl:message> <wsdl:message name="EnvioLoteRPSSoapIn"> <wsdl:part name="parameters" element="tns:EnvioLoteRPSRequest"/> </wsdl:message> <wsdl:message name="EnvioLoteRPSSoapOut"> <wsdl:part name="parameters" element="tns:EnvioLoteRPSResponse"/> </wsdl:message> <wsdl:message name="TesteEnvioLoteRPSSoapIn"> <wsdl:part name="parameters" element="tns:TesteEnvioLoteRPSRequest"/> </wsdl:message> <wsdl:message name="TesteEnvioLoteRPSSoapOut"> <wsdl:part name="parameters" element="tns:TesteEnvioLoteRPSResponse"/> </wsdl:message> <wsdl:message name="CancelamentoNFeSoapIn"> <wsdl:part name="parameters" element="tns:CancelamentoNFeRequest"/> </wsdl:message> <wsdl:message name="CancelamentoNFeSoapOut"> <wsdl:part name="parameters" element="tns:CancelamentoNFeResponse"/> </wsdl:message> <wsdl:message name="ConsultaNFeSoapIn"> <wsdl:part name="parameters" element="tns:ConsultaNFeRequest"/> </wsdl:message> <wsdl:message name="ConsultaNFeSoapOut"> <wsdl:part name="parameters" element="tns:ConsultaNFeResponse"/> </wsdl:message> <wsdl:message name="ConsultaNFeRecebidasSoapIn"> <wsdl:part name="parameters" element="tns:ConsultaNFeRecebidasRequest"/> </wsdl:message> <wsdl:message name="ConsultaNFeRecebidasSoapOut"> <wsdl:part name="parameters" element="tns:ConsultaNFeRecebidasResponse"/> </wsdl:message> <wsdl:message name="ConsultaNFeEmitidasSoapIn"> <wsdl:part name="parameters" element="tns:ConsultaNFeEmitidasRequest"/> </wsdl:message> <wsdl:message name="ConsultaNFeEmitidasSoapOut"> <wsdl:part name="parameters" element="tns:ConsultaNFeEmitidasResponse"/> </wsdl:message> <wsdl:message name="ConsultaLoteSoapIn"> <wsdl:part name="parameters" element="tns:ConsultaLoteRequest"/> </wsdl:message> <wsdl:message name="ConsultaLoteSoapOut"> <wsdl:part name="parameters" element="tns:ConsultaLoteResponse"/> </wsdl:message> <wsdl:message name="ConsultaInformacoesLoteSoapIn"> <wsdl:part name="parameters" element="tns:ConsultaInformacoesLoteRequest"/> </wsdl:message> <wsdl:message name="ConsultaInformacoesLoteSoapOut"> <wsdl:part name="parameters" element="tns:ConsultaInformacoesLoteResponse"/> </wsdl:message> <wsdl:message name="ConsultaCNPJSoapIn"> <wsdl:part name="parameters" element="tns:ConsultaCNPJRequest"/> </wsdl:message> <wsdl:message name="ConsultaCNPJSoapOut"> <wsdl:part name="parameters" element="tns:ConsultaCNPJResponse"/> </wsdl:message> <wsdl:portType name="LoteNFeSoap"> <wsdl:operation name="EnvioRPS"> <wsdl:input message="tns:EnvioRPSSoapIn"/> <wsdl:output message="tns:EnvioRPSSoapOut"/> </wsdl:operation> <wsdl:operation name="EnvioLoteRPS"> <wsdl:input message="tns:EnvioLoteRPSSoapIn"/> <wsdl:output message="tns:EnvioLoteRPSSoapOut"/> </wsdl:operation> <wsdl:operation name="TesteEnvioLoteRPS"> <wsdl:input message="tns:TesteEnvioLoteRPSSoapIn"/> <wsdl:output message="tns:TesteEnvioLoteRPSSoapOut"/> </wsdl:operation> <wsdl:operation name="CancelamentoNFe"> <wsdl:input message="tns:CancelamentoNFeSoapIn"/> <wsdl:output message="tns:CancelamentoNFeSoapOut"/> </wsdl:operation> <wsdl:operation name="ConsultaNFe"> <wsdl:input message="tns:ConsultaNFeSoapIn"/> <wsdl:output message="tns:ConsultaNFeSoapOut"/> </wsdl:operation> <wsdl:operation name="ConsultaNFeRecebidas"> <wsdl:input message="tns:ConsultaNFeRecebidasSoapIn"/> <wsdl:output message="tns:ConsultaNFeRecebidasSoapOut"/> </wsdl:operation> <wsdl:operation name="ConsultaNFeEmitidas"> <wsdl:input message="tns:ConsultaNFeEmitidasSoapIn"/> <wsdl:output message="tns:ConsultaNFeEmitidasSoapOut"/> </wsdl:operation> <wsdl:operation name="ConsultaLote"> <wsdl:input message="tns:ConsultaLoteSoapIn"/> <wsdl:output message="tns:ConsultaLoteSoapOut"/> </wsdl:operation> <wsdl:operation name="ConsultaInformacoesLote"> <wsdl:input message="tns:ConsultaInformacoesLoteSoapIn"/> <wsdl:output message="tns:ConsultaInformacoesLoteSoapOut"/> </wsdl:operation> <wsdl:operation name="ConsultaCNPJ"> <wsdl:input message="tns:ConsultaCNPJSoapIn"/> <wsdl:output message="tns:ConsultaCNPJSoapOut"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="LoteNFeSoap" type="tns:LoteNFeSoap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="EnvioRPS"> <soap:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/envioRPS" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="EnvioLoteRPS"> <soap:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/envioLoteRPS" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="TesteEnvioLoteRPS"> <soap:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/testeenvio" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="CancelamentoNFe"> <soap:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/cancelamentoNFe" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="ConsultaNFe"> <soap:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/consultaNFe" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="ConsultaNFeRecebidas"> <soap:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/consultaNFeRecebidas" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="ConsultaNFeEmitidas"> <soap:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/consultaNFeEmitidas" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="ConsultaLote"> <soap:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/consultaLote" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="ConsultaInformacoesLote"> <soap:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/consultaInformacoesLote" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="ConsultaCNPJ"> <soap:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/consultaCNPJ" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:binding name="LoteNFeSoap12" type="tns:LoteNFeSoap"> <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="EnvioRPS"> <soap12:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/envioRPS" style="document"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> <soap12:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="EnvioLoteRPS"> <soap12:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/envioLoteRPS" style="document"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> <soap12:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="TesteEnvioLoteRPS"> <soap12:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/testeenvio" style="document"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> <soap12:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="CancelamentoNFe"> <soap12:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/cancelamentoNFe" style="document"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> <soap12:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="ConsultaNFe"> <soap12:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/consultaNFe" style="document"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> <soap12:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="ConsultaNFeRecebidas"> <soap12:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/consultaNFeRecebidas" style="document"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> <soap12:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="ConsultaNFeEmitidas"> <soap12:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/consultaNFeEmitidas" style="document"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> <soap12:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="ConsultaLote"> <soap12:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/consultaLote" style="document"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> <soap12:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="ConsultaInformacoesLote"> <soap12:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/consultaInformacoesLote" style="document"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> <soap12:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="ConsultaCNPJ"> <soap12:operation soapAction="http://www.prefeitura.sp.gov.br/nfe/ws/consultaCNPJ" style="document"/> <wsdl:input> <soap12:body use="literal"/> </wsdl:input> <wsdl:output> <soap12:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="LoteNFe"> <wsdl:port name="LoteNFeSoap" binding="tns:LoteNFeSoap"> <soap:address location="https://nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx"/> </wsdl:port> <wsdl:port name="LoteNFeSoap12" binding="tns:LoteNFeSoap12"> <soap12:address location="https://nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx"/> </wsdl:port> </wsdl:service> </wsdl:definitions> Assim que eu conseguir mais alguma informação posto aqui, e se outros amigos também puderem contribuir fico agradecido, se precisarem esclarecer alguma duvida onde eu possa ajudar estou a disposição. Abraços,
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...