• Revista PROGRAMAR: Já está disponível a edição #56 da revista programar. Faz já o download aqui!

cjulio

Utilizar Webservices da AT

7172 mensagens neste tópico

2 horas atrás, md mad disse:

Tanto quanto sei, para realizar testes (porto 701, endereço https://servicos.portaldasfinancas.gov.pt:701/sgdtws/documentosTransporte), utiliza-se o certificado fornecido pelas finanças e não o do produtor de software (Teste Web Service). Qual o certificado que está a ser utilizado no request?

Se calhar é por aí!

Cumprimentos

 

Obrigado pela resposta,

Sim, tem razão  o certificado do produtor não é relevante para este caso, mas como copiei toda a pasta do que segue actualmente para os clientes acabei por ficar com o mesmo na pasta de desenvolvimento. (mal não faz).

Sim, estou a utilizar o certificado de testes. Disse que era válido até 17 março mas afinal é até 19 de março. (ainda está válido).

Mais alguma ideia? Há algo que tenha de ser mudado (nestes últimos 4 anos) no código que tenho em C# ?
(antes estava em VS2013 .net 3.5; agora está em VS2015 e já tentei com .net 3.5 e 4.5)

cps,

AS

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
20 horas atrás, antseq disse:

Obrigado pela resposta,

Sim, tem razão  o certificado do produtor não é relevante para este caso, mas como copiei toda a pasta do que segue actualmente para os clientes acabei por ficar com o mesmo na pasta de desenvolvimento. (mal não faz).

Sim, estou a utilizar o certificado de testes. Disse que era válido até 17 março mas afinal é até 19 de março. (ainda está válido).

Mais alguma ideia? Há algo que tenha de ser mudado (nestes últimos 4 anos) no código que tenho em C# ?
(antes estava em VS2013 .net 3.5; agora está em VS2015 e já tentei com .net 3.5 e 4.5)

cps,

AS

Caro AS,

Deparei-me com o mesmo problema e a solução é adicionar esta linha (que afetará todas as chamadas):

System.Net.ServicePointManager.SecurityProtocol = Net.SecurityProtocolType.Ssl3 Or Net.SecurityProtocolType.Tls

Cumprimentos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
4 horas atrás, fegf disse:

Caro AS,

Deparei-me com o mesmo problema e a solução é adicionar esta linha (que afetará todas as chamadas):

System.Net.ServicePointManager.SecurityProtocol = Net.SecurityProtocolType.Ssl3 Or Net.SecurityProtocolType.Tls

Cumprimentos.

 

Obrigado pela sugestão,

Já havia tentado, de qualquer forma voltei a tentar agora mesmo e continua a dar "A ligação subjacente foi fechada: Erro inesperado ao enviar."

do que vejo no código, a aplicação "aborta" (exception) na primeira linha (request.GetRequestStream), nem sequer chega a enviar nada ao servidor da AT, é como se o servidor da AT não estivesse lá !?

Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();

Por acaso hoje tive oportunidade de colocar num cliente, este mesmo utilitário de 2013 (VS2013), acabado de compilar com o VS2015 e em modo "Produção" funcionou a primeira (e apenas tem "SecurityProtocolType.Ssl3"), portanto o ser em VS2015 não é o motivo e mais uma vez não percebo o porque de não funcionar em ambiente de "Testes".

É a mesma aplicação, só dois IFs alteram o comportamento "Produção" / "Testes":

if (argTESTE){
	EnderecoWebService = new Uri("https://servicos.portaldasfinancas.gov.pt:701/sgdtws/documentosTransporte");
} 
else {
	EnderecoWebService = new Uri("https://servicos.portaldasfinancas.gov.pt:401/sgdtws/documentosTransporte");
}

SoapAction = "https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/";

if (argTESTE){
	cert.Import("TesteWebServices.pfx", "TESTEwebservice", X509KeyStorageFlags.DefaultKeySet);
}
else {
	cert.Import("9999999999.pfx", "################", X509KeyStorageFlags.DefaultKeySet);
}

* já experimentei em computadores diferentes e sempre o mesmo erro em modo "Testes"

* já experimentei em máquinas virtuais com W7, W10 e sempre o mesmo erro em modo "Testes"

* já experimentei em casa (outra rede, outra net) e sempre o mesmo erro em mod "Testes"

Alguém consegue confirmar que o servidor de testes (....:701) da AT está a funcionar e a responder ?

Qualquer outra idéia também será bem-vinda. :).

Desde já obrigado.

Cps,

