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

cjulio

Utilizar Webservices da AT

7173 mensagens neste tópico

Eu estava a ter "Internal Error" e neste momento já nao estou o problema é que "<s:Body>" não dá e com "<S:Body>" já dá.

Vê o post #492. O Internal Error é erro do lado do cliente. O 99 Erro Interno é do servidor (serviço da AT).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bom dia,

Pergunto se já alguém conseguiu comunicar com a AT e continua a comunicar? Tenho uma consola em C# que constrói o XML e envia o pedido baseado em posts que colocaram neste forum. No entanto, obtenho o erro Internal Error 500. Acrescentei a gravação no c:\ do pedido que está a ser feito.

Coloco a minha solução sob forma de link para ver se funciona na vossa máquina ou se percebem o que está a errado.

Podem utilizar também como ponto de partida.

https://skydrive.live.com/redir?resid=E191DCEDB563E50B!286

Obrigado.

Boa tarde,

Fiz o download da tua app, visto estar com o mesmo problema (Internal error 500) e a usar a mesma linguagem, apliquei os meus certificados e nada... continuo com a mesma resposta.

Já tens novidades? É que não consigo passar do Internal error 500.. Já alterei o corpo do xml milhentas vezes.... e nada.

Já tentei utilizar o código fonte em VB.NET do Carrolo disponível aqui:

http://www.portugal-a-programar.pt/topic/57734-utilizar-webservices-da-at-facturas-saft-pt/page__st__440#entry502200

e tenho a mesma resposta. Internal Error 500.

As facturas por webservices, foi muito mais fácil.

Se houver alguém com a estrutura em xml das guias contruída em C# que não esteja a receber o internal error 500 por fazer que coloquem no forum.

Tenho a certeza que não tenho problema nenhum no meu código é idêntico ao código aqui postado, só pode ser a estrutura do xml. A questão é saber qual o problema.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

estou a eniar e o servidor da AT está a validar mas o erro nao tem nada com nada (acho eu)

<?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>33</faultcode>
<faultstring>complex-type 2.4: in element CompanyAddress of type {https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/}AddressStructurePT, found <AddressDetail> (in default namespace), but next item should be end-element</faultstring>
<detail>sgdtws.gdgt</detail>
</SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>

e o que estou a enviar é:

