Jump to content

Utilizar Webservices da AT


cjulio
Go to solution Solved by thoga31,

Recommended Posts

Em 28/11/2022 às 12:39, furiousangelpt disse:

WebService-Series 

Obrigado pela ajuda, dado anterior, Já fiz as alterações e continua o mesmo resultado, 😞  Tanto em testes como em produção. O XML esta bem, ou pelo menos acho que esta. Em relação a comunicação, consigo fazer a ligação com o certificado e consigo enviar os dados, mas quando recebe a resposta recebo o erro 500, em ambos os serviços com a conta de teste como com os dados de um cliente. Utilizo o mesmo método de comunicação que utilizo para comunicar Guias. Pedir ajuda ao e-balcão.... é tipo esperar ganhar o 1o premio da lotaria, não sei mais o que fazer.

Novamente coloco o meu XML Registo:


<? xml version='1.0' encoding='utf-8'?>
<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
<env:Header>
	<wss:Security xmlns:wss='http://schemas.xmlsoap.org/ws/2002/12/secext'>
		<wss:UsernameToken>
			<wss:Username>59999993/0037</wss:Username>
			<wss:Password>dGVzdGVzMTIzNA==</wss:Password>
			<wss:Nonce>e80AJtSUfWEpwhUuYroegy..tirado..a57O8WBPsv4Q2kmUUkRy11g==</wss:Nonce>
			<wss:Created>MjAyMi0xMS0yOFQxMjoxNjowOC43MFo=</wss:Created>
		</wss:UsernameToken>
	</wss:Security>
</env:Header>
<env:Body>
	<ns0:registarSerie xmlns:ns0='http://at.gov.pt/'>
		<serie>SS230</serie>
		<tipoSerie>N</tipoSerie>
		<classeDoc>SI</classeDoc>
		<tipoDoc>FT</tipoDoc>
		<numInicialSeq>100000</numInicialSeq>
		<dataInicioPrevUtiliz>2022-12-01</dataInicioPrevUtiliz>
		<numCertSWFatur>0</numCertSWFatur>
		<meioProcessamento>PI</meioProcessamento>
	</ns0:registarSerie>
</env:Body>
</env:Envelope>

 Consulta:

<"<? xml version='1.0' encoding='utf-8'?>
<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
<env:Header>
	<wss:Security xmlns:wss='http://schemas.xmlsoap.org/ws/2002/12/secext'>
		<wss:UsernameToken>
			<wss:Username>59999993/0037</wss:Username>
			<wss:Password>dGVzdGVzMTIzNA==</wss:Password>
			<wss:Nonce>D3GFokAu4MsUpnMSB8gZ7+wT..tirei..SUihp93HnRuWaAlg==</wss:Nonce>
		<wss:Created>MjAyMi0xMS0yOFQxMjozNToyNC42N1o=</wss:Created>
	</wss:UsernameToken>
</wss:Security>
</env:Header>
<env:Body>
	<ns1:consultarrSerie xmlns='http://at.gov.pt/'>
	</ns1:consultarrSerie>
</env:Body>
</env:Envelope>

 

Vou também colocar a parte de comunicação:

// Comunicação Series
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(EnderecoWebService);
           
request.Headers.Add("SOAPAction", pServiceAction); 
X509Certificate2 cert = new X509Certificate2(CaminhoCertificado, SenhaCertificado);

request.ClientCertificates.Add(cert);
request.Method = "POST";
request.ContentType = "text/xml; charset=utf-8";
request.Accept = "text/xml";

byte[] byteArray = Encoding.UTF8.GetBytes(pSoapFile);

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

HttpWebResponse resposta = (HttpWebResponse)request.GetResponse(); // Da erro 500 aqui!

Se estas duas estão bem o problema esta na própria encriptação. Se for o caso também posso colocar aqui tambem. 

Obrigado pela ajuda. 

consultarrSerie => consultarSeries
<? xml => <?xml

Edited by jorang
Link to comment
Share on other sites

On 11/28/2022 at 12:48 PM, jorang said:

consultarrSerie => consultarSerie
<? xml => <?xml

Obrigado, ajudou!!!

Pelo menos da mais informações do erro. Será que estou a encriptar mal? onde posso ver a lista de erros? "1116"

<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<env:Envelope xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\">
<env:Header/>
<env:Body>
	<env:Fault>
	<faultcode>1116</faultcode>
	<faultstring>Erro de Autentica&#231;&#227;o/Autoriza&#231;&#227;o - Pedido do Cliente </faultstring>
	<detail>
		<transactionID>0000000:5c457ae96384bac40af22e61</transactionID>
		<timestamp>2022-11-28 13:42:28.000+00:00</timestamp>
	</detail>
</env:Fault>
</env:Body>
</env:Envelope>

 

Link to comment
Share on other sites

Em 28/11/2022 às 13:49, furiousangelpt disse:

Obrigado, ajudou!!!

Pelo menos da mais informações do erro. Será que estou a encriptar mal? onde posso ver a lista de erros? "1116"

<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<env:Envelope xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\">
<env:Header/>
<env:Body>
	<env:Fault>
	<faultcode>1116</faultcode>
	<faultstring>Erro de Autentica&#231;&#227;o/Autoriza&#231;&#227;o - Pedido do Cliente </faultstring>
	<detail>
		<transactionID>0000000:5c457ae96384bac40af22e61</transactionID>
		<timestamp>2022-11-28 13:42:28.000+00:00</timestamp>
	</detail>
</env:Fault>
</env:Body>
</env:Envelope>

 

O conteúdo de "Password" não pode ser um base64 da password.

Tem que ser um base64 da password encriptada usando o mesmo método que é usado para o "Created".

Edited by jorang
Link to comment
Share on other sites

On 11/28/2022 at 2:12 PM, jorang said:

O conteúdo de "Password" não pode ser um base64 da password.

Tem que ser um base64 da password encriptada usando o mesmo método que é usado para o "Created".

Tinha uma opção que tinha alterado para testar e esqueci de voltar a por.

Conclusão já consigo registar Series em produção, mas em testes não, suponho que o de testes ainda não esta a funcionar?

Obrigado a TODOS pela vossa ajuda! Pelo menos já vejo uma luz no final do túnel e não é um comboio! 😆

Agora organizar código e ler respostas! 

Link to comment
Share on other sites

Em 28/11/2022 às 14:38, furiousangelpt disse:

Tinha uma opção que tinha alterado para testar e esqueci de voltar a por.

Conclusão já consigo registar Series em produção, mas em testes não, suponho que o de testes ainda não esta a funcionar?

Obrigado a TODOS pela vossa ajuda! Pelo menos já vejo uma luz no final do túnel e não é um comboio! 😆

Agora organizar código e ler respostas! 

O utilizador 599999993/0037 não permite criar séries. Deve ser usado um da software house.

Link to comment
Share on other sites

Ok utilizei um utilizador criado para a empresa em questão e já consegui registar guias em testes. assim não faço testes em produção. 🤪

Fogo, na minha opinião, a documentação deles é um desastre.

A parte do consultar esta a funcionar? 

Novamente Obrigado pela AJUDA! 

Edited by furiousangelpt
Link to comment
Share on other sites

On 11/28/2022 at 12:48 PM, jorang said:

consultarrSerie => consultarSeries
<? xml => <?xml

Faltam atributos nas tags: 

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">

<wss:Security xmlns:wss="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:at="http://at.pt/wsp/auth" xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" S:Actor="http://at.pt/actor/SPA" at:Version="2">

E pelo que vi não precisas do SOAPAction ou pelo menos é enviado a vazio.

Link to comment
Share on other sites

On 11/28/2022 at 3:11 PM, Ricky007 said:

Faltam atributos nas tags: 

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">

<wss:Security xmlns:wss="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:at="http://at.pt/wsp/auth" xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" S:Actor="http://at.pt/actor/SPA" at:Version="2">

E pelo que vi não precisas do SOAPAction ou pelo menos é enviado a vazio.

é necessário ter essas tags? quando fiz o registo da serie não foi preciso. 

Os outros 3 passos estão a funcionar? anularSerie, consultarSerie e finalizarSerie no de testes?

Link to comment
Share on other sites

On 11/28/2022 at 4:31 PM, furiousangelpt said:

é necessário ter essas tags? quando fiz o registo da serie não foi preciso. 

Os outros 3 passos estão a funcionar? anularSerie, consultarSerie e finalizarSerie no de testes?

No manual realmente não tem mas no Teste de conectividade com o webservice (efatura) tem:
 

<?xml version="1.0" encoding="utf-8"?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header>
<wss:Security xmlns:wss="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:at="http://at.pt/wsp/auth" xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" S:Actor="http://at.pt/actor/SPA" at:Version="2">
<wss:UsernameToken>
<wss:Username>599999993/0037</wss:Username>
<wss:Password Digest="pEDZzycHsEhqoo0mD9o3P6YWYyi6OQ7ydW1GOiVMbZQ=&#10;">e21LM+wPEIsje3CY3HnFDg==
</wss:Password>
<wss:Nonce>KXM9DbH9p/NYGP24pAEXcrLnFmeD1oRh8emdrSd4OodHQs4X9rN3JrgMbg+D+ff9Mi5Mhu1Pz2CL
7i/FH9kg2NrW6moURfF6n8vlOO4zzWBUEb3ZS9zwrEPbBsKYJm2BJPXptDut78JaTec26a7JVdgm
CIKdhQR1TPScAGQVFQuACs+MpuNkdeMreGXsnCE0T/oiI12BxJKq4L2ToiVpsEcUh5T42P6Im465
L4t4WWnsqdi2ljAD08SK2q2cuo5zRhjnxpOr/Pk4iOjb5VJr4+lrSePhPLsW04U2CF94HRHlTCsf
a3O5p1GzOQwcUJz3O6tzBtLXk3GONNmU+wAMUw==
</wss:Nonce>
<wss:Created>2022-11-28T16:35:15.15Z</wss:Created>
</wss:UsernameToken>
</wss:Security>
</env:Header>
<S:Body>
<ns0:registarSerie xmlns:ns0="http://at.gov.pt/">
<serie>A</serie>
<tipoSerie>N</tipoSerie>
<classeDoc>SI</classeDoc>
<tipoDoc>NC</tipoDoc>
<numInicialSeq>222000</numInicialSeq>
<dataInicioPrevUtiliz>2022-11-28</dataInicioPrevUtiliz>
<numCertSWFatur>1010</numCertSWFatur>
<meioProcessamento>PF</meioProcessamento>
</ns0:registarSerie>
</S:Body>
</S:Envelope>

 

Link to comment
Share on other sites

Boa tarde a todos,

Existe algum sítio onde possamos validar os faultcodes devolvidos?
Continuo com erro 500 no serviço de registar séries (Testes), com a seguinte mensagem:
 

<?xml version="1.0" encoding="UTF-8"?>

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<env:Fault>
<faultcode>118</faultcode>
<faultstring>Erro de Autentica&#231;&#227;o/Autoriza&#231;&#227;o - Pedido do Cliente </faultstring>
<detail>
<transactionID>0000000:5c457ae963863b8b0b4cb501</transactionID>
<timestamp>2022-11-29 17:04:11.000+00:00</timestamp></detail></env:Fault></env:Body></env:Envelope>

 

Alguém consegue ajudar?

Link to comment
Share on other sites

On 11/29/2022 at 5:05 PM, MrFive said:

Boa tarde a todos,

Existe algum sítio onde possamos validar os faultcodes devolvidos?
Continuo com erro 500 no serviço de registar séries (Testes), com a seguinte mensagem:
 

<?xml version="1.0" encoding="UTF-8"?>

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<env:Fault>
<faultcode>118</faultcode>
<faultstring>Erro de Autentica&#231;&#227;o/Autoriza&#231;&#227;o - Pedido do Cliente </faultstring>
<detail>
<transactionID>0000000:5c457ae963863b8b0b4cb501</transactionID>
<timestamp>2022-11-29 17:04:11.000+00:00</timestamp></detail></env:Fault></env:Body></env:Envelope>

 

Alguém consegue ajudar?

qual é o utilizador q estas a utilizar?

Link to comment
Share on other sites

Bom dia,

Já repararam que o site das finanças morreu :). Certificado inválido!

A sua ligação não é privada

Os atacantes podem estar a tentar roubar as suas informações no www.acesso.gov.pt (por exemplo, palavras-passe, mensagens ou cartões de crédito).

NET::ERR_CERT_DATE_INVALID

AtualizarOcultar avançadas

O www.acesso.gov.pt utiliza encriptação para proteger as suas informações. Quando o Microsoft Edge tentou ligar-se a www.acesso.gov.pt desta vez, o site enviou credenciais incorretas e invulgares. Isto pode acontecer quando um atacante está a tentar fingir ser o www.acesso.gov.pt ou um ecrã de início de sessão Wi-Fi interrompe a ligação. As suas informações continuam protegidas porque o Microsoft Edge parou a ligação antes qualquer dado ter sido trocado.

De momento, não pode aceder a www.acesso.gov.pt porque o site utiliza HSTS. Normalmente, os ataques e erros de rede são temporários, pelo que esta página irá provavelmente funcionar mais tarde.

Um bom dia a todos 🙂

 

  • Vote 1
Link to comment
Share on other sites

Em 30/11/2022 às 09:50, davdew05 disse:

Bom dia,

Já repararam que o site das finanças morreu :). Certificado inválido!

A sua ligação não é privada

Os atacantes podem estar a tentar roubar as suas informações no www.acesso.gov.pt (por exemplo, palavras-passe, mensagens ou cartões de crédito).

NET::ERR_CERT_DATE_INVALID

AtualizarOcultar avançadas

O www.acesso.gov.pt utiliza encriptação para proteger as suas informações. Quando o Microsoft Edge tentou ligar-se a www.acesso.gov.pt desta vez, o site enviou credenciais incorretas e invulgares. Isto pode acontecer quando um atacante está a tentar fingir ser o www.acesso.gov.pt ou um ecrã de início de sessão Wi-Fi interrompe a ligação. As suas informações continuam protegidas porque o Microsoft Edge parou a ligação antes qualquer dado ter sido trocado.

De momento, não pode aceder a www.acesso.gov.pt porque o site utiliza HSTS. Normalmente, os ataques e erros de rede são temporários, pelo que esta página irá provavelmente funcionar mais tarde.

Um bom dia a todos 🙂

O certificado expirou ontem às 23:59:59. 

Agora só quando o informático lá do sitio chegar ao escritório, lá para as 11:00/12:00 😄

  • Vote 2
Link to comment
Share on other sites

Em 30/11/2022 às 10:28, MrFive disse:

Bom dia a todos,

Apenas para informar: o serviço de Séries em testes já está a funcionar!

Olá parece que sim, mas o método de Anular não está respondendo corretamente, os demais estão bem.

Edit: parece que voltou a ficar a baixo o ambiente de teste.

Edited by Roger Pereira
Link to comment
Share on other sites

Web-Series-Anulação:

Estou a enviar este XML e da erro Pedido do Cliente Falta algum campo no XML? Tem todos mencionado no maravilhoso Doc. da AT.

<?xml version='1.0' encoding='utf-8'?>
<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
<env:Header>
<wss:Security xmlns:wss='http://schemas.xmlsoap.org/ws/2002/12/secext'  xmlns:at='http://at.pt/wsp/auth'>
<wss:UsernameToken>
	<wss:Username>509XXXXXX/2</wss:Username>
	<wss:Password>3JZwTH4nlkBgrgdo4z7EOQ==</wss:Password>
	<wss:Nonce>S6jjWNuyEZ9lQnq44y1LdSYJJfi2tiHs86r47r..tirei..M6yEA==</wss:Nonce>
	<wss:Created>mSlz9vQc4iagTLaqizHyQ/HJWp/hKJJGy6XWPSOGlY8=</wss:Created>
</wss:UsernameToken>
</wss:Security>
</env:Header>
<env:Body>
<ns0:anularSerie xmlns:ns0='http://at.gov.pt/'>
	<serie>SS232</serie>
	<classeDoc>SI</classeDoc>
	<tipoDoc>FT</tipoDoc>
	<codValidacaoserie>AAJFFR2GX8</codValidacaoserie>
	<motivo>ER</motivo>
	<declaracaoNaoEmissao>1</declaracaoNaoEmissao>
</ns0:anularSerie>
</env:Body>
</env:Envelope>

O erro:

<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n
<env:Envelope xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\">\n
<env:Header/>\n
<env:Body>\n
	<env:Fault>\n
		<faultcode>env:Client</faultcode>\n
		<faultstring>Erro - Pedido do Cliente </faultstring>\n
		<detail>\n<transactionID>0000000:5c457ae9638762da0e7ed9e4</transactionID>\n
			<timestamp>2022-11-30 14:04:10.000+00:00</timestamp>
		</detail>
	</env:Fault>
</env:Body>
</env:Envelope>

Obrigado,

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.