AS

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Em 10/03/2017 às 21:38, antseq disse:

Alguém consegue confirmar que o servidor de testes (....:701) da AT está a funcionar e a responder ?

Experimentei mesmo agora e está a funcionar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
3 horas atrás, chesser disse:

Experimentei mesmo agora e está a funcionar.

Obrigado :)

Há qualquer coisa que me está a faltar ou falhar, só não faço a menor ideia do que será :(.

Continua a dar-me o mesmo erro na linha "Stream dataStream = request.GetRequestStream();"

Também encontrei no forum o mesmo problema reportado há alguns meses, só não encontrei foi a solução :( :

http://www.portugal-a-programar.pt/forums/topic/57734-utilizar-webservices-da-at/?do=findComment&comment=600976

http://www.portugal-a-programar.pt/forums/topic/57734-utilizar-webservices-da-at/?do=findComment&comment=600983

cps,
AS

Editado por antseq
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
3 horas atrás, antseq disse:

Obrigado :)

Há qualquer coisa que me está a faltar ou falhar, só não faço a menor ideia do que será :(.

Continua a dar-me o mesmo erro na linha "Stream dataStream = request.GetRequestStream();"

Também encontrei no forum o mesmo problema reportado há alguns meses, só não encontrei foi a solução :( :

http://www.portugal-a-programar.pt/forums/topic/57734-utilizar-webservices-da-at/?do=findComment&comment=600976

http://www.portugal-a-programar.pt/forums/topic/57734-utilizar-webservices-da-at/?do=findComment&comment=600983

cps,
AS

Boas,

Ainda não encontrei a solução, continuo com o mesmo problema, exactamente como o descreves.

Desisti, porque para já está a funcionar em produção, mas tb vou ter que encontrar solução, no mínimo para fazer alterações para o SAFT 1.04.

Se descrobrires algo e puderes partilhar (farei o mesmo), será bem-vindo...

Cps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
1 hora atrás, bugFree disse:

Boas,

Ainda não encontrei a solução, continuo com o mesmo problema, exactamente como o descreves.

Desisti, porque para já está a funcionar em produção, mas tb vou ter que encontrar solução, no mínimo para fazer alterações para o SAFT 1.04.

Se descrobrires algo e puderes partilhar (farei o mesmo), será bem-vindo...

Cps

 

Viva,

Obrigado.

Por um lado é bom saber que não sou o único com esta situação e que não sou o único a dar em doido para perceber o porque de funcionar em Produção e não funcionar em Testes.

Mal encontre a solução (se encontrar) ou se descobrir algo mais coloco aqui no forum, se entretanto alguém tiver mais sugestões ou vier a ter o mesmo problema por favor partilhem.

cps,

AS

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Está a dar-me um erro e não consigo obter código AT:

"Ocorreu o seguinte erro ao comunicar o código de transporte do documento com a AT:

-9996

Comunicação sem resposta ou erro de comunicação!"

 

Este erro é só meu ou é problema mesmo da AT?

Melhores cumprimentos e obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Antseq e bugFree, se bem me lembro, por ocasião da AT lançar novos certificados para testes, apareceram aqui no forum algumas mensagens de colegas que não conseguiam pedir o código em Ambiente de Testes, com esse novos certificados. Penso que a solução (pelo menos para alguns... eu incluído) foi instalar o certificado na consola do windows (duplo clique em cima do ficheiro). Já sei que deverão estar a carregar o ficheiro no vosso programa (como eu também faço)... mas, pelo menos para aquela situação em particular, o problema ficou resolvido. Atenção: este procedimento não tinha de se fazer para funcionar em produção (que nunca deixou de funcionar).

Enfim, provavelmente não tem nada que ver com o v/ problema... mas não fará mal em experimentar, digo eu.

Editado por chesser
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
2 horas atrás, rangiku disse:

Este erro é só meu ou é problema mesmo da AT?

Hoje ainda não tive clientes a reportar problemas.

1

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
3 horas atrás, chesser disse:

Hoje ainda não tive clientes a reportar problemas.

Eu tive vários clientes a reportar e questionei outros que me indicaram que estava tudo bem.

Devia ser problemas da própria AT, porque depois ficou tudo a funcionar.

Obrigado pela resposta chesser.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
4 horas atrás, chesser disse:

Antseq e bugFree, se bem me lembro, por ocasião da AT lançar novos certificados para testes, apareceram aqui no forum algumas mensagens de colegas que não conseguiam pedir o código em Ambiente de Testes, com esse novos certificados. Penso que a solução (pelo menos para alguns... eu incluído) foi instalar o certificado na consola do windows (duplo clique em cima do ficheiro). Já sei que deverão estar a carregar o ficheiro no vosso programa (como eu também faço)... mas, pelo menos para aquela situação em particular, o problema ficou resolvido. Atenção: este procedimento não tinha de se fazer para funcionar em produção (que nunca deixou de funcionar).

Enfim, provavelmente não tem nada que ver com o v/ problema... mas não fará mal em experimentar, digo eu.

 

Viva,

Obrigado pela sugestão, mas já experimentei (*) e em princípio (*) está a dar o mesmo erro.

(*) ao experimentar fiquei com algumas dúvidas:
- deixo ficar na mesma o "TesteWebServices.pfx" juntamente (na pasta) com a aplicação?
- será necessário alterar esta linha "cert.Import("TesteWebServices.pfx", "TESTEwebservice", X509KeyStorageFlags.DefaultKeySet);" ?

Cps,

AS

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
23 horas atrás, antseq disse:

Viva,

Obrigado pela sugestão, mas já experimentei (*) e em princípio (*) está a dar o mesmo erro.

(*) ao experimentar fiquei com algumas dúvidas:
- deixo ficar na mesma o "TesteWebServices.pfx" juntamente (na pasta) com a aplicação?
- será necessário alterar esta linha "cert.Import("TesteWebServices.pfx", "TESTEwebservice", X509KeyStorageFlags.DefaultKeySet);" ?

Cps,

AS

 

Da mesma forma que não funcionava :( sem qualquer explicação, HOJE passou a funcionar sem qualquer explicação :)

Do que fiz:
- ontem instalei o certificado "TesteWebServices.pfx" no Windows 10 com duplo-click, fiz diversas tentativas (SecurityProtocol) e sempre o mesmo erro.
- ontem como não resultou removi o certificado "TesteWebServices.pfx" do Windows 10 para voltar a situação inicial
- hoje estava em contacto com a AT a tentar descobrir pelo meu IP se chegava algo ao servidor deles e nada chegava.
- em simultâneo tentei fazer as alterações\combinações "ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls" que já tinha feito antes e passou a dar :)
- voltando a por "ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3" (que está a funcionar em "Produção" em diversos clientes), deixa de funcionar e nem chega a comunicar ao Servidor da AT (confirmado pelos mesmos).

Será que foi por adicionar e depois remover o certificado "TesteWebServices.pfx" e reiniciar o Windows 10 que desbloqueou a situação?
Ainda por explicar, porque em modo "ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3" não chega nada ao servidor da AT? quem bloqueia a comunicação?

* nunca pensei que um dia diria isto, mas da parte da AT foram mesmo rápidos a responder e a tentar encontrar onde estaria o problema.

Cps,

AS

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
23 horas atrás, antseq disse:

- deixo ficar na mesma o "TesteWebServices.pfx" juntamente (na pasta) com a aplicação?

- será necessário alterar esta linha "cert.Import("TesteWebServices.pfx", "TESTEwebservice", X509KeyStorageFlags.DefaultKeySet);" ?

Deixei ficar tudo exactamente como estava...

Seja como for, o actual certificado de testes expira no próximo Domingo, pelo que deverá estar para breve a nova versão (não deveria estar já disponível?)... poderá ser que com esse novo ficheiro o problema fique resolvido.

E já agora que se fala em expiração de certificados, convém não esquecer que a 18 de Novembro expira a chave pública... resta esperar que seja disponibilizada antes do dia 17 desse mês. :cheesygrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
31 minutos atrás, antseq disse:

Será que foi por adicionar e depois remover o certificado "TesteWebServices.pfx" e reiniciar o Windows 10 que desbloqueou a situação?

Se calhar foi mesmo de reiniciar o Windows. Eu não tenho a instrução ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls e funciona.

O que interessa é que está a funcionar. Mas Domingo voltas ao mesmo e depois com o novo certificado já podes tirar as dúvidas.

Editado por chesser
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
1 minute ago, chesser said:

Se calhar foi mesmo de reiniciar o Windows. O que interessa é que está a funcionar. Mas Domingo voltas ao mesmo e depois com o novo certificado já podes tirar as dúvidas.

Continuo a achar contraproducente (e má práctica) escrever código que depende da instalação de um ou mais certificados no SISTEMA operativo :\\\\

1

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Já existe alguma forma de obter código AT pelo webservice para os fornecedores ou continua só para clientes?

Obrigado a todos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Em 15/03/2017 às 17:05, antseq disse:

Da mesma forma que não funcionava :( sem qualquer explicação, HOJE passou a funcionar sem qualquer explicação :)

Do que fiz:
- ontem instalei o certificado "TesteWebServices.pfx" no Windows 10 com duplo-click, fiz diversas tentativas (SecurityProtocol) e sempre o mesmo erro.
- ontem como não resultou removi o certificado "TesteWebServices.pfx" do Windows 10 para voltar a situação inicial
- hoje estava em contacto com a AT a tentar descobrir pelo meu IP se chegava algo ao servidor deles e nada chegava.
- em simultâneo tentei fazer as alterações\combinações "ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls" que já tinha feito antes e passou a dar :)
- voltando a por "ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3" (que está a funcionar em "Produção" em diversos clientes), deixa de funcionar e nem chega a comunicar ao Servidor da AT (confirmado pelos mesmos).

Será que foi por adicionar e depois remover o certificado "TesteWebServices.pfx" e reiniciar o Windows 10 que desbloqueou a situação?
Ainda por explicar, porque em modo "ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3" não chega nada ao servidor da AT? quem bloqueia a comunicação?

* nunca pensei que um dia diria isto, mas da parte da AT foram mesmo rápidos a responder e a tentar encontrar onde estaria o problema.

Cps,

AS

Boa tarde,

Hoje voltou a acontecer uma situação semelhante e numa versão com "ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls".

A única coisa que fiz foi instalar o certificado, instalei na pasta "Pessoal" e "Autoridades fidedignas", 1ª e 2ª opção. (também já tinha feito isto no 1º caso, mas pensei que não fosse necessário)

Não precisei de reiniciar, começou logo a funcionar.

Cumps.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa tarde, 

Estou a implementar um software de faturação interno, e queria adicionar a funcionalidade de comunicação das Guias de transporte por webservice, contudo estou a ter algumas dúvidas e não encontro documentação em lado algum sobre este assunto. 

Caso me consigam ajudar agradecia :)