<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>195295269/1</wss:Username>
    <wss:Password>PmhszlWgMuJmHHx4Hz6hxg==</wss:Password>
    <wss:Nonce>XOp/y5WNiw1c0d+19/tszKwBxteEKBRjDV+ErIRBEFmxWss53g83AQFiBS1bdEQyAkZJWsOc0QuwOsDpIVz7IXubw0O4SfNgPjKgq9WW12glgO45aVOH3CIDroNkNzAhk4/unaV9CO2n4X0+f6FqjvqAB2bEaNYGb5Q4QWuSHQQUannF4dCChzg/b+WEsZyHARzSGGKgWfmyQvjCHIQLJ8gOhLQeRTk01rEGitQKvxJFuc4M/pi5SfkCbN+NtA1KJEVdInaXw+LSC6WnVl9B5qkbrzpa990w7lCJhozk2Xei7IyVu/nHNqGtQ9ugbAm0hmH+8/VuFMx5+FMWmTxc1Q==</wss:Nonce>
    <wss:Created>5580kVI3jBmSiNFnp4tJJG8nIrw3/Zum8M/LOAn+jIo=</wss:Created>
  </wss:UsernameToken>
   </wss:Security>
 </S:Header>
 <S:Body>
   <ns2:envioDocumentoTransporteRequestElem xmlns:ns2="https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/">
  <TaxRegistrationNumber>195295269</TaxRegistrationNumber>
  <CompanyName>Carlos Mendes</CompanyName>
  <CompanyAddress>
    <AddressDetail>Rua Alexandre Herculano 60</AddressDetail>
    <City>Soure</City>
    <PostalCode>3130-219</PostalCode>
    <Country>PT</Country>
  </CompanyAddress>
  <DocumentNumber>GT 2013/1</DocumentNumber>
  <DocumentStatus>N</DocumentStatus>
  <MovementDate>2013-04-09</MovementDate>
  <MovementType>GT</MovementType>
  <CustomerTaxID>504512153</CustomerTaxID>
  <CustomerName>Servidor</CustomerName>
  <CostumerAddress>
    <AddressDetail>Rua Alexandre Herculano 60</AddressDetail>
    <City>Soure</City>
    <PostalCode>3130-219</PostalCode>
    <Country>PT</Country>
  </CostumerAddress>
  <AddressTo>
    <AddressDetail>Rua Alexandre Herculano 60</AddressDetail>
    <City>Soure</City>
    <PostalCode>3130-219</PostalCode>
    <Country>PT</Country>
  </AddressTo>
  <AddressFrom>
    <AddressDetail>Rua Alexandre Herculano 60</AddressDetail>
    <City>Soure</City>
    <PostalCode>3130-219</PostalCode>
    <Country>PT</Country>
  </AddressFrom>
  <MovementEndTime>2013-04-09T23:26:59</MovementEndTime>
  <MovementStartTime>2013-04-09T23:25:59</MovementStartTime>
  <VehicleID>80-15-NF</VehicleID>
  <Line>
    <ProductDescription>Artigo para entregar</ProductDescription>
    <Quantity>1.00</Quantity>
    <UnitOfMeasure>UNI</UnitOfMeasure>
    <UnitPrice>0.00</UnitPrice>
  </Line>
   </ns2:envioDocumentoTransporteRequestElem>
 </S:Body>
</S:Envelope>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa tarde,

Fiz o download da tua app, visto estar com o mesmo problema (Internal error 500) e a usar a mesma linguagem, apliquei os meus certificados e nada... continuo com a mesma resposta.

Já tens novidades? É que não consigo passar do Internal error 500.. Já alterei o corpo do xml milhentas vezes.... e nada.

Já tentei utilizar o código fonte em VB.NET do Carrolo disponível aqui:

http://www.portugal-a-programar.pt/topic/57734-utilizar-webservices-da-at-facturas-saft-pt/page__st__440#entry502200

e tenho a mesma resposta. Internal Error 500.

As facturas por webservices, foi muito mais fácil.

Se houver alguém com a estrutura em xml das guias contruída em C# que não esteja a receber o internal error 500 por fazer que coloquem no forum.

Tenho a certeza que não tenho problema nenhum no meu código é idêntico ao código aqui postado, só pode ser a estrutura do xml. A questão é saber qual o problema.

É a consola de C# certo? Então no main faça Console.WriteLine(send()); Vão logo começar a aparecer os erros de estrutura do XML.

Cpts

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

estou a eniar e o servidor da AT está a validar mas o erro nao tem nada com nada (acho eu)

<?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>33</faultcode>
<faultstring>complex-type 2.4: in element CompanyAddress of type {https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/}AddressStructurePT, found <AddressDetail> (in default namespace), but next item should be end-element</faultstring>
<detail>sgdtws.gdgt</detail>
</SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>

e o que estou a enviar é:

<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>195295269/1</wss:Username>
	<wss:Password>PmhszlWgMuJmHHx4Hz6hxg==</wss:Password>
	<wss:Nonce>XOp/y5WNiw1c0d+19/tszKwBxteEKBRjDV+ErIRBEFmxWss53g83AQFiBS1bdEQyAkZJWsOc0QuwOsDpIVz7IXubw0O4SfNgPjKgq9WW12glgO45aVOH3CIDroNkNzAhk4/unaV9CO2n4X0+f6FqjvqAB2bEaNYGb5Q4QWuSHQQUannF4dCChzg/b+WEsZyHARzSGGKgWfmyQvjCHIQLJ8gOhLQeRTk01rEGitQKvxJFuc4M/pi5SfkCbN+NtA1KJEVdInaXw+LSC6WnVl9B5qkbrzpa990w7lCJhozk2Xei7IyVu/nHNqGtQ9ugbAm0hmH+8/VuFMx5+FMWmTxc1Q==</wss:Nonce>
	<wss:Created>5580kVI3jBmSiNFnp4tJJG8nIrw3/Zum8M/LOAn+jIo=</wss:Created>
  </wss:UsernameToken>
</wss:Security>
 </S:Header>
 <S:Body>
<ns2:envioDocumentoTransporteRequestElem xmlns:ns2="https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/">
  <TaxRegistrationNumber>195295269</TaxRegistrationNumber>
  <CompanyName>Carlos Mendes</CompanyName>
  <CompanyAddress>
	<AddressDetail>Rua Alexandre Herculano 60</AddressDetail>
	<City>Soure</City>
	<PostalCode>3130-219</PostalCode>
	<Country>PT</Country>
  </CompanyAddress>
  <DocumentNumber>GT 2013/1</DocumentNumber>
  <DocumentStatus>N</DocumentStatus>
  <MovementDate>2013-04-09</MovementDate>
  <MovementType>GT</MovementType>
  <CustomerTaxID>504512153</CustomerTaxID>
  <CustomerName>Servidor</CustomerName>
  <CostumerAddress>
	<AddressDetail>Rua Alexandre Herculano 60</AddressDetail>
	<City>Soure</City>
	<PostalCode>3130-219</PostalCode>
	<Country>PT</Country>
  </CostumerAddress>
  <AddressTo>
	<AddressDetail>Rua Alexandre Herculano 60</AddressDetail>
	<City>Soure</City>
	<PostalCode>3130-219</PostalCode>
	<Country>PT</Country>
  </AddressTo>
  <AddressFrom>
	<AddressDetail>Rua Alexandre Herculano 60</AddressDetail>
	<City>Soure</City>
	<PostalCode>3130-219</PostalCode>
	<Country>PT</Country>
  </AddressFrom>
  <MovementEndTime>2013-04-09T23:26:59</MovementEndTime>
  <MovementStartTime>2013-04-09T23:25:59</MovementStartTime>
  <VehicleID>80-15-NF</VehicleID>
  <Line>
	<ProductDescription>Artigo para entregar</ProductDescription>
	<Quantity>1.00</Quantity>
	<UnitOfMeasure>UNI</UnitOfMeasure>
	<UnitPrice>0.00</UnitPrice>
  </Line>
</ns2:envioDocumentoTransporteRequestElem>
 </S:Body>
</S:Envelope>

<Addressdetail> e não <AddressDetail>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Finalmente está a funcionar!!!!!!

<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header><work:WorkContext xmlns:work="http://oracle.com/weblogic/soap/workarea/">rO0ABXdZAB53ZWJsb2dpYy5hcHAuU0dEVFdTLTEuMS40LjAwODkAAADWAAAAI3dlYmxvZ2ljLndvcmthcmVhLlN0cmluZ1dvcmtDb250ZXh0AAoxLjEuNC4wMDg5AAA=</work:WorkContext></S:Header><S:Body><ns0:envioDocumentoTransporteResponseElem xmlns:ns0="https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/"><ResponseStatus><ReturnCode>0</ReturnCode><ReturnMessage>OK</ReturnMessage></ResponseStatus><DocumentNumber>1500 20131/6</DocumentNumber><ATDocCodeID>000000418</ATDocCodeID></ns0:envioDocumentoTransporteResponseElem></S:Body></S:Envelope>

Editado por Carrolo
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Malta...

Eu já consigo submeter documentos com sucesso! :)


<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header><work:WorkContext xmlns:work="http://oracle.com/weblogic/soap/workarea/">rO0ABXdZAB53ZWJsb2dpYy5hcHAuU0dEVFdTLTEuMS40LjAwODkAAADWAAAAI3dlYmxvZ2ljLndvcmthcmVhLlN0cmluZ1dvcmtDb250ZXh0AAoxLjEuNC4wMDg5AAA=</work:WorkContext></S:Header><S:Body><ns0:envioDocumentoTransporteResponseElem xmlns:ns0="https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/"><ResponseStatus><ReturnCode>3</ReturnCode><ReturnMessage>Já foi inserido um Documento de Transporte com o número fornecido.</ReturnMessage></ResponseStatus></ns0:envioDocumentoTransporteResponseElem></S:Body></S:Envelope>

<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Header><work:WorkContext xmlns:work="http://oracle.com/weblogic/soap/workarea/">rO0ABXdZAB53ZWJsb2dpYy5hcHAuU0dEVFdTLTEuMS40LjAwODkAAADWAAAAI3dlYmxvZ2ljLndvcmthcmVhLlN0cmluZ1dvcmtDb250ZXh0AAoxLjEuNC4wMDg5AAA=</work:WorkContext></S:Header><S:Body><ns0:envioDocumentoTransporteResponseElem xmlns:ns0="https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/"><ResponseStatus><ReturnCode>3</ReturnCode><ReturnMessage>Já foi inserido um Documento de Transporte com o número fornecido.</ReturnMessage></ResponseStatus></ns0:envioDocumentoTransporteResponseElem></S:Body></S:Envelope>

Editado por tony.amfo
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

yeaaaa o meu tb....

Estes gajos trabalham a carvão.....lol

comprimentos

EM

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

yeaaaa o meu tb....

Estes gajos trabalham a carvão.....lol

comprimentos

EM

Finalmente!!

Se for possível coloquem o xml do pedido. Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quem conseguiu, alterou alguma coisa no código que tinha?

A mim continua a retornar o erro 99 Erro Interno.

cmps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Parece que desta vez a que é! Com algumas surpresas pelo caminho mas já estou a obter retorno. Vou «limpar o código» (VB.Net) e postar aqui A.S.A.P.

É claro que tive a ajuda preciosa de alguns posts aqui do fórum. Sem essa ajuda não teria chegado a lado nenhum. Estou às cavalitas de gente muito competente. Obrigado pessoal, bem hajam :-)

1

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quem conseguiu, alterou alguma coisa no código que tinha?

A mim continua a retornar o erro 99 Erro Interno.

cmps

Não alterei nada, mudou de erro 99 para ok e:S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas a mim agora esta a dar:

<?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>11</faultcode>
<faultstring>Rejected:   |  Codigo: 11  |  Erro: Validade da credencial expirada(2013-04-09T17:54:25.25Z)  |  Tentativas Restantes: -1</faultstring>
<detail>sgdtws.gdgt</detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>

Já li aqui que poderá ter a ver com a hora mas estou a usar:

DateTime.Now.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ss.ff") + "Z"

Afinal já está era a hora do meu computador.

Obrigado.

Editado por cjulio
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

em vb.net como consigo indicar que se trata de CustomerTaxID ou SupplierTaxID

estou a fazer assim mas não valida na at

Dim stropcoes() As Object = New Object() {"CustomerTaxID", "999999990"}
doc.Item = stropcoes.ToString()

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

As minhas conclusões sobre toda esta problemática do INTERNAL ERROR:

Acabei de enviar um email à AT:

Exmos srs,

Agradeço informações TÉCNICAS DETALHADAS sobre o SERVIÇO de envio documentos de transporte, nomeadamente se suporta JAX

Estou há DIAS a testar a implementação do envio de Documentos de Transporte, com a especificação compilada em JAVA sobre JAX (tal como acontece com o serviço de FACTURAS, aliás, método utilizado por v.exas na APPLET de testes para o serviço de FACTURAS).

O serviço de envio de FACTURAS funciona perfeitamente. E quando NÃO funciona, devolve um ERRO ESPECÍFICO. Com o serviço de envio de Documentos de Transporte, são obtidos todos os tipos de problemas, nomeadamente, ERROS DE PARSE da mensagem de retorno, ERROS INTERNOS do serviço, etc etc etc. Para ser concreto, testei o serviço com todas as formatações de XML possíveis. Até mesmo um XML sem conteúdo...

O que me leva a crer que o serviço foi implementado de forma TOTALMENTE "incompatível" relativamente ao serviço de envio de FACTURAS.

Aguardo resposta urgente.

Reparem neste LOG de erros:

javax.xml.ws.soap.SOAPFaultException: Internal Error
at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:188)
at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:122)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
at com.sun.proxy.$Proxy30.envioDocumentoTransporte(Unknown Source)

at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:188)

Editado por marcolopes
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aos interessados no tema da .NET Compact Framework, já consegui comunicar guias de transporte com sucesso e obter o respectivo código atribuído pela AT.

Logo que possa - amanhã não vai dar - coloco o código online. No entanto, para carregar o pfx e usá-lo para a comunicação segura e para utilizar o .cer para obter o "nonce", tive de recorrer a uma biblioteca de terceiros, que vamos licenciar. A biblioteca em causa é esta: http://www.eldos.com/sbb/desc-pki.php e tem trial funcional disponível.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não alterei nada, mudou de erro 99 para ok e:S

Continuo com o erro 99. podes enviar o XML do pedido?

Alguem tem isto a funcionar com JAVA? eu usei o source da AT como base, alguem tem source de exemplo em java para eu verificar o que tenho errado no meu código?

obg

Editado por thoga31
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa noite,

preciso de criar uma dll em c# para envio de documentos de transporte, toda a ajuda seria muito agradecida, não percebo muito de c# e estou completamente à nora.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Continuo com o erro 99. podes enviar o XML do pedido?

Alguem tem isto a funcionar com JAVA? eu usei o source da AT como base, alguem tem source de exemplo em java para eu verificar o que tenho errado no meu código?

Lê a resposta #517

Editado por marcolopes
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa noite a todos e muito obrigado pela vossa ajuda...

Relativamente ao Java posso confirmar que está a funcionar sem problemas com "JAX-WS 2.2.6"

Se seguirem o exemplo das facturas e alterarem Docs de Transporte Funciona.

Tenho o codigo a funcionar en NetBeans sem problemas.

1

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa noite,

Quero agradecer a todos os programadores que me ajudarem ao postar os códigos. Neste momento estou com erro 99 - Erro: Atingido o número maximo de tentativas de login.\nPara sua segurança o seu acesso foi temporariamente bloqueado. Amanhã tenho que confirmar a palavra passe que me foi dado pela Administração da empresa pela qual trabalho.

Mais uma vez obrigado a todos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa noite a todos e muito obrigado pela vossa ajuda...

Relativamente ao Java posso confirmar que está a funcionar sem problemas com "JAX-WS 2.2.6"

Se seguirem o exemplo das facturas e alterarem Docs de Transporte Funciona.

Tenho o codigo a funcionar en NetBeans sem problemas.

É te possivel partilhares o codígo fonte? eu também parti do das faturas mas não estou a conseguir sair do codigo 99 - Erro interno

obg

Lê a resposta #517

Fico confuso quando na resposta #522, indicam que o processo está ok.

Ainda estás no erro 99-Erro interno?

obg

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa noite JAOS,

Conseguiste fazer isto com o openssl ?

Boa Tarde,

gostaria de saber se alguem me pode ajudar com a criação da chave nonce para o Serviço Webservice da AT através do openssl.

Os comandos que estou a utilizar são os seguintes:

- openssl rand -base64 32 -out key.txt

de seguida:

- type key.txt|openssl rsautl -encrypt -inkey chavepub.cer -pubin|openssl enc -base64

ao autenticar o erro é sempre "8" não foi possivel decifrar o campo.

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