Jump to content
cjulio

Utilizar Webservices da AT

Recommended Posts

karlynhuz

Eu também uso Chilkat e estou com problemas desde segunda-feira a comunicar. Às vezes dá outras não. Neste momento está a dar. 

Share this post


Link to post
Share on other sites
George De Luca
22 minutos atrás, Gonçalo Silva disse:

PHC usa Chilkat

Caramba!

Nunca poderia imaginar que usariam o Chilkat!  IoI

Obrigado pela informação! :)


Grato pela atenção,

George De Luca

www.deluca.eti.br

Share this post


Link to post
Share on other sites
americob

Eu também uso Chilkat e não estou com problemas, nem, que eu tenha conhecimento, nenhum cliente meu.

Em tempos tive problemas quando mudei para uma versão mais recente.

Na altura, a Chilkat tinha um fórum onde coloquei a questão e, como ninguém respondeu, ao fim de quase 2 anos cheguei á solução e coloquei-a lá. Tinha a ver com o parâmetro "LittleEndian". Podem ver aqui: http://www.chilkatforum.com/questions/9446/http-synchronousrequest-95039-vs-95054

 

Share this post


Link to post
Share on other sites
George De Luca

Bom dia a Todos!
Aparentemente está tudo a funcionar hoje perfeitamente.

Como informação, o meu sistema utiliza o Chilkat, não é a versão mais recente, não alterei absolutamente nada e está tudo a funcionar.

Obrigado a todos pelas informações e ajuda.

  • Vote 1

Grato pela atenção,

George De Luca

www.deluca.eti.br

Share this post


Link to post
Share on other sites
John Doe

Alguém me pode ajudar a determinar o "Endpoint" das Guias de Transporte? Não encontro o link com o XML correspondente à resposta do pedido que é feito. 

exec spHTTPRequest
@endereco, --https://servicos.portaldasfinancas.gov.pt:701/sgdtws/documentosTransporte/ é este o endereço?
'POST', 
@xml,
'envioDocumentoTransporte',
@UserName
,@Password
,@stamp
,@xmlOut out

Cumps

Share this post


Link to post
Share on other sites
John Doe

Alguém me consegue dizer o que tenho de fazer aqui? 
Acedi ao mmc para colocar o certificado mas não sei qual é o URI...

Introduza o URI do servidor de políticas de inscrição

Especifica o URI do Serviço Web de Política de Inscrição de Certificados. O URI tem de utilizar HTTPS.

Share this post


Link to post
Share on other sites
Vitor Pereira
6 horas atrás, John Doe disse:

Alguém me consegue dizer o que tenho de fazer aqui? 
Acedi ao mmc para colocar o certificado mas não sei qual é o URI...

Introduza o URI do servidor de políticas de inscrição

Especifica o URI do Serviço Web de Política de Inscrição de Certificados. O URI tem de utilizar HTTPS.

https://servicos.portaldasfinancas.gov.pt:401/sgdtws/documentosTransporte

https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/

Share this post


Link to post
Share on other sites
John Doe

Bom dia, alguém me sabe dizer qual é o endpoint dos documentos de transporte por favor?

Cumps.

Share this post


Link to post
Share on other sites
Gonçalo Silva

O endpoint dos documentos de transporte é o que o Vitor Pereira disse.

 

loReq is object Automation dynamic
loReq=new object Automation "Chilkat_9_5_0.HttpRequest"
loReq>>httpverb="POST"
loReq>>path="/sgdtws/documentosTransporte"
loReq>>addheader("SOAPAction","envioDocumentoTransporte")

lcDomain is string="servicos.portaldasfinancas.gov.pt"
lnSsl is int=1
lnPort is int=401

loHttp is object Automation dynamic
loHttp=new object Automation "Chilkat_9_5_0.Http"

XDIRT is string
XDIRT=CompleteDir(fExeDir())+"123456789.PFX"

lnSuccess=loHttp>>setsslclientcertpfx(XDIRT,"PASSWORD")
IF lnSuccess<>1 THEN
	Info(loHttp>>LastErrorText)
	RESULT False
END

loReq>>loadbodyfromstring(loXml>>GetXml(),"utf-8")

loResp is object Automation dynamic
loResp=loHttp>>synchronousrequest(lcDomain, lnPort, lnSsl, loReq)

Código que funciona

Share this post


Link to post
Share on other sites
John Doe
59 minutos atrás, Gonçalo Silva disse:

O endpoint dos documentos de transporte é o que o Vitor Pereira disse.

 


loReq is object Automation dynamic
loReq=new object Automation "Chilkat_9_5_0.HttpRequest"
loReq>>httpverb="POST"
loReq>>path="/sgdtws/documentosTransporte"
loReq>>addheader("SOAPAction","envioDocumentoTransporte")

lcDomain is string="servicos.portaldasfinancas.gov.pt"
lnSsl is int=1
lnPort is int=401

loHttp is object Automation dynamic
loHttp=new object Automation "Chilkat_9_5_0.Http"

XDIRT is string
XDIRT=CompleteDir(fExeDir())+"123456789.PFX"

lnSuccess=loHttp>>setsslclientcertpfx(XDIRT,"PASSWORD")
IF lnSuccess<>1 THEN
	Info(loHttp>>LastErrorText)
	RESULT False
END

loReq>>loadbodyfromstring(loXml>>GetXml(),"utf-8")

loResp is object Automation dynamic
loResp=loHttp>>synchronousrequest(lcDomain, lnPort, lnSsl, loReq)

Código que funciona

Muito obrigado Gonçalo e Vítor. Vou voltar a colocar esse endpoint e fazer diversos testes no SOAPUI para ver se ele dá uma resposta de jeito.
Estou completamente perdido neste Webservice, os erros talvez sejam por usar ou importar mal os certificados... mas não faço ideia. Tentei pedir ajuda na AT mas a resposta foi tudo menos técnica.

Cumps

Share this post


Link to post
Share on other sites
Bodak

Bom dia,

Desde esta madrugada que estamos com o serviço de comunicação à AT a falhar os envios. Basicamente desde as 5 da manhã. Mais alguém com o mesmo problema?

Só para completar a resposta, o erro que dá é o seginte:

Citação

An error occurred while making the HTTP request to https://servicos.portaldasfinancas.gov.pt:401/sgdtws/documentosTransporte. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the security binding between the client and the server.

Que é o mesmo de sempre que está em baixo. O nosso certificado não mudou, e tem validade até 07/2020.

Edited by Bodak

Share this post


Link to post
Share on other sites
americob
58 minutos atrás, Bodak disse:

Bom dia,

Desde esta madrugada que estamos com o serviço de comunicação à AT a falhar os envios. Basicamente desde as 5 da manhã. Mais alguém com o mesmo problema?

Só para completar a resposta, o erro que dá é o seginte:

Que é o mesmo de sempre que está em baixo. O nosso certificado não mudou, e tem validade até 07/2020.

Acabei de testar e está a funcionar bem a comunicação de DT's, quer em TESTES, quer em PRODUÇÃO.

Edited by americob
erro escrita, completar

Share this post


Link to post
Share on other sites
Castanha

Bom dia,

alguém com problemas na comunicação de documentos de transporte para a AT ?

Obrigado

Share this post


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

Bom dia,

alguém com problemas na comunicação de documentos de transporte para a AT ?

Obrigado

Acho que ninguém está preocupado com o webservice, nem a própria AT ....

Share this post


Link to post
Share on other sites
Sergio.
2 horas atrás, Vitor Pereira disse:

Acho que ninguém está preocupado com o webservice, nem a própria AT ....

Boas,

Acho que todos andam ocupados com a questão da actualidade.

No entanto, falando pela minha experiência, nossos clientes não tem problemas com as comunicações e tenho clientes a emitir guias 24h/7 dias.

O problema não deve ser da AT, deve ser algum factor externo, comunicações, latência, hora legal, protocolos de comunicação, actualizações do Sistema Operativo....enfim tanta coisa é possível (partindo do principio que não mexeste na tua aplicação).

Espero que consigas encontrar o problema.

 

Sérgio

Share this post


Link to post
Share on other sites
John Doe

Boa tarde a todos.

Alguém me sabe explicar como resolvo esta situação:
'O nome de utilizador não foi fornecido. Especifique o nome de utilizador em ClientCredentials.'

Cumps

Share this post


Link to post
Share on other sites
MrFroggy

Boa noite a todos,

Estou a implementar em C# o envio das guias de remessas via webservices à AT e estou a receber o famoso erro "Internal Error" quando tento enviar uma guia de remessa para o servidor de testes.

<?xml version='1.0' ?>
<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
  <env:Body>
    <env:Fault>
      <faultcode>env:Client</faultcode>
      <faultstring>Internal Error</faultstring>
    </env:Fault>
  </env:Body>