1. As guias que comunicam através do webservice, e que recebem o ATcodeID, não as extraem no ficheiro saf-t geral mensal, ou extraem na mesma ?

2. Como procedem para os casos em que existe informação internacional (moradas, NIFs..), uma vez que a comunicação via webservice dá erro ... 

3. As guias podem ser não valorizadas em situações? Sempre? Ou existem situações em que têm efectivamente de serem valorizadas ou não valorizadas? 

Agradeço desde já por toda a informação que têm no forum, deu bastante jeito =) 

 

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
1 hora atrás, adamas disse:

1. As guias que comunicam através do webservice, e que recebem o ATcodeID, não as extraem no ficheiro saf-t geral mensal, ou extraem na mesma ?

As guias não têm de ser exportadas no SAF-T mensal, apenas no SAF-T de auditoria (completo) .

1 hora atrás, adamas disse:

2. Como procedem para os casos em que existe informação internacional (moradas, NIFs..), uma vez que a comunicação via webservice dá erro ... 

O ATcodeID apenas é necessário quando o destinatário tem morada de entrega nacional. Para exportação para outros países, as guias não têm código.

1 hora atrás, adamas disse:

3. As guias podem ser não valorizadas em situações? Sempre? Ou existem situações em que têm efectivamente de serem valorizadas ou não valorizadas?

As situações em que as guias são ou não valorizadas dependem da necessidade do negócio ou dos clientes que utilizam o software. A legislação não obriga a que os artigos sejam valorizados nas guias.

1

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Em 02/02/2017 às 17:11, nunopicado disse:

Na especificação do webservice de transporte, a data/hora têm de ser convertidas para UTC.

Possivelmente isso resolve a situação, pois mete todos em pé de igualdade, mas não deves estar a fazer.
Confere isso. ;)

Agora com a mudança da Hora voltou a dar raia no Açores.

 

estava a fazer data.ToUniversalTime()isso para a hora de agora(17:29) devolve (16:29). Alguém temo mesmo problema como resolveu obg?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá !

Estamos recebendo o erro "Unkown SSL protocol error in connection to servicos.portaldasfinancas.gov.pt/701"

Estava funcionando corretamente e parou de funcionar. A última autorização foi em 17 de março.

Li comentários que o certificado de teste iria expirar , alguém teria um novo certificado.

Obrigada!

Adriana

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Alguém entendido em Ruby on Rails que me possa ajudar com a implementação das Guias de Transporte?

Eu posso pagar, sem problemas.

 

Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora