Jump to content
cjulio

Utilizar Webservices da AT

Recommended Posts

Jennifer

Olá

Ainda existem problemas de conexão com o ambiente de produção para os guias de remessa?

Obrigada

Share this post


Link to post
Share on other sites
Jennifer
44 minutos atrás, JCSilva disse:

Não são guias de remessa, são e-DAAs

sim, desculpe, eu quis dizer guias de transporte.

¿você tem problemas de conexão?

Share this post


Link to post
Share on other sites
brsqueiros
Em 08/05/2020 às 00:35, JCSilva disse:

Boas,

Alguém tem SAP a funcionar com a AT para registo de e-DAAs ? Estou com problemas de autenticação .

Bom dia,

Como estás a comunicar com o portal da AT via SAP? Parece-me ser um problema relacionado com os certificados, como estas a  importar?

Share this post


Link to post
Share on other sites
JCSilva
22 horas atrás, Jennifer disse:

sim, desculpe, eu quis dizer guias de transporte.

¿você tem problemas de conexão?

Não tenho problemas de conexão, tenho problemas de autenticação ao sistema SIC-EU. O Soamanager não disponibiliza os parametros necessários para efetuar o tipo de autenticação solicitado pela AT.


JS

Share this post


Link to post
Share on other sites
JCSilva
4 horas atrás, brsqueiros disse:

Bom dia,

Como estás a comunicar com o portal da AT via SAP? Parece-me ser um problema relacionado com os certificados, como estas a  importar?

Os certificados estão ok, conseguimos fazer o handshake 


JS

Share this post


Link to post
Share on other sites
daviddespo
Spoiler

 

Hi,

is anyone having problems with https://servicos.portaldasfinancas.gov.pt:401/sgdtws/documentosTransporte  web service?

Froma a moment to other I started receiving om.sun.xml.ws.streaming.XMLStreamReaderException: XML reader error: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog on my program when I try to consume the web service.

is not related to my certificates, they are not expired.

Best Regards.

Share this post


Link to post
Share on other sites
jmta_92

Boa tarde , Eu estou com um problema na comunicação de documentos de transporte. Retorna o erro

Could not connect to host

Eu não alterei nada, e os clientes começaram a reclamar que não funcionava. Alguém tem este problema?

 

Tenho também outra dúvida:

No certificado de chava publica da AT é valido até 2020, certo? ChaveCifraPublicaAT2020.cer

Sendo assim, em que mês temos de trocar, e quais os procedimentos para o fazer?

Share this post


Link to post
Share on other sites
Vitor Pereira
19 minutos atrás, jmta_92 disse:

Boa tarde , Eu estou com um problema na comunicação de documentos de transporte. Retorna o erro


Could not connect to host

Eu não alterei nada, e os clientes começaram a reclamar que não funcionava. Alguém tem este problema?

 

Tenho também outra dúvida:

No certificado de chava publica da AT é valido até 2020, certo? ChaveCifraPublicaAT2020.cer

Sendo assim, em que mês temos de trocar, e quais os procedimentos para o fazer?

 

Webservice em produção de Doc. de Transporte a funcionar a 100%

O Certificado termina em Julho deste ano, mas a AT envia um novo para o Mail que ficou registado na Certificação do Software

 

Share this post


Link to post
Share on other sites
jmta_92
7 minutos atrás, Vitor Pereira disse:

 

Webservice em produção de Doc. de Transporte a funcionar a 100%

O Certificado termina em Julho deste ano, mas a AT envia um novo para o Mail que ficou registado na Certificação do Software

 

Obrigado, deve ser o meu certificado que esteja a retornar esse problema porque acho que expirou. Só encontro essa razão

 

Share this post


Link to post
Share on other sites
Frederico Almeida

Boa tarde,

Já alguém obteve problemas com o Webservice, resultando no erro "2 counts of InaccessibleWSDLException."   

Podera ser algo relacionado com os certificados ? 

Obrigado pela ajuda. Frederico

Share this post


Link to post
Share on other sites
Fred Serzedello

Boa tarde,

Estou a fazer a comunicação das Guias de transporte em Laravel como base no código do ExpStada,

em ambiente localhost funciona tudo seja com a comunicação de testes ou com a de produção, 

mas no servidor da me sempre Could Not Connect to host, já ando a bater com a cabeça à uns dias com isto.

Alguém já teve algum problema semelhante ??

Nos logs do servidor apenas dá erro 500 Apache ssl/tls

Share this post


Link to post
Share on other sites
RicPe

Boa tarde,

Alguém está a ter problemas de ligação aos webservices da AT?

erro de Validade de credencial expirada.

Já verifiquei todas as datas de validade do certificado e encontram-se válidas bem como a hora encontra-se sincronizada correctamente.

Queria saber se alguem tem este erro actualmente

Share this post


Link to post
Share on other sites
americob
20 horas atrás, RicPe disse:

Boa tarde,

Alguém está a ter problemas de ligação aos webservices da AT?

erro de Validade de credencial expirada.

Já verifiquei todas as datas de validade do certificado e encontram-se válidas bem como a hora encontra-se sincronizada correctamente.

Queria saber se alguem tem este erro actualmente

Normalmente o problema está no relógio do PC com + 60 segundos diferença em relação ao oal.ul.pt

 

  • Vote 1

Share this post


Link to post
Share on other sites
pedrokins

Bom dia a todos, ultimamente temos recebido vários pedidos dos clientes sobre a faturação electronica, pois tem saido várias noticias sobre os mesmos serem obrigatorios a partir de 2021. O Decreto-lei sei que já saiu, mas alguém sabe dizer se já saiu alguma portaria referente às especificações tecnicas de por exemplo como implementar o QR Code ou o ATCode, ou mesmo especificações tecnicas sobre as assinaturas digitais a ter que usar por este mecanismo?

Obrigado a todos

Share this post


Link to post
Share on other sites
americob
2 horas atrás, pedrokins disse:

Bom dia a todos, ultimamente temos recebido vários pedidos dos clientes sobre a faturação electronica, pois tem saido várias noticias sobre os mesmos serem obrigatorios a partir de 2021. O Decreto-lei sei que já saiu, mas alguém sabe dizer se já saiu alguma portaria referente às especificações tecnicas de por exemplo como implementar o QR Code ou o ATCode, ou mesmo especificações tecnicas sobre as assinaturas digitais a ter que usar por este mecanismo?

Obrigado a todos

As últimas informações que havia, antes desta pandemia, era que os estabelecimentos/equipamentos seriam para declarar até Junho e que o restante entraria em 1 de Janeiro de 2021.

Agora, o Portal das finanças ainda não está preparado para receber as referidas declarações e já estamos no fim de Maio. Provavelmente, será tudo adiado por mais um ano.

Share this post


Link to post
Share on other sites
albertosilva

Caros colegas,

Desde ontem que os nossos clientes estão a obter o erro 100353 (Connection lost) na comunicação de documentos de transporte à AT. A comunicação é feita a partir de equipamentos Windows Mobile com .NET Compact Framework, usando a libraria SecureBlackBox e o código que na altura partilhei.

A minha questão é, estão a par de alguma alteração recente que possa provocar esta questão, como  AT apassar a exigir uma verão específica de TLS? Já coloquei também a questão à AT, mas não sei quanto tempo demorarão a responder.

Os nossos testes em Windows completo e Android, recorrendo a outras librarias, funcionam sem esse erro, com os mesmos certificados.

Share this post


Link to post
Share on other sites
General

Boa tarde não estou a conseguir comunicar com webservice GuiasTransporte alguém pode ajudar por favor?

Estou a utilizar o seguinte código, parte verificado nas 427 páginas deste tópic mas ainda nao consegui ultrapassar. Estou a utilizar framework 4.5. A maior parte dos posts externos a este forum referem-se para utilizar SecurityProtocolType.Tls12 mas continua a não dar.

  this.SenhaPF = "testes1234";

            buildCredentials();
            try
            {
                Uri EnderecoWebService = new Uri("https://servicos.portaldasfinancas.gov.pt:701/sgdtws/documentosTransporte/");
                ServicePointManager.SecurityProtocol = ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
                
                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(EnderecoWebService);
                request.Headers.Add("SOAPAction", "https://servicos.portaldasfinancas.gov.pt:701/sgdtws/documentosTransporte/");
                            
               
                X509Certificate2 cert = new X509Certificate2();
               
                cert.Import(CaminhoCertificado, SenhaCertificado, X509KeyStorageFlags.DefaultKeySet);

                request.ClientCertificates.Add(cert);

                request.Method = "POST";
                request.ContentType = "text/xml; charset=utf-8";
                request.Accept = "text/xml";
          
                string oRequest = GenerateXmlString_GUIATRANSP("599999993/0037"); 

                TB_SentXML.Text = System.Xml.Linq.XDocument.Parse(oRequest).ToString();

                string postData = oRequest;
                byte[] byteArray = Encoding.UTF8.GetBytes(postData);
                request.ContentLength = byteArray.Length;

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

                HttpWebResponse response = (HttpWebResponse)request.GetResponse();

                dataStream = response.GetResponseStream();
                StreamReader reader = new StreamReader(dataStream);
                string responseFromServer = reader.ReadToEnd();

                TB_ReceivedXML.Text = System.Xml.Linq.XDocument.Parse(responseFromServer).ToString();

                reader.Close();
                dataStream.Close();
                response.Close();

                //return responseFromServer;
            }
            catch (WebException ex)
            {
                if (ex.Status == WebExceptionStatus.ProtocolError)
                {
                    WebResponse resp = ex.Response;
                    StreamReader sr = new StreamReader(resp.GetResponseStream());
                    // return sr.ReadToEnd();
                    TB_ReceivedXML.Text = "::::ERROR::::\n" + System.Xml.Linq.XDocument.Parse(sr.ReadToEnd()).ToString(); ;
                }
                else
                {
                    //  return ex.Message;
                    TB_ReceivedXML.Text = "::::ERROR::::\n" + ex.Message;
                }
            }

O Resulta do pedido é:

 

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Header>
    <wss:Security xmlns:wss="http://schemas.xmlsoap.org/ws/2002/12/secext/">
      <wss:UsernameToken>
        <wss:Username>599999993/0037</wss:Username>
        <wss:Password>g3dPTOsGIWab6IHNW8Tn+g==</wss:Password>
        <wss:Nonce>EqrH+L+7G/q/JkJCafZzwum8DqDTAa+tsKD9ufSuhNrfQdXzg4B8guw96R0YwYIsen+cIBBHqvZEPnFCoj+k2t2qqwErvN3NMp5T11o5Dc4UWXVuG8ntxBf0Gpc7t7b/pTAHPvT/VzEqOnTpQAvO4EIA0BCFvpLf8by9i4+F8VrudbDD5uQ0iqe698QLHheSav5MXPngC3EXJMvdc0jWzaOeskxAgxY/UxJZ1eo3Y5A7AQz446RpPS6zeZLzf9dl6HGPT+vfLsBvYlWDdg0zFQMaq/j7IDRY2/gCeErdq77mTjpt6itl9y9UqRHFSD9pbNEWlGNzAXjXuqP2veQ9vg==</wss:Nonce>
        <wss:Created>b8VK3rrFsomycxi7Mit//ZXS3v4NVwbH5pMLSb8EsKk=</wss:Created>
      </wss:UsernameToken>
    </wss:Security>
  </S:Header>
  <S:Body>
    <ns2:envioDocumentoTransporteRequestElem xmlns:ns2="https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/">
      <TaxRegistrationNumber>599999993</TaxRegistrationNumber>
      <CompanyName>Bla</CompanyName>
      <CompanyAddress>
        <Addressdetail>Morada Empresa</Addressdetail>
        <City>Cidade Empresa</City>
        <PostalCode>1000-100</PostalCode>
        <Country>PT</Country>
      </CompanyAddress>
      <DocumentNumber>999</DocumentNumber>
      <MovementStatus>N</MovementStatus>
      <MovementDate>2015-04-08Z</MovementDate>
      <MovementType>GR</MovementType>
      <CustomerTaxID>999999990</CustomerTaxID>
      <CustomerAddress>
        <Addressdetail>Morada Cliente</Addressdetail>
        <City>Cidade Cliente</City>
        <PostalCode>1000-100</PostalCode>
        <Country>PT</Country>
      </CustomerAddress>
      <AddressTo>
        <Addressdetail>Morada Descarga</Addressdetail>
        <City>Cidade Descarga</City>
        <PostalCode>1000-100</PostalCode>
        <Country>PT</Country>
      </AddressTo>
      <AddressFrom>
        <Addressdetail>Morada Carga</Addressdetail>
        <City>Cidade Carga</City>
        <PostalCode>1000-100</PostalCode>
        <Country>PT</Country>
      </AddressFrom>
      <MovementEndTime>2015-05-08T12:10:26.719+01:00</MovementEndTime>
      <MovementStartTime>2015-05-08T11:10:26.719+01:00</MovementStartTime>
      <VehicleID>10-10-AA</VehicleID>
      <Line>
        <ProductDescription>Produto1</ProductDescription>
        <Quantity>1</Quantity>
        <UnitOfMeasure>KG</UnitOfMeasure>
        <UnitPrice>1.1</UnitPrice>
      </Line>
    </ns2:envioDocumentoTransporteRequestElem>
  </S:Body>
