Jump to content

Utilizar Webservices da AT


cjulio
Go to solution Solved by thoga31,

Recommended Posts

Em 19/11/2022 às 18:08, Manuel Quelhas disse:

Não sei se mais alguém lhe aconteceu o mesmo, mas tive um sonho, em que a AT disponibilizava uma DLL (por exemplo para comunicar as séries), em que bastaria utilizar essa DLL nas nossas aplicações. Passaríamos os parâmetros necessários (incluindo o certificado), e estava feito.

Foi um sonho, depois acordei.

Abraço

🤣

Link to comment
Share on other sites

On 11/19/2022 at 6:08 PM, Manuel Quelhas said:

Não sei se mais alguém lhe aconteceu o mesmo, mas tive um sonho, em que a AT disponibilizava uma DLL (por exemplo para comunicar as séries), em que bastaria utilizar essa DLL nas nossas aplicações. Passaríamos os parâmetros necessários (incluindo o certificado), e estava feito.

Foi um sonho, depois acordei.

Abraço

Uma DLL não... mas se quiseres um projecto JAVA, com a papinha toda feita, com o e serviço compilado em linguagem nativa e classes de apoio (estruturas de dados - em falta na definição de serviço - e parametrização de requests), tens aqui: https://github.com/marcolopes/dma/blob/master/org.dma.services.at/src/org/dma/services/at/proxy/SeriesServiceHandler.java

Para que não falte nada, também existe uma classe de testes com criação aleatória de séries, que cobre todos os serviços, desde o registo, consulta, e mudanças de estado: https://github.com/marcolopes/dma/blob/master/org.dma.services.at/src/org/dma/services/at/test/SeriesServiceTest.java

Edited by marcolopes
  • Vote 1

The simplest explanation is usually the correct one

JAVA Utilities: https://github.com/marcolopes/dma

Link to comment
Share on other sites

Em 19/11/2022 às 22:03, marcolopes disse:

Uma DLL não... mas se quiseres um projecto JAVA, com a papinha toda feita, com o e serviço compilado em linguagem nativa e classes de apoio (estruturas de dados - em falta na definição de serviço - e parametrização de requests), tens aqui: https://github.com/marcolopes/dma/blob/master/org.dma.services.at/src/org/dma/services/at/proxy/SeriesServiceHandler.java

Para que não falte nada, também existe uma classe de testes com criação aleatória de séries, que cobre todos os serviços, desde o registo, consulta, e mudanças de estado: https://github.com/marcolopes/dma/blob/master/org.dma.services.at/src/org/dma/services/at/test/SeriesServiceTest.java

Por mim, espero que as coisas continuem assim, desafiantes e complexas!

Porque no dia em que tudo for assim tão simples como tu "sonhas", será o dia em que muitos de nós ficarão sem trabalho 😉

Link to comment
Share on other sites

Em 19/11/2022 às 22:03, marcolopes disse:

Uma DLL não... mas se quiseres um projecto JAVA, com a papinha toda feita, com o e serviço compilado em linguagem nativa e classes de apoio (estruturas de dados - em falta na definição de serviço - e parametrização de requests), tens aqui: https://github.com/marcolopes/dma/blob/master/org.dma.services.at/src/org/dma/services/at/proxy/SeriesServiceHandler.java

Para que não falte nada, também existe uma classe de testes com criação aleatória de séries, que cobre todos os serviços, desde o registo, consulta, e mudanças de estado: https://github.com/marcolopes/dma/blob/master/org.dma.services.at/src/org/dma/services/at/test/SeriesServiceTest.java

Já conhecia. Parabéns pela iniciativa pois pode ajudar muita gente.

Pessoalmente não uso JAVA e na realidade para quem já tem a comunicação dos documentos de transporte a funcionar a comunicação das series não tem dificuldade, digo eu. Pois a parte mais complexa seria a parte da autenticação. O resto, no meu caso, basta referenciar o WSDL que fico logo com as classes feitas.  

 

Link to comment
Share on other sites

Em 19/11/2022 às 23:06, Pedro Alves disse:

Por mim, espero que as coisas continuem assim, desafiantes e complexas!

Porque no dia em que tudo for assim tão simples como tu "sonhas", será o dia em que muitos de nós ficarão sem trabalho 😉

Não concordo, mas aceito. Não vejo onde a comunicação com a AT te pode deixar sem trabalho, até porque é a parte mais simples e menos morosa de tudo que envolve as obrigações fiscais com a AT. Felizmente não tive dificuldades a implementar a comunicação das séries, pois já tinha a comunicação dos documentos de transporte a funcionar e o esquema é análogo. Mas como vejo aqui muitas dúvidas sobre essa parte, lembrei-me da DLL, embora em jeito de brincadeira como é obvio 🙂

Link to comment
Share on other sites

Em 19/11/2022 às 18:08, Manuel Quelhas disse:

Não sei se mais alguém lhe aconteceu o mesmo, mas tive um sonho, em que a AT disponibilizava uma DLL (por exemplo para comunicar as séries), em que bastaria utilizar essa DLL nas nossas aplicações. Passaríamos os parâmetros necessários (incluindo o certificado), e estava feito.

Foi um sonho, depois acordei.

Abraço

Isso não é um sonho, seria um pesadelo.

Nem toda a informática roda em torno da Microsoft apesar de muita gente achar que sim, existe um mundo lá fora por explorar.🙂

Sobre a AT nem tenho muitas queixas sobre os seus manuais técnicos, mas sim, podiam simplificar mais as coisas, mas o pior é as contrariedades frequentes nas várias leis e os prazos que dão para efetuar as implementações e a falta de suporte.

Sim podia haver uma API para ir buscar os documentos ao site, mas para tudo ser perfeito, teriamos de termos um Portugal perfeito e os seus habitantes também ser perfeitos.

Resumidamente era uma chatice😁😂

Link to comment
Share on other sites

Em 21/11/2022 às 11:35, furiousangelpt disse:

Pergunta sobre o campo Nonce quais são os dados que esta variável tem de ter antes de ser codificada?

O campo é construído de acordo com o seguinte procedimento:
Nonce = Base64(CRSA,KpubSA (Ks))
KS = array de bytes com a chave simétrica de 128 bits, produzida de acordo com a norma AES.
CRSA,KpubSA = Função de cifra da chave simétrica com o algoritmo RSA utilizando a chave pública do sistema de autenticação (KpubSA).
Base64 = Codificação em Base 64 do resultado.

Link to comment
Share on other sites

Boas tardes,

Pontualmente, num cliente, surge o erro "THe request was aborted: Could not create SSL/TLS Secure Channel".

Isto ao nível da comunicação de séries. 

Passados alguns minutos, normaliza. Ou seja, deixa de ocorrer (e acontece de tempos a tempos). 

Será que o web-service, nestas situações, se encontra de alguma forma sobrecarregado, momentaneamente, e não é capaz de processar novas ligações seguras?

Está a acontecer convosco?

 

Edited by 123xyz
Link to comment
Share on other sites

Foi publicada hoje a Resolução do Conselho de Ministros n.º 111/2022 que estipula o valor que a AT pode gastar com a aquisição de serviços de desenvolvimento aplicacional dos sistemas de informação.

Não será por falta de dinheiro que as coisas não se fazem na AT. De 2023 a 2026, a AT tem 33.578.125 de euros (por ano) para gastar. Um total de 134.312.500 euros deve dar para fazer algumas coisitas. 😀

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.