</env:Envelope>

Já verifiquei:

Este é o XML que estou a enviar:

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<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/37</wss:Username>
                <wss:Password>pmSewcxIz7OWUv/U1esafg==</wss:Password>
                <wss:Nonce>VTxLG6lkgfrG1Btb283dVYzagJCFwID7oofb5VLf6/oOfJNtxkF0GtqLwsvrKvDSrlds1sQ7qpyj3E1FyFgq9gUvg2wlUsuPyWW487rhytFhIJdcTvzl0HyROhCXn9r1TKWGXVNCxXP0Mg6dWcsfgjpPrDyjYv8N5GjzWkHQvFVb+wHvyc2wTBgxjTYHoYMcLCkFECkbkfRazascmvKpD3mAXomRiZurmiqmRte6eU9emHn02225CTwIIrCml0twYEwYIu4DNsC1umXx5qrK1O5qDdfDAl0uJLKshNsCqoJ3xj5MdNTofz4QEjVwfNuCD2lgA42y9GQk9Gl6gGTzOA==</wss:Nonce>
                <wss:Created>uU5ix2MCHTb0nieyS8niW/LQefKKceJrpL7qir4nA9w=</wss:Created>
            </wss:UsernameToken>
        </wss:Security>
    </S:Header>
    <S:Body>
        <ns2:envioDocumentoTransporteRequestElem xmlns:ns2="https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/">
            <TaxRegistrationNumber>504106686</TaxRegistrationNumber>
            <CompanyName>Teste</CompanyName>
            <CompanyAddress>
                <Addressdetail>Teste, n 1</Addressdetail>
                <City>Lisboa</City>
                <PostalCode>1600-513</PostalCode>
                <Country>PT</Country>
            </CompanyAddress>
            <DocumentNumber>LF 01/0006000005</DocumentNumber>
            <MovementStatus>N</MovementStatus>
            <MovementDate>2020-01-14</MovementDate>
            <MovementType>GR</MovementType>
            <CustomerTaxID>999999990</CustomerTaxID>
            <CustomerAddress>
                <Addressdetail>Av. Infante D. Henrique, 26</Addressdetail>
                <City>Lisboa</City>
                <PostalCode>1149-096</PostalCode>
                <Country>PT</Country>
            </CustomerAddress>
            <CustomerName>Teste</CustomerName>
            <AddressTo>
                <Addressdetail>Av. Infante D. Henrique, 26</Addressdetail>
                <City>Lisboa</City>
                <PostalCode>1149-096</PostalCode>
                <Country>PT</Country>
            </AddressTo>
            <AddressFrom>
                <Addressdetail>omisso</Addressdetail>
                <City>omisso</City>
                <PostalCode>0000-000</PostalCode>
                <Country>PT</Country>
            </AddressFrom>
            <MovementEndTime>2020-01-13T23:00:00.000+00:00</MovementEndTime>
            <MovementStartTime>2020-01-13T23:00:00.000+00:00</MovementStartTime>
            <Line>
                <ProductDescription>Material stockavel teste</ProductDescription>
                <Quantity>1.00</Quantity>
                <UnitOfMeasure>EA</UnitOfMeasure>
                <UnitPrice>1.00</UnitPrice>
            </Line>
        </ns2:envioDocumentoTransporteRequestElem>
    </S:Body>
</S:Envelope>

Sinceramente, já não sei o que mais pode estar errado... HELP!!


Cumprimentos,

MrFroggy

Share this post


Link to post
Share on other sites
MrFroggy
6 horas atrás, John Doe disse:

Boa tarde a todos.

Alguém me sabe explicar como resolvo esta situação:
'O nome de utilizador não foi fornecido. Especifique o nome de utilizador em ClientCredentials.'

Cumps

Qual Webservice que está a tentar utilizar?

Os da fatura e guia não precisa de autenticação na chamada do webservice...


Cumprimentos,

MrFroggy

Share this post


Link to post
Share on other sites
MrFroggy
Em 17/03/2020 às 11:43, Castanha disse:

Bom dia,

alguém com problemas na comunicação de documentos de transporte para a AT ?

Obrigado

Pois, pelos vistos não sou o único com problemas na comunicação com a AT...

Eu sei que normalmente o servidor de testes da AT costuma estar offline ou com erros. Mas o site de testes retorna um resultado de sucesso. Por isso o problema deve estar do nosso lado e não da AT.


Cumprimentos,

MrFroggy

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.