</S:Envelope>

O erro que dá é:

"Unable to read data from the transport connection : An existing connection was forcibly closed by the remote host"
A ligação subjacente foi fechada: Erro inesperado ao enviar.

 

Agradeço desde já a vossa ajuda.

Edited by General

Share this post


Link to post
Share on other sites
Vitor Pereira
5 horas atrás, General disse:

Boa tarde não estou a conseguir comunicar com webservice GuiasTransporte alguém pode ajudar por favor?

Estou a utilizar o seguinte código, parte verificado nas 427 páginas deste tópic mas ainda nao consegui ultrapassar. Estou a utilizar framework 4.5. A maior parte dos posts externos a este forum referem-se para utilizar SecurityProtocolType.Tls12 mas continua a não dar.


  this.SenhaPF = "testes1234";

            buildCredentials();
            try
            {
                Uri EnderecoWebService = new Uri("https://servicos.portaldasfinancas.gov.pt:701/sgdtws/documentosTransporte/");
                ServicePointManager.SecurityProtocol = ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
                
                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(EnderecoWebService);
                request.Headers.Add("SOAPAction", "https://servicos.portaldasfinancas.gov.pt:701/sgdtws/documentosTransporte/");
                            
               
                X509Certificate2 cert = new X509Certificate2();
               
                cert.Import(CaminhoCertificado, SenhaCertificado, X509KeyStorageFlags.DefaultKeySet);

                request.ClientCertificates.Add(cert);

                request.Method = "POST";
                request.ContentType = "text/xml; charset=utf-8";
                request.Accept = "text/xml";
          
                string oRequest = GenerateXmlString_GUIATRANSP("599999993/0037"); 

                TB_SentXML.Text = System.Xml.Linq.XDocument.Parse(oRequest).ToString();

                string postData = oRequest;
                byte[] byteArray = Encoding.UTF8.GetBytes(postData);
                request.ContentLength = byteArray.Length;

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

                HttpWebResponse response = (HttpWebResponse)request.GetResponse();

                dataStream = response.GetResponseStream();
                StreamReader reader = new StreamReader(dataStream);
                string responseFromServer = reader.ReadToEnd();

                TB_ReceivedXML.Text = System.Xml.Linq.XDocument.Parse(responseFromServer).ToString();

                reader.Close();
                dataStream.Close();
                response.Close();

                //return responseFromServer;
            }
            catch (WebException ex)
            {
                if (ex.Status == WebExceptionStatus.ProtocolError)
                {
                    WebResponse resp = ex.Response;
                    StreamReader sr = new StreamReader(resp.GetResponseStream());
                    // return sr.ReadToEnd();
                    TB_ReceivedXML.Text = "::::ERROR::::\n" + System.Xml.Linq.XDocument.Parse(sr.ReadToEnd()).ToString(); ;
                }
                else
                {
                    //  return ex.Message;
                    TB_ReceivedXML.Text = "::::ERROR::::\n" + ex.Message;
                }
            }

