Ir para o conteúdo
cjulio

Utilizar Webservices da AT

Mensagens Recomendadas

baninho

Endereços para a comunicação de rendas via webservice.

Neste momento estou a desenvolver uma aplicação, em vb .net para comunicar as rendas via webservice.

Será que alguém me podia confirmar, se os seguintes endereços estão correctos(já enviei um e-mail à ASI - Produtores de Software Web Services <asi-psws@at.gov.pt>, mas ainda não obtive resposta)

Endereços:

'Endereço URI:
Dim EnderecoWebService As String = "https://servicos.portaldasfinancas.gov.pt:709/ws/arrendamento"
'Endereço SOAPAction
request.Headers.Add("SOAPAction", "https://servicos.portaldasfinancas.gov.pt/sicau/ws/arrendamento/emitirRecibo")
'Endereço BODY (estrutura)
sb.Append("<ns2:emitirReciboRequest xmlns:ns2=""https://servicos.portaldasfinancas.gov.pt/arrendamento/definitions/"">")
  

Desde já agradeço a vossa atenção.

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
md mad

Boas.

Desde o início desta comunicação, as credenciais que uso são as mesmas de produção, ou seja, NIF/Subutilizador válido no Portal da AT. No meu caso, com o meu NIF (pessoa singular) criei um subutilizador com as devidas permissões e sempre foi este que utilizei. As diferenças entre produção e testes são o certificado a utilizar (cert. produtor software / cert. testes) e o endereço do endpoint, tudo o resto é igual. Espero que isto ajude...

  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
koakh
5 horas atrás, md mad disse:

Boas.

Desde o início desta comunicação, as credenciais que uso são as mesmas de produção, ou seja, NIF/Subutilizador válido no Portal da AT. No meu caso, com o meu NIF (pessoa singular) criei um subutilizador com as devidas permissões e sempre foi este que utilizei. As diferenças entre produção e testes são o certificado a utilizar (cert. produtor software / cert. testes) e o endereço do endpoint, tudo o resto é igual. Espero que isto ajude...

boas
já tentei isso e infelizmente não comigo dá

podes sff tentar esse user na sandbox deles 
https://faturas.portaldasfinancas.gov.pt/testarLigacaoWebService.action
(usar o IE + Java)

obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
md mad
6 hours ago, koakh said:

boas @marcolopes

obrigado pela explicação, isto está se a tornar confuso....

@marcolopes > Acho que não expliquei bem... não existe um SUB-utilizador de TESTES! O SUB-utilizador a usar é o mesmo da produção!

tal como tentei explicar nos posts em cima , já testei o user de produção, basicamente apenas troquei o endpoint e dá erro que descrevi em cima...
Exception: [O tempo limite da operação expirou]

testei com o código que funciona a 100% em produção e claro mesmo erro

no sandbox deles com o use produção o mesmo erro, timeout, e só testarem, e aguardarem 1m ou mais até aparecer o erro


bem voltei a carga outra vez....e tentei novamente com várias combinações, inclusive usando um NIF sem ser o 599999993

log


Using pathPublicKey: [Resources/Certificates/ChaveCifraPublicaAT2020.cer]
Using pathCertificate: [Resources/Certificates/TesteWebservice.pfx]
TaxRegistrationNumber :[508508???], AccountFiscalNumber: [508278???/2], AccountPassword: [???]
urlWebService: https://servicos.portaldasfinancas.gov.pt:700/fews/faturas
urlSoapAction: http://servicos.portaldasfinancas.gov.pt/faturas/RegisterInvoice
Send Document DocumentNumber: [FS 2018A12/1]/WayBillMode: [False]
Cert Subject: [CN=TesteWebServices, OU=ASI, O=AT - Autoridade Tributaria e Aduaneira, L=Lisboa, S=Lisboa, C=PT], NotBefore: [09/01/2018 16:07:30], NotAfter: [08/07/2018 17:07:30]
Exception: [O tempo limite da operação expirou]

Como se pode ver em cima uso os seguintes dados
- PublicKey Válido [09/01/2018 16:07:30], NotAfter: [08/07/2018 17:07:30]
- Certificado de Testes com a Pass : TESTEwebservice
- TaxRegistrationNumber: 599999993 e outro tal como 508508???
- urlWebService: Endpoint de Testes

Notas os files de teste em cima são os que fiz download na página da AT apenas mudei o nome de
Chave Cifra Publica AT (Produção).cer para ChaveCifraPublicaAT2020.cer

- E claro com o mesmo sub user e em modo de produção que está a trabalhar a 100%!!!

alguem me pode confirmar que dados usam no modo de testes?

- Ficheiros dos Certificados: ex "Chave Cifra Publica AT (Produção).cer" / "TesteWebServices.pfx"
- Sub User: ex 508278???/2
- NIF ex 599999993
- Endpoints: urlWebService: https://servicos.portaldasfinancas.gov.pt:700/fews/faturas / urlSoapAction: http://servicos.portaldasfinancas.gov.pt/faturas/RegisterInvoice

Para ver se descalço este "Hirritável", na volta mando a pasta para Angola LOL rsrrrsrs

Muito Obrigado a todos

Update#1: Já agora alguem pode testar na sandbox da AT a ver se funciona, é que ai é "só" usar o user de produção e devia dar!!!!

Update#2 :
Claro que se mudar o sub user de ?????????/2 para ?????????/3 da outro erro,
de user inválido claro, o que prova tal como na sandbox que o user é o correcto, isto mais parece dos certificados que outra coisa......
quanto aos certificados fiz download e usei como disse em cima.....


Send ProtocolError StreamResult: [<?xml version="1.0" encoding="UTF-8"?>

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>99  </faultcode>
<faultstring>Rejected:   |  Codigo: 99  |  Erro: Acesso suspenso.  |  Tentativas Restantes: 5</faultstring>
<detail>fews.gdcontfsimpostosqua</detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>]

Confirmo que nas faturas dá esse problema, contudo nos documentos de transporte funciona.

Em todo o caso, eu aponto o meu código ou para um lado ou para o outro, não uso o java deles.

Será problema do lado deles?

Espero que ajude

Cumprimentos

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
koakh

@md mad

confesso que tive a "marrada" com os documentos fiscais e não com as guias

será que com as guias dá, e apontei logo no sitio que não dá, na volta é um murphyzito para alegrar a malta

confirmo......webservice de testes dá com as guias, mas não com os documentos fiscais

thanks @md mad
segunda feira continuo, por agora vou de fim de semana
abraço a todos

user 599999993/0037 dá também :(
o problema é apenas o webservice de testes da AT que está com problemas em documentos fiscais

as guias funcionam correctamente (outro endpoint)

obrigado a todos

Editado por koakh

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ossadas

Boas,

Não tem tido problemas a comunicar guias nos computadores(cliente) que tenham o windows 10 mais actual, versão 1803, mas que o servidor seja windows 2003?

Erro: NOK|A ligação subjacente foi fechada: Não é possível estabelecer ligação com o servidor remoto.

 

Obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
s0me0ne

Boa tarde,

Pretendia saber se alguém conhece uma opção para obter informação dos documentos de adquirente com discriminação dos artigos e taxas de IVA.

Já verifiquei a ESTA ligação, mas não reporta a informação toda que necessito.

Obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
derrerter
53 minutos atrás, s0me0ne disse:

Boa tarde,

Pretendia saber se alguém conhece uma opção para obter informação dos documentos de adquirente com discriminação dos artigos e taxas de IVA.

Já verifiquei a ESTA ligação, mas não reporta a informação toda que necessito.

Obrigado

Já foi perguntado e respondido muitas vezes.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
s0me0ne

@derrerter obrigado pela resposta.

Já vi a resposta.

verifiquei que existe a o detalhe do documento que deve ser para apresentar os detalhes das linhas do documento através deste endereço:

https://faturas.portaldasfinancas.gov.pt/json/detalheDocumentoAdquirente.action?idDocumento=XXXXXXXXXXX

em que o XXXXXXXXXXX é o idDocumento recebido em:

https://faturas.portaldasfinancas.gov.pt/json/obterDocumentosAdquirente.action?dataInicioFilter=2018-05-01&amp;dataFimFilter=2018-05-20&amp;ambitoAquisicaoFilter=TODOS

detalheDocumentoAdquirente.action está a paresentar dados em branco:

{"success":true,"messages":{"error":[],"success":[],"info":[],"warning":[]}}

alguém sabe se falta alguma parte do comando?

Ao abrir o código fonte da opção de ver as faturas em https://faturas.portaldasfinancas.gov.pt/detalheDocumentoAdquirente.action?idDocumento=XXXXXXXXXXX, com o mesmo idDocumento consigo obter o detalher que pretendo:

dadosLinhasDocumento = [{"valorBaseTributavel":55750,"valorIva":0,"valorTotal":55750,"taxaIva":0,"motivoIsencao":null,"motivoIsencaoDesc":"","docsOrigem":[]}];

Alguma ajuda?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
derrerter
2 horas atrás, s0me0ne disse:

@derrerter obrigado pela resposta.

Já vi a resposta.

verifiquei que existe a o detalhe do documento que deve ser para apresentar os detalhes das linhas do documento através deste endereço:

https://faturas.portaldasfinancas.gov.pt/json/detalheDocumentoAdquirente.action?idDocumento=XXXXXXXXXXX

em que o XXXXXXXXXXX é o idDocumento recebido em:

https://faturas.portaldasfinancas.gov.pt/json/obterDocumentosAdquirente.action?dataInicioFilter=2018-05-01&amp;dataFimFilter=2018-05-20&amp;ambitoAquisicaoFilter=TODOS

detalheDocumentoAdquirente.action está a paresentar dados em branco:


{"success":true,"messages":{"error":[],"success":[],"info":[],"warning":[]}}

alguém sabe se falta alguma parte do comando?

Ao abrir o código fonte da opção de ver as faturas em https://faturas.portaldasfinancas.gov.pt/detalheDocumentoAdquirente.action?idDocumento=XXXXXXXXXXX, com o mesmo idDocumento consigo obter o detalher que pretendo:


dadosLinhasDocumento = [{"valorBaseTributavel":55750,"valorIva":0,"valorTotal":55750,"taxaIva":0,"motivoIsencao":null,"motivoIsencaoDesc":"","docsOrigem":[]}];

Alguma ajuda?

É mesmo assim.(pelo menos que eu saiba)

Com um ciclo e muito controlo, obtens o que pretendes.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Antonio Valladares

Bom Dia
Estou tentando enviar o eFactura para o ambiente de teste e estou encontrando o problema que retorna um erro HTTP 500:

<?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>

Eu tentei tanto com o nosso usuário e com o usuário de teste, mas ambos com o mesmo problema.

Você sabe o que está causando esse erro?

Por outro lado, tento validar a mensagem em: https://faturas.portaldasfinancas.gov.pt/testarLigacaoWebService.action

E isso sempre dá erro:
>>>STACKTRACE<<<
com.sun.xml.ws.client.ClientTransportException: HTTP transport error: java.net.ConnectException: Connection timed out: connect

Muito obrigado
Uma saudação.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
xambas

Olá malta,

Estou a desenvolver uma aplicação de comunicação de documentos de transporte em VB.NET,

e estou com um problema estranho... Semelhante ao que o António reportou acima.

Quando a minha app comunica com o servidor de testes deles, tenho o seguinte retorno:

<?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>

No entanto, ao utilizar o applet deles em https://faturas.portaldasfinancas.gov.pt/testarLigacaoWebService.action dá me SUCESSO!

O XML que estou a enviar é o seguinte:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:doc="https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/">
	<S:Header>
		<wss:Security xmlns:wss="http://schemas.xmlsoap.org/ws/2002/12/secext">
			<wss:UsernameToken>
				<wss:Username>xxxxxxxxx/1</wss:Username>
				<wss:Password>N4rXr+dB2ukThO75sSUblA==</wss:Password>
				<wss:Nonce>IOcKjb7C5YI9vCtHQQ/eh4gOLnwMpYIloKoQx3qRNfmuy5CKorxKg4Sgy7BKNzS8IbtRlXjlMNY8rywYVoNbji4tsRy+6FsTM6tOP5P/f39xPUXG23B2xqHFX7LQ9ZLb1WBsdwA7G3EPl49gQCVQF5QWIzbu9TrkVraVR5ACWJx2h6YlXlOT/IO7KpN+z6htRhvWR2VrXwd7Vuku+eOxQSPfq/V+hLszWLwcJJnNQjuVsGDFV0Q/PPW9roN+6yIGaeATQbc07OtZdYLENz0gGDW7isdmttpFWhZ9t85Bsge8JDmWyl/XI9AV9ZULL1EZ+euWRfYmvboSGcLTvlUoeQ==</wss:Nonce>
				<wss:Created>UL4jE55BGauN4C0eDKgA6a0Iq9gB8UE1VAvk0nXpKdM=</wss:Created>
			</wss:UsernameToken>
		</wss:Security>
	</S:Header>
	<S:Body>
		<doc:envioDocumentoTransporteRequestElem>
			<TaxRegistrationNumber>123456789</TaxRegistrationNumber>
			<CompanyName>SHM Eng.</CompanyName>
			<CompanyAddress>
				<Addressdetail>Rua Tal, Sitio Tal</Addressdetail>
				<City>São Jorge da Murronhanha</City>
				<PostalCode>4444-555</PostalCode>
				<Country>PT</Country>
			</CompanyAddress>
			<DocumentNumber>GT SERIE0/99990</DocumentNumber>
			<MovementStatus>N</MovementStatus>
			<MovementDate>2017-03-01</MovementDate>
			<MovementType>GT</MovementType>
			<CustomerName>CASAIS ANGOLA, ENGENHARIA E CONSTRUÇÃO SA</CustomerName>
			<CustomerAddress>
				<Addressdetail>RUA JOSÉ PEREIRA DO NASCIMENTO, Nº 51 LUANDA</Addressdetail>
				<City>LUANDA</City>
				<PostalCode>4444-555</PostalCode>
				<Country></Country>
			</CustomerAddress>
			<AddressTo>
				<Addressdetail>Endereço1 Endereço2</Addressdetail>
				<City>Localidade</City>
				<PostalCode>4444-555</PostalCode>
				<Country>PT</Country>
			</AddressTo>
			<AddressFrom>
				<Addressdetail>Rua Tal, Sitio Tal</Addressdetail>
				<City>São Jorge da Murronhanha</City>
				<PostalCode>4444-555</PostalCode>
				<Country>PT</Country>
			</AddressFrom>
			<MovementStartTime>2017-03-01T00:00:00</MovementStartTime>
			<VehicleID>LD-50-36-EW</VehicleID>
			<Line>
				<ProductDescription>C35/45 S4 D20</ProductDescription>
				<Quantity>7</Quantity>
				<UnitOfMeasure>M3</UnitOfMeasure>
				<UnitPrice>0</UnitPrice>
			</Line>
		</doc:envioDocumentoTransporteRequestElem>
	</S:Body>
</S:Envelope>

Alguem me pode ajudar?

EDIT: Aparentemente qualquer pedido de documentos de transporte na sandbox dá sucesso. Mesmo com a caixa de texto vazia....

A resposta é semrpe a mesma.. alguém pode confirmar, pf?

O meu deadline é esta semana e não sei o que fazer mais...

Editado por xambas

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
StadaExp

Olá xambas,

Não sei como é vm VB.NET mas tive um problema similar com PHP em que obtia sempre o Internal Server error. Em PHP o meu breakthrough com esse erro foi quando coloquei nas configurações da classe SoapClient para forçar os seguintes parâmetros:

'encoding' => 'utf-8', 'soap_version' => SOAP_1_2,

Experimenta ver o equivalente em VB.NET e talvez tenhas um erro mais detalhado.

Peguei no teu XML e enviei-o diretamente para o Webservice e obtive o seguinte erro. Parece ser algo na estrutura do XML?

Fatal error: Uncaught SoapFault exception: [33] particle 2.1: in element {https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/}envioDocumentoTransporteRequestElem of type {https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/}StockMovement, found <CustomerAddress> (in default namespace), but next item should be AddressFrom

SoapFault: particle 2.1: in element {https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/}envioDocumentoTransporteRequestElem of type {https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/}StockMovement, found <CustomerAddress> (in default namespace), but next item should be AddressFrom

Abraço,
Ricardo

Editado por StadaExp

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Antonio Valladares

Ola StadaExp,

Eu estou tendo o mesmo erro com o serviço efatura e não acho que é devido à versão SOAP desde que eu também tentei a partir da interface do SOAP e me dá o mesmo erro.

Você já conseguiu atacar com sucesso o servidor AT Test?

Muito obrigado
Uma saudação.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
xambas

Olá Ricardo,

Muito obrigado pela resposta!

O que queres dizer com enviar o XML directamente para o webservice?

Inicialmente referenciei o WSDL deles e fazia a chamada ao client gerado. Mas como isso também não funcionou, agora estou a gerar eu o XML e a enviar através de um HttpClient. Acho que é isso que dizes em enviar directamente, certo?

No entanto, o erro que te apareceu é estranho pois o XML segue a estrutura indicada na especificação deles...

Btw, eu já faço o set ao encoding.

 

Alguém sabe por que razão, o endpoint do documentosTransporte no sandbox deles,dá sempre a mesma resposta? Até podem clicar no "Testar" sem meter nada la dentro... Dá sempre sucesso,,,,

Acho que vou tentar entrar em contacto com eles telefonicamente. Já alguem tentou?

Muito obrigado!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Antonio Valladares

Olá
Liguei e eles me disseram que a única maneira de fazer esse tipo de pergunta é através do EBalcao, que não é por telefone.

Eu tenho um ticket aberto no EBalcao por 4 dias esperando por uma resposta.

Alguém que tenha esses serviços em execução pode tentar ver se eles retornam um HTTP 500 também no ambiente de teste? (Internal Error: env: Client)

Muito obrigado
Uma saudação.

  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
xambas

Alguém consegue neste momento usar o servidor de testes?

Editado por xambas

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
StadaExp

Olá xambas.

O que quero dizer é que fiz o POST do XML diretamente para o Endpoint. Uma coisa importante com o servidor de testes é que, da minha experiência, só funciona com o user de testes (por favor confirma).

'at_username' => '599999993/37', 'at_password' => 'testes1234'

Peguei no teu XML, fiz algumas alterações e consegui que o teu XML passasse. Aqui estão as diferenças entre ambos: https://www.diffchecker.com/tmTqCSnF (antigo do lado direito e novo do lado esquerdo). Repara que, apesar de tu veres um erro genérico (Internal Server Error) quer dizer que no fundo há um erro mais detalhado que não consegues ver. Possivelmente esse erro é aquele que indiquei da estrutura do XML. Sugiro também que o programa que gera o XML retire espaços em branco e newlines do XML http://www.webtoolkitonline.com/xml-minifier.html

<?xml version="1.0" encoding="UTF-8"?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:doc="https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/"><S:Header><wss:Security xmlns:wss="http://schemas.xmlsoap.org/ws/2002/12/secext"><wss:UsernameToken><wss:Username>xxxxxxxxx/1</wss:Username><wss:Password>N4rXr+dB2ukThO75sSUblA==</wss:Password><wss:Nonce>IOcKjb7C5YI9vCtHQQ/eh4gOLnwMpYIloKoQx3qRNfmuy5CKorxKg4Sgy7BKNzS8IbtRlXjlMNY8rywYVoNbji4tsRy+6FsTM6tOP5P/f39xPUXG23B2xqHFX7LQ9ZLb1WBsdwA7G3EPl49gQCVQF5QWIzbu9TrkVraVR5ACWJx2h6YlXlOT/IO7KpN+z6htRhvWR2VrXwd7Vuku+eOxQSPfq/V+hLszWLwcJJnNQjuVsGDFV0Q/PPW9roN+6yIGaeATQbc07OtZdYLENz0gGDW7isdmttpFWhZ9t85Bsge8JDmWyl/XI9AV9ZULL1EZ+euWRfYmvboSGcLTvlUoeQ==</wss:Nonce><wss:Created>UL4jE55BGauN4C0eDKgA6a0Iq9gB8UE1VAvk0nXpKdM=</wss:Created></wss:UsernameToken></wss:Security></S:Header><S:Body><doc:envioDocumentoTransporteRequestElem><TaxRegistrationNumber>123456789</TaxRegistrationNumber><CompanyName>SHM Eng.</CompanyName><CompanyAddress><Addressdetail>Rua Tal, Sitio Tal</Addressdetail><City>São Jorge da Murronhanha</City><PostalCode>4444-555</PostalCode><Country>PT</Country></CompanyAddress><DocumentNumber>GT SERIE0/99990</DocumentNumber><MovementStatus>N</MovementStatus><MovementDate>2017-03-01</MovementDate><MovementType>GT</MovementType><CustomerTaxID>599999993</CustomerTaxID><CustomerAddress><Addressdetail>RUA JOSÉ PEREIRA DO NASCIMENTO, Nº 51 LUANDA</Addressdetail><City>LUANDA</City><PostalCode>4444-555</PostalCode><Country/></CustomerAddress><CustomerName>CASAIS ANGOLA, ENGENHARIA E CONSTRUÇÃO SA</CustomerName><AddressTo><Addressdetail>Endereço1 Endereço2</Addressdetail><City>Localidade</City><PostalCode>4444-555</PostalCode><Country>PT</Country></AddressTo><AddressFrom><Addressdetail>Rua Tal, Sitio Tal</Addressdetail><City>São Jorge da Murronhanha</City><PostalCode>4444-555</PostalCode><Country>PT</Country></AddressFrom><MovementEndTime>2018-06-13T17:38:00</MovementEndTime><MovementStartTime>2018-06-13T13:38:00</MovementStartTime><VehicleID>LD-50-36-EW</VehicleID><Line><ProductDescription>C35/45 S4 D20</ProductDescription><Quantity>7</Quantity><UnitOfMeasure>M3</UnitOfMeasure><UnitPrice>0</UnitPrice></Line></doc:envioDocumentoTransporteRequestElem></S:Body></S:Envelope>

Experimenta efetuar as alterações no teu programa que gera o XML para ficar de acordo com aquilo que eu também alterei. Se quiseres experimentar algo que funcione coloquei numas páginas atrás código PHP para as guias de transporte.

Editado por StadaExp
  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Antonio Valladares

Olá StadaExp,
 
Depois de ler seu post anterior, tentei enviar outra mensagem com as credenciais do ambiente de teste (desde antes de usar as da empresa).

De qualquer forma, eu ainda recebo o mesmo erro HTTP 500, assim como o Xambas.

Eu colo aqui a mensagem que enviamos para ver se você pode ver algo estranho.

 

<?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>h0Uk48BZuhxqHUkFbeYFnQ==</wss:Password>
<wss:Nonce>YjBA539R63qb5xT3SIv8s8ibcmpdQhmv5nU63+SKq85k5vr5qud+7N5Sh0Bb5Gb3PsGkUV0Vi+kxeqez5+0jqApfSHGTbN2GzuvHwLsAsEzsZNlubKLjX8Q3SjnYM64qAYuF6mwl4+hRYazL1P3UkN/KoAnf7RKcncV3wMrzLNBvLaQg+P/xk5cVNavE6aOehs7CXZp2ogyZ5XNHlqBVZqIhNnHlb0p0K6BVjsGVcizAwEeVncsOqkB3ad+YPVI+NhIoPzIbq/n+Bx9dm2IlH2Z/DH+FH7Kg7KvSeJKjgGn9Lhid5664TsZaPuUP2yDBZreCc0Ej4RUDEu52ikFfRg==</wss:Nonce>
<wss:Created>PlupLoorwrCpzcppl+5P50TeNWxMDo+HMdlL9rnvNfg=</wss:Created>
</wss:UsernameToken>
</wss:Security>
</S:Header>
<S:Body>
<ns0:RegisterInvoiceElem xmlns:ns0="http://servicos.portaldasfinancas.gov.pt/faturas/">
<TaxRegistrationNumber>599999993</TaxRegistrationNumber>
<ns0:InvoiceNo>1800000001</ns0:InvoiceNo>
<ns0:InvoiceDate>2018-05-25</ns0:InvoiceDate>
<ns0:InvoiceType>FT</ns0:InvoiceType>
<ns0:InvoiceStatus>N</ns0:InvoiceStatus>
<CustomerTaxID>599999993</CustomerTaxID>
<Line>
<ns0:CreditAmount>1000.00</ns0:CreditAmount>
<ns0:Tax>
<ns0:TaxType>IVA</ns0:TaxType>
<ns0:TaxCountryRegion>PT</ns0:TaxCountryRegion>
<ns0:TaxPercentage>23</ns0:TaxPercentage>
</ns0:Tax>
<ns0:TaxExemptionReason>M08</ns0:TaxExemptionReason>
</Line>
<Line>
<ns0:CreditAmount>880.00</ns0:CreditAmount>
<ns0:Tax>
<ns0:TaxType>IVA</ns0:TaxType>
<ns0:TaxCountryRegion>PT</ns0:TaxCountryRegion>
<ns0:TaxPercentage>23</ns0:TaxPercentage>
</ns0:Tax>
<ns0:TaxExemptionReason>M08</ns0:TaxExemptionReason>
</Line>
<Line>
<ns0:CreditAmount>120.00</ns0:CreditAmount>
<ns0:Tax>
<ns0:TaxType>IVA</ns0:TaxType>
<ns0:TaxCountryRegion>PT</ns0:TaxCountryRegion>
<ns0:TaxPercentage>23</ns0:TaxPercentage>
</ns0:Tax>
<ns0:TaxExemptionReason>M08</ns0:TaxExemptionReason>
</Line>
<DocumentTotals>
<ns0:TaxPayable>360.0</ns0:TaxPayable>
<ns0:NetTotal>2000.0</ns0:NetTotal>
<ns0:GrossTotal>2360.0</ns0:GrossTotal>
</DocumentTotals>
</ns0:RegisterInvoiceElem>
</S:Body>
</S:Envelope>

Muito obrigado antecipadamente.
Uma saudação.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
StadaExp

Olá António,

O erro que obtenho com o teu XML é o seguinte

InvoiceNo value '1800000001' is not a valid instance of the element type

Portanto é algo relationado com o formato do número de documento. De acordo com o WSDL o formato esperado é a seguinte expressão regular

([a-zA-Z0-9./_\-])+ ([a-zA-Z0-9]*/[0-9]+)

Terás portanto que alterar o número de documento para algo que corresponda ao formato (por exemplo: FR 2018A1/17928).

Tal como sugeri ao Xambas, retira whitespace e newlines do XML que envias. Eu suspeito que vocês estão a enviar alguma coisa antes da tag <?xml e isso leva a que recebam sempre o Internal Server Error. Não pode ter nada antes.

Editado por StadaExp

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
marcolopes
8 hours ago, StadaExp said:

Olá xambas.

O que quero dizer é que fiz o POST do XML diretamente para o Endpoint. Uma coisa importante com o servidor de testes é que, da minha experiência, só funciona com o user de testes (por favor confirma).


'at_username' => '599999993/37', 'at_password' => 'testes1234'

 

O endpoint de testes não está a funcionar com o NIF de testes...

 

UPDATE! Afinal parece que o fisco já resolveu esta questão! O endpoint de testes VOLTOU a aceitar o NIF de testes... Acabei de verificar isso mesmo... enfim...

Editado por marcolopes

The simplest explanation is usually the correct one

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Antonio Valladares

Olá ,

    Eu estou tentando fazer testes do SOAPUI para ver se não consigo obter o erro: "Erro interno" e sempre aparece.

Eu corrigi o número da fatura e removi os "espaços em branco", mas ele ainda falha.

<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>G1GS9Q29tor5yqISB8tPzg==</wss:Password><wss:Nonce>YHrSpBNZbFmYXkwBmrUfay0ezWg12qXjFUqMElXoNTszdS1waaj0FrmGKA/ie0F4jYnxBuibULa+ok3Prv7xUS0v9X8Zee3sMyJSgIP7YjyirgmUoU3VZrvae+AgQfYVd0H8IizGJAQXCZde6ICfvNzSdgosWWQGGWassswNy6ou7iPotnNNLWUHUyidIeJLFHdI7jur+GQ5b38H0zcX/soW3abQ8Dx71sosPMQrlJyhV1fedZ6BkUZ351GnTBg1QFpQTNEQZgl+C3J+pOk8BdBQv7ZWLH9ZVESsZgR6MbGVxspFE6snHNApI4hOGqKi41x/xM37XCtnMb474YhViw==</wss:Nonce><wss:Created>i6MJ0F23Fb2sdnmZ5ushAb9Ul6l3avS+vvN1V+uCXZc=</wss:Created></wss:UsernameToken></wss:Security></S:Header><S:Body><ns0:RegisterInvoiceElem xmlns:ns0="http://servicos.portaldasfinancas.gov.pt/faturas/"><TaxRegistrationNumber>599999993</TaxRegistrationNumber><ns0:InvoiceNo>DR 2019/1800000008</ns0:InvoiceNo><ns0:InvoiceDate>2018-05-16</ns0:InvoiceDate><ns0:InvoiceType>FT</ns0:InvoiceType><ns0:InvoiceStatus>N</ns0:InvoiceStatus><CustomerTaxID>599999994</CustomerTaxID><Line><ns0:CreditAmount>100.00</ns0:CreditAmount><ns0:Tax><ns0:TaxType>IVA</ns0:TaxType><ns0:TaxCountryRegion>PT</ns0:TaxCountryRegion><ns0:TaxPercentage>0</ns0:TaxPercentage></ns0:Tax><ns0:TaxExemptionReason>M08</ns0:TaxExemptionReason></Line><Line><ns0:CreditAmount>100.00</ns0:CreditAmount><ns0:Tax><ns0:TaxType>IVA</ns0:TaxType><ns0:TaxCountryRegion>PT</ns0:TaxCountryRegion><ns0:TaxPercentage>0</ns0:TaxPercentage></ns0:Tax><ns0:TaxExemptionReason>M08</ns0:TaxExemptionReason></Line><DocumentTotals><ns0:TaxPayable>0.00</ns0:TaxPayable><ns0:NetTotal>200.00</ns0:NetTotal><ns0:GrossTotal>200.00</ns0:GrossTotal></DocumentTotals></ns0:RegisterInvoiceElem></S:Body></S:Envelope>

Você tem um exemplo que funciona corretamente no ambiente de teste?

Muito obrigado
Uma saudação.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Antonio Valladares

Olá especialistas,

@StadaExp: Muito obrigado pela ajuda.

No final, o problema de env: Client - Internal Error foi colocar um / no final do URL.
Eu tinha posição: https://servicos.portaldasfinancas.gov.pt:700/fews/faturas/

O bom é: https://servicos.portaldasfinancas.gov.pt:700/fews/faturas

Agora, depois de resolver mais algum erro, você está me dando o seguinte problema.

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <SOAP-ENV:Fault>
         <faultcode>33</faultcode>
         <faultstring>mismatched tag, expected hr at offset 241 of</faultstring>
         <detail>fews.gdcontfsimpostosqua</detail>
      </SOAP-ENV:Fault>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

A mensagem que estou enviando é a seguinte:

<?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>vr+fxAksaRrOPtbJRNFhFg==</wss:Password>
<wss:Nonce>h81uCVwZCKNicu4gUx9odp9dYKpFTRklvCtlqiBbyS301kuhSvBx1qBKAnHExZELMCte3GSqzyaKoMPTKbyQxoyGyvkoxym9R/EIW2+hsfMvN4bI+nWSNJIEQjTvc5Oxd1mQNXdILA17xZibiuGPm33bqOj8Cdcxff43LHO1r40+EXwXsUr2n4Oorw3OBzpBWfVrbTvXj/EyzHFBpixIwQherlOFP3Qxyed63fnD28T9jmOe3dcEGzgb7F+4iSfASYWx+RK6u+hpQ9D5lRrDUzEEMymo6X/xqlLEnIpXm0NB2BpwUS8feo6KGkUbZJBgrY+6tcechd4CkvtoBTY3CQ==</wss:Nonce>
<wss:Created>Gtd3WU3KUVo6ty/HlqA7LHAWpp6pBeGMCr8vHx9XqSU=</wss:Created>
</wss:UsernameToken>
</wss:Security>
</S:Header>
<S:Body>
<ns0:RegisterInvoiceElem xmlns:ns0="http://servicos.portaldasfinancas.gov.pt/faturas/">
<TaxRegistrationNumber>599999993</TaxRegistrationNumber>
<ns0:InvoiceNo>DR 2019/1800000008</ns0:InvoiceNo>
<ns0:InvoiceDate>2018-05-16</ns0:InvoiceDate>
<ns0:InvoiceType>FT</ns0:InvoiceType>
<ns0:InvoiceStatus>N</ns0:InvoiceStatus>
<CustomerTaxID>599999994</CustomerTaxID>
<Line>
<ns0:CreditAmount>100.00</ns0:CreditAmount>
<ns0:Tax>
<ns0:TaxType>IVA</ns0:TaxType>
<ns0:TaxCountryRegion>PT</ns0:TaxCountryRegion>
<ns0:TaxPercentage>0</ns0:TaxPercentage>
</ns0:Tax>
<ns0:TaxExemptionReason>M08</ns0:TaxExemptionReason>
</Line>
<Line>
<ns0:CreditAmount>100.00</ns0:CreditAmount>
<ns0:Tax>
<ns0:TaxType>IVA</ns0:TaxType>
<ns0:TaxCountryRegion>PT</ns0:TaxCountryRegion>
<ns0:TaxPercentage>0</ns0:TaxPercentage>
</ns0:Tax>
<ns0:TaxExemptionReason>M08</ns0:TaxExemptionReason>
</Line>
<DocumentTotals>
<ns0:TaxPayable>0.00</ns0:TaxPayable>
<ns0:NetTotal>200.00</ns0:NetTotal>
<ns0:GrossTotal>200.00</ns0:GrossTotal>
</DocumentTotals>
</ns0:RegisterInvoiceElem>
</S:Body>
</S:Envelope>


Muito obrigado
Uma saudação.

  • Voto 1

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.