Gandalf
Membro Pro Verificado-
Total de ítens
275 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Gandalf postou
-
Continua retornando a mesma resposta. Será que o comportamento no conteiner é diferente? A porta que a minha aplicação roda é a 8080 Lembrando que o erro não dá em tempo de compilação, somente quando eu tento acessar o ACBrLib
-
Bom dia, Acrescentei as dependências e agora estou recebendo a mensagem Gtk-WARNING **: 12:53:38.689: cannot open display: Acrescentei as seguintes linhas no dockerfile (antes de acrescentá-las também estava dando esse erro): RUN Xvfb :1 -screen 0 1024x768x16 &> xvfb.log & RUN DISPLAY=:1.0 RUN export DISPLAY
-
Meu dockerfile está assim: #See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging. FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base USER root WORKDIR /app EXPOSE 8080 FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build ARG BUILD_CONFIGURATION=Release WORKDIR /src COPY ["NFEsAPI/NFEsAPI.csproj", "NFEsAPI/"] COPY ["NFEs.App/NFEs.App.csproj", "NFEs.App/"] COPY ["ACBrTrunk2/trunk2/Projetos/ACBrLib/Demos/C#/NFe/Imports/Dinamico/MT/ACBrLib.NFe.csproj", "ACBrTrunk2/trunk2/Projetos/ACBrLib/Demos/C#/NFe/Imports/Dinamico/MT/"] COPY ["ACBrTrunk2/trunk2/Projetos/ACBrLib/Demos/C#/Shared/ACBrLib.Core/ACBrLib.Core.csproj", "ACBrTrunk2/trunk2/Projetos/ACBrLib/Demos/C#/Shared/ACBrLib.Core/"] COPY ["GAFNETLibrary/GAFNETLibrary/GAFNETLibrary.csproj", "GAFNETLibrary/GAFNETLibrary/"] COPY ["NFEs.Domain/NFEs.Domain.csproj", "NFEs.Domain/"] RUN dotnet restore "./NFEsAPI/NFEsAPI.csproj" COPY . . WORKDIR "/src/NFEsAPI" RUN dotnet build "./NFEsAPI.csproj" -c $BUILD_CONFIGURATION -o /app/build FROM build AS publish ARG BUILD_CONFIGURATION=Release RUN dotnet publish "./NFEsAPI.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false FROM base AS final WORKDIR /app COPY --from=publish /app/publish . COPY ACBrLib /app/ACBrLib COPY ACBrLib/x64/libacbrnfe64.so /usr/lib/x86_64-linux-gnu/libacbrnfe64.so # Atualiza a lista de pacotes e instala as ferramentas necessárias RUN apt-get update \ && apt-get install -y \ apt-utils \ wget \ unzip \ software-properties-common RUN apt-get download \ libxml2 \ libxslt1.1 \ libcurl4 \ libssl-dev \ uuid-dev \ libudev-dev \ && mv *.deb /usr/lib64 # Atualiza a lista de pacotes e instala as dependências RUN apt-get update \ && apt-get install -y \ openssl \ libxml2 \ libxslt1.1 \ libcurl4 \ libssl-dev \ uuid-dev \ libudev-dev \ gcc \ g++ \ make \ && rm -rf /var/lib/apt/lists/* USER app ENTRYPOINT ["dotnet", "NFEsAPI.dll"]
-
Provavelmente é alguma configuração no dockerfile, em relação às dependências, porque ele compila e roda o conteiner normalmente.
-
A única mensagem que retorna é que a biblioteca não pode ser carregada. Se houver alguém que já conseguiu fazer funcionar, podemos negociar. Eu preciso disso funcionando.
-
Obrigado pelo esforço, Daniel. Eu já coloco a biblioteca em /usr/lib64 e, mesmo assim, não funciona. Não há ninguém mais no suporte que entenda de docker? Ou alguma consultoria que pudessem me indicar para fazer isso funcionar? Toda a minha estrutura de microserviços está no linux e eu não gostaria de ter de criar outro plano no Azure somente para isso.
-
Daniel, mandei a api em anexo por aqui mesmo pra ti. Conseguiste receber?
-
Daniel, estou tentando mandar os arquivos zipados (ficou em 259k) mas o email destinatário está recusando. De qual outra forma posso mandar?
-
Bom dia! Muito obrigado Daniel, vou mandar por lá então.
-
Sim, eu compreendi que era acbrlibnfe.so. Eu posso te mandar a minha api, com o dockerfile. Tu trabalhas com o docker aí? Porque, provavelmente, eu estou colocando os arquivos em alguma pasta errada ou não estou copiando para o conteiner algum arquivo necessário.
-
Pode ser algum problema com a versão das bibliotecas do linux que eu estou baixando? Eu vi em outro tópico que é necessária a openssl 1.1.1 e eu creio que não é essa que está sendo baixada. Se possível, passar a lista das bibliotecas que eu preciso instalar no meu conteiner e também quais arquivos eu tenho de colocar em alguma outra pasta. Eu não uso arquivos .ini, o erro ocorre quando eu dou o comando ACBrNFe ACBrNFe = new("[Memory]"); No windows funciona perfeitamente.
-
Olá Daniel, eu coloquei a dll na pasta /usr/lib64 mas com o mesmo resultado. Acho estranho que pudesse ser isso, porque a acbrlib está procurando a dll na pasta /app/ACBrLib/x64. Ele não parece ter gerado outra pasta. Na pasta da ACBrLib deve ter algum outro arquivo além da libacbrnfe64.so? Eu deixei lá as outras dependências (.dll), mas as que vem com a ACBrLib. Tem de ter ali alguma outra biblioteca do linux?
-
Bom dia, Optei por usar conteiners com o docker file a seguir são os passos que tomei, Copiei para a pasta /app/ACBrLib/x64 o arquivo libacbrnfe64.so (debuguei nos fontes do acbrlib e ele está buscando na pasta certa) - Instalei as seguintes dependências: RUN apt-get update \ && apt-get install -y \ openssl \ libxml2 \ libxslt1.1 \ libcurl4 \ libssl-dev \ uuid-dev \ libudev-dev \ gcc \ g++ \ make \ && rm -rf /var/lib/apt/lists/* - copiei as dependências também para RUN apt-get download \ libxml2 \ libxslt1.1 \ libcurl4 \ libssl-dev \ uuid-dev \ libudev-dev \ && mv *.deb /usr/lib64 Mas continuo recebendo a mensagem "Não foi possivel carregar a biblioteca.". Existe alguma outra dependência que eu não estou carregando?
-
Ótimo! Muito obrigado!
-
Boa tarde Diego, obrigado pelo retorno! Vou esclarecer melhor: Nesse exemplo, o que acontece é que o xml é colado como texto. Mas eu queria saber se existe um objeto(classe) para armazenar esse retorno. Ainda mais que podem vir vários xmls em uma mesma conexão, sendo que uns são completos e outros são parciais. Vou colocar um exemplo: public class NotaFiscal { propriedade propriedade propriedade ... } seria algo como abaixo. A consulta já carregaria uma lista de objetos, os quais poderiam ser lidos/manipulados e não como demonstra o exemplo, que lê como texto. List<NotaFiscal> notasFiscais = ACBrNFe.DistribuicaoDFe(codUf, cnpj, eNsu, ArquivoOuXml);
-
Bom dia, Como faço para receber o retorno dos XML's quando faço a consulta pelo último NSU? Nos exemplos do ACBr e também no curso do ACBrPro é mostrado como fazer a consulta, mas não como carregar os resultados (caso sejam XML's completos ou não). Na LIB, por exemplo, tem um método para carregar um xml e ele carrega em uma classe predefinida, mas no caso da distribuição DFE não encontrei nenhum exemplo de como carregar em um objeto o retorno da consulta.
-
Justamente, com o Docker tu já mandas todas as dependências (no windows a ACBrLib já funciona) e, a princípio, não vai precisar instalar no linux.
-
Pois é justamente aí que a coisa está pegando. Como tu disseste, o app service abstrai praticamente tudo. Somente em casos muito específicos, como esse, é que surge essa dificuldade.
-
Seria mais fácil implantar com docker/container?
-
Já tenho trabalhado com o linux no azure há algum tempo. Já migrei todas as minhas api's para o linux no azure sem nenhum problema e estão rodando normalmente. Somente no caso da ACBrLib é que empaquei. Em máquinas linux propriamente (permissões, instalação, comandos) eu sou realmente cru. Sim, eu vi essa postagem. Já dá um alento saber que é possível, mas não tem os passos para executar. Poderiam dar uma luz? Obrigado Társis
-
Obrigado pela resposta Daniel, mas aquilo se aplica para quem está instalando diretamente em uma máquina linux. No meu caso, eu estou usando um app service do linux no azure. Eu não tenho acesso direto a essas pastas. Eu vi aqui no fórum uma postagem de um membro que havia conseguido fazer com o ACBrBoleto, mas ainda não ficou claro para mim como. Qualquer ajudar será muito bem vinda. Obrigado Társis
-
Boa tarde, Eu preciso saber onde colocar e quais são as dependências do ACBrLibNFe para linux. Eu já estou usando normalmente para windows (servidor web) e funciona. Agora migrei para o azure e estou usando um plano de serviço do linux e estou recebendo a mensagem de que não foi possível carregar a biblioteca. Estou usando o mesmo procedimento do windows, na pasta raiz criei uma pasta "ACBrLib" e dentro dela as respectivas pastas x64 ou x86, onde coloquei as bibliotecas de dependência (coloquei as mesmas do windows) e a biblioteca correspondente do linux libacbrnfe64.so. Preciso usar outras bibliotecas de dependência, quando o ambiente é linux? Preciso colocar os arquivos em outra pasta? Att Társis Francke Ferreira
-
Boa tarde, estou tendo um problema para compilar esse pacote, que está impedindo que os componentes sejam instalados corretamente. Já exclui todos os arquivos (marcando para apagar os arquivos antigos e limpando até toda a pasta do acbr) e continua dando problema. Vou anexar aqui o arquivo de log. log_Delphi_XE2_Win32.txt
-
Boa tarde, os valores zerados foram resolvidos, mas a série nota.Identificacao.Serie e nota.Identificacao.dhEmi estão vindo vazios. Isso é também da classe em C#?