O Resulta do pedido é:

 


<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Header>
    <wss:Security xmlns:wss="http://schemas.xmlsoap.org/ws/2002/12/secext/">
      <wss:UsernameToken>
        <wss:Username>599999993/0037</wss:Username>
        <wss:Password>g3dPTOsGIWab6IHNW8Tn+g==</wss:Password>
        <wss:Nonce>EqrH+L+7G/q/JkJCafZzwum8DqDTAa+tsKD9ufSuhNrfQdXzg4B8guw96R0YwYIsen+cIBBHqvZEPnFCoj+k2t2qqwErvN3NMp5T11o5Dc4UWXVuG8ntxBf0Gpc7t7b/pTAHPvT/VzEqOnTpQAvO4EIA0BCFvpLf8by9i4+F8VrudbDD5uQ0iqe698QLHheSav5MXPngC3EXJMvdc0jWzaOeskxAgxY/UxJZ1eo3Y5A7AQz446RpPS6zeZLzf9dl6HGPT+vfLsBvYlWDdg0zFQMaq/j7IDRY2/gCeErdq77mTjpt6itl9y9UqRHFSD9pbNEWlGNzAXjXuqP2veQ9vg==</wss:Nonce>
        <wss:Created>b8VK3rrFsomycxi7Mit//ZXS3v4NVwbH5pMLSb8EsKk=</wss:Created>
      </wss:UsernameToken>
    </wss:Security>
  </S:Header>
  <S:Body>
    <ns2:envioDocumentoTransporteRequestElem xmlns:ns2="https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/">
      <TaxRegistrationNumber>599999993</TaxRegistrationNumber>
      <CompanyName>Bla</CompanyName>
      <CompanyAddress>
        <Addressdetail>Morada Empresa</Addressdetail>
        <City>Cidade Empresa</City>
        <PostalCode>1000-100</PostalCode>
        <Country>PT</Country>
      </CompanyAddress>
      <DocumentNumber>999</DocumentNumber>
      <MovementStatus>N</MovementStatus>
      <MovementDate>2015-04-08Z</MovementDate>
      <MovementType>GR</MovementType>
      <CustomerTaxID>999999990</CustomerTaxID>
      <CustomerAddress>
        <Addressdetail>Morada Cliente</Addressdetail>
        <City>Cidade Cliente</City>
        <PostalCode>1000-100</PostalCode>
        <Country>PT</Country>
      </CustomerAddress>
      <AddressTo>
        <Addressdetail>Morada Descarga</Addressdetail>
        <City>Cidade Descarga</City>
        <PostalCode>1000-100</PostalCode>
        <Country>PT</Country>
      </AddressTo>
      <AddressFrom>
        <Addressdetail>Morada Carga</Addressdetail>
        <City>Cidade Carga</City>
        <PostalCode>1000-100</PostalCode>
        <Country>PT</Country>
      </AddressFrom>
      <MovementEndTime>2015-05-08T12:10:26.719+01:00</MovementEndTime>
      <MovementStartTime>2015-05-08T11:10:26.719+01:00</MovementStartTime>
      <VehicleID>10-10-AA</VehicleID>
      <Line>
        <ProductDescription>Produto1</ProductDescription>
        <Quantity>1</Quantity>
        <UnitOfMeasure>KG</UnitOfMeasure>
        <UnitPrice>1.1</UnitPrice>
      </Line>
    </ns2:envioDocumentoTransporteRequestElem>
  </S:Body>
</S:Envelope>

O erro que dá é:

"Unable to read data from the transport connection : An existing connection was forcibly closed by the remote host"
A ligação subjacente foi fechada: Erro inesperado ao enviar.

 

Agradeço desde já a vossa ajuda.

 

Boas 

O LINK    "http://schemas.xmlsoap.org/ws/2002/12/secext/"   está errado, pois no final não pode acabar com  /

O Correto será:

"http://schemas.xmlsoap.org/ws/2002/12/secext"

 

 

 

 

Share this post


Link to post
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.