marcolopes 449 Posted June 30, 2013 Report Share Posted June 30, 2013 (edited) Pelo menos no envio por WebService há tolerância de 5min. Ou seja, podes comunicar até às 10h05 um documento com início de transporte no próprio dia às 10h00. Ou, antes, pelo menos havia tolerância!... com todas as alterações que já fizeram ao serviço já não estou capaz de poder afirmar. Exacto. Eu andei a adicionar "tempo" ás datas para evitar "bater" nas verificações do webservice. Como neste momento não tenho forma de testar, alguém confirma que a regra dos 5 minutos se mantém? Assim sendo, posso simplesmente colocar MovementStartTime = data actual. estamos a 15min da entrada oficial e... nada Agora que o dizes... nem tinha reparado que daqui a 10 minutos já é dia 1... :-) Edited June 30, 2013 by marcolopes The simplest explanation is usually the correct one JAVA Utilities: https://github.com/marcolopes/dma Link to post Share on other sites
sfxcc 8 Posted June 30, 2013 Report Share Posted June 30, 2013 Arrancou a palhaçada pessoal ...((((((((((((((((((( Link to post Share on other sites
nunopicado 1,251 Posted June 30, 2013 Report Share Posted June 30, 2013 Bem, dia 1... Foi um prazer conhecer-vos! Quem fez, fez! Quem não fez, terá de fazer "à patrão", que é como quem diz, em produção! Boa sorte a todos, e que os bytes estejam convosco! 1 Report "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum. Link to post Share on other sites
sfxcc 8 Posted June 30, 2013 Report Share Posted June 30, 2013 Bem, dia 1... Foi um prazer conhecer-vos! Quem fez, fez! Quem não fez, terá de fazer "à patrão", que é como quem diz, em produção! Boa sorte a todos, e que os bytes estejam convosco! LOL...... Link to post Share on other sites
João Felix Moreira 2 Posted June 30, 2013 Report Share Posted June 30, 2013 LOL...... Exigimos muito. Para já obtenho "The operation has timed out". Link to post Share on other sites
resmunga 47 Posted June 30, 2013 Report Share Posted June 30, 2013 Exigimos muito. Para já obtenho "The operation has timed out". o site, pelo menos, não responde... Link to post Share on other sites
Popular Post pacpintob 5 Posted June 30, 2013 Popular Post Report Share Posted June 30, 2013 Bem, dia 1... Foi um prazer conhecer-vos! Quem fez, fez! Quem não fez, terá de fazer "à patrão", que é como quem diz, em produção! Boa sorte a todos, e que os bytes estejam convosco! Boas, Yay! arrancou... ou melhor, não... quer dizer, coize... uhm... não funciona, hoje desde as 3 da tarde não consegui mandar 1 unico documentozinho 1 unico que fosse... O que é mesmo mesmo mesmo triste é que nós fizemos a nossa parte, uns melhor, outros pior, com mais ou menos dificuldade, a trabalhar em overtime, à base de café e donuts... e por causa do amadorismo e percipitação dos Srs. da AT amanhã vamos ter um dia de cão. Boa sorte a todos, que os bytes estejam convosco, mas acima de tudo, que uma luzinha ilumine os iluminados da AT. 3 Report Link to post Share on other sites
João Felix Moreira 2 Posted June 30, 2013 Report Share Posted June 30, 2013 Boas, Yay! arrancou... ou melhor, não... quer dizer, coize... uhm... não funciona, hoje desde as 3 da tarde não consegui mandar 1 unico documentozinho 1 unico que fosse... O que é mesmo mesmo mesmo triste é que nós fizemos a nossa parte, uns melhor, outros pior, com mais ou menos dificuldade, a trabalhar em overtime, à base de café e donuts... e por causa do amadorismo e percipitação dos Srs. da AT amanhã vamos ter um dia de cão. Boa sorte a todos, que os bytes estejam convosco, mas acima de tudo, que uma luzinha ilumine os iluminados da AT. Concordo. Acho que vou ver mais um pouco do HULK, e vou tentar mais lá para a 1 da manhã. Por descargo de consciência. Link to post Share on other sites
sfxcc 8 Posted June 30, 2013 Report Share Posted June 30, 2013 Sorte tem agente de não ser envio do documento de transporte por carta registada.... tinhamos de comunicar ai com uns dias de antecedencia 1 semanita.... vá lá não se lembraram deste meio de comunicação Link to post Share on other sites
João Felix Moreira 2 Posted June 30, 2013 Report Share Posted June 30, 2013 Sorte tem agente de não ser envio do documento de transporte por carta registada.... tinhamos de comunicar ai com uns dias de antecedencia 1 semanita.... vá lá não se lembraram deste meio de comunicação Já agora se entrarem no site da e-fatura, também não está com o melhor aspeto. Link to post Share on other sites
Popular Post marcolopes 449 Posted June 30, 2013 Popular Post Report Share Posted June 30, 2013 Boa sorte a todos, que os bytes estejam convosco, mas acima de tudo, que uma luzinha ilumine os iluminados da AT. Uma LUZINHA? Queres dizer... NÓS... os beta-testers e escravos do sistema! Foram muitas dezenas de emails de recomendações enviados, problemas reportados, sugestões... Não era dificil de prever que as coisas não iriam correr da melhor forma. Também foi fácil de prever que as coimas teriam de ficar suspensas até nova ordem.. Sistemas desta "envergadura" necessitam de uma grande análise prévia, e de feedback, tanto das empresas como das software houses. Deveria ter sido criada uma plataforma colaborativa para contacto directo entre a AT e os produtores de software, bem como com as empresas, onde as dúvidas, problemas, sugestões, pudessem ser abertas e comentadas, até serem resolvidas ou abandonadas. Aliás, tal como DITO AQUI (e passo a citar): http://info.portaldasfinancas.gov.pt/NR/rdonlyres/07A23F83-95A0-43F3-8988-F88A74484C6C/0/Comunicado.pdf Esta reforma foi aprovada em julho de 2012. Desde desse momento que foi mantido um diálogo permanente, empenhado e construtivo com as empresas e as associações sectoriais, visando a eficiência do sistema e a sua adequação às necessidades e condicionalismos das empresas. Em resultado deste processo de colaboração mútua, o sistema informático de gestão dos documentos de transporte, foi disponibilizado no Portal das Finanças, a título experimental, desde o passado dia 2 de abril, proporcionando às empresas a possibilidade de testarem o seu funcionamento, de forma a adaptarem-se para a entrada em vigor do novo regime. Gostava de saber QUAIS foram as empresas (e software houses???) que foram as PRIVELIGIADAS nesse PROCESSO de COLABORAÇÃO! Onde está a transparência do sistema?? :-\ 5 Report The simplest explanation is usually the correct one JAVA Utilities: https://github.com/marcolopes/dma Link to post Share on other sites
sfxcc 8 Posted June 30, 2013 Report Share Posted June 30, 2013 Uma LUZINHA? Queres dizer... NÓS... os beta-testers e escravos do sistema! Foram muitas dezenas de emails de recomendações enviados, problemas reportados, sugestões... Não era dificil de prever que as coisas não iriam correr da melhor forma. Também foi fácil de prever que as coimas teriam de ficar suspensas até nova ordem.. Sistemas desta "envergadura" necessitam de uma grande análise prévia, e de feedback, tanto das empresas como das software houses. Deveria ter sido criada uma plataforma colaborativa para contacto directo entre a AT e os produtores de software, bem como com as empresas, onde as dúvidas, problemas, sugestões, pudessem ser abertas e comentadas, até serem resolvidas ou abandonadas. Aliás, tal como DITO AQUI (e passo a citar): http://info.portaldasfinancas.gov.pt/NR/rdonlyres/07A23F83-95A0-43F3-8988-F88A74484C6C/0/Comunicado.pdf Gostava de saber QUAIS foram as empresas (e software houses???) que foram as PRIVELIGIADAS nesse PROCESSO de COLABORAÇÃO! Onde está a transparência do sistema?? :-\ Tamos contigo ... voto em ti Marco.... Só que somos provavelmente dois pequeninos... pelo menos eu sou tenho meia duzia de clientes... e estou a ter um trabalha de tal envergadura que só visto... Indaa por cima trabalho por ocnta de terceiros... logo não tenho o tempo todo para isto... resumindo estou completamente estafado com isto tive de pedir ferias ao patrao para acabar isto... o interese é que o pequeno acabe porque não..... prontos nãos os conhecemos pessoalmente.... e quando for esse o caso é para nos prender... Link to post Share on other sites
ngiestas 0 Posted June 30, 2013 Report Share Posted June 30, 2013 boa noite pessoal, estou a ter um problema com a codifição do nonce penso eu... uso o vb.net e este é o meu código: Function AtEnviaDocumento() '-------------------------------------------------------------------------- ' Variavais '-------------------------------------------------------------------------- Dim ComandoEnvio, OperacaoEnvio, OpPortFact, OpPortGuia, Envelope, WebServiceAT, WebSOAPAction, CaminhoCert, PasswordCert, UsernameDoc, PasswordDoc OperacaoEnvio = "factura" 'ComandoEnvio = "MostraEnvelope" ComandoEnvio = "EnviarDocumento" CaminhoCert = "D:\Inetpub\_testes\cert\TestesWebServices.pfx" PasswordCert = "TESTEwebservice" UsernameDoc = "599999993/0037" PasswordDoc = "testes1234" OpPortFact = "700" OpPortGuia = "701" IF OperacaoEnvio = "factura" THEN WebServiceAT = "https://servicos.portaldasfinancas.gov.pt:" & OpPortFact & "/fews/faturas" WebSOAPAction = "http://servicos.portaldasfinancas.gov.pt/faturas/RegisterInvoice" ELSE WebServiceAT = "https://servicos.portaldasfinancas.gov.pt:" & OpPortGuia & "/sgdtws/documentosTransporte" WebSOAPAction = "https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/" END IF '-------------------------------------------------------------------------- ' Variaveis a encriptar '-------------------------------------------------------------------------- Dim PassFinancas As String = PasswordDoc Dim DataCriacao As String = Date.Now.ToString("yyyy-MM-ddTHH:mm:ss.ff") & "Z" '-------------------------------------------------------------------------- ' Carregar chave publica '-------------------------------------------------------------------------- Dim CaminhoChavePublica As String = CaminhoCert Dim certCP As New X509Certificate2 certCP.Import(CaminhoChavePublica, PasswordCert, X509KeyStorageFlags.DefaultKeySet) Dim ChavePublica As String = certCP.PublicKey.Key.ToXmlString(False) Dim ChaveSimetrica(15) As Byte Dim aleatorios As New Random() aleatorios.NextBytes(ChaveSimetrica) '-------------------------------------------------------------------------- ' Inserir Chave Simetrica nos parametros de encriptação '-------------------------------------------------------------------------- Dim rijn As SymmetricAlgorithm = SymmetricAlgorithm.Create() rijn.Key = ChaveSimetrica rijn.IV = ChaveSimetrica rijn.Mode = CipherMode.ECB rijn.Padding = PaddingMode.PKCS7 '-------------------------------------------------------------------------- ' Encriptar password das financas '-------------------------------------------------------------------------- Dim msPassFinancas As New MemoryStream Dim csPassFinancas As New CryptoStream(msPassFinancas, rijn.CreateEncryptor(rijn.Key, rijn.IV), CryptoStreamMode.Write) Using swPassFinancas As New StreamWriter(csPassFinancas) swPassFinancas.Write(PassFinancas) End Using '-------------------------------------------------------------------------- ' Encriptar data '-------------------------------------------------------------------------- Dim msDataCriacao As New MemoryStream Dim csDataCriacao As New CryptoStream(msDataCriacao, rijn.CreateEncryptor(rijn.Key, rijn.IV), CryptoStreamMode.Write) Using swDataCriacao As New StreamWriter(csDataCriacao) swDataCriacao.Write(DataCriacao, 0, DataCriacao) csDataCriacao.FlushFinalBlock() End Using '-------------------------------------------------------------------------- ' Converter de bytes para string '-------------------------------------------------------------------------- Dim encryptPass, encryptDate, mNonce Dim PassFinancasEncriptada As String = System.Convert.ToBase64String(msPassFinancas.ToArray()) encryptPass = PassFinancasEncriptada Dim DataCriacaoEncriptada As String = System.Convert.ToBase64String(msDataCriacao.ToArray()) encryptDate = DataCriacaoEncriptada '-------------------------------------------------------------------------- ' Encriptar a chave simetrica com o algoritmo RSA e com a chave pública '-------------------------------------------------------------------------- Dim AlgRSA As New RSACryptoServiceProvider AlgRSA.FromXmlString(ChavePublica) Dim Chave() As Byte = AlgRSA.Encrypt(ChaveSimetrica, False) Dim ChaveSimetricaEncriptada As String = System.Convert.ToBase64String(Chave) mNonce = ChaveSimetricaEncriptada '-------------------------------------------------------------------------- ' Cria o envelope '-------------------------------------------------------------------------- IF OperacaoEnvio = "factura" THEN Envelope = "<?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>" & UsernameDoc & " </wss:Username><wss:Password>" & encryptPass & "</wss:Password><wss:Nonce>" & mNonce & "</wss:Nonce><wss:Created>" & encryptDate & "</wss:Created></wss:UsernameToken></wss:Security></S:Header><S:Body><ns2:RegisterInvoiceElem xmlns:ns2='http://servicos.portaldasfinancas.gov.pt/faturas/'><TaxRegistrationNumber>599999993</TaxRegistrationNumber><ns2:InvoiceNo>- /1</ns2:InvoiceNo><ns2:InvoiceDate>2012-05-05</ns2:InvoiceDate><ns2:InvoiceType>FT</ns2:InvoiceType><ns2:InvoiceStatus>N</ns2:InvoiceStatus><CustomerTaxID>299999998</CustomerTaxID><Line><ns2:CreditAmount>100</ns2:CreditAmount><ns2:Tax><ns2:TaxType>IVA</ns2:TaxType><ns2:TaxCountryRegion>PT</ns2:TaxCountryRegion><ns2:TaxPercentage>23</ns2:TaxPercentage></ns2:Tax></Line><DocumentTotals><ns2:TaxPayable>23</ns2:TaxPayable><ns2:NetTotal>100</ns2:NetTotal><ns2:GrossTotal>123</ns2:GrossTotal></DocumentTotals></ns2:RegisterInvoiceElem></S:Body></S:Envelope>" ELSE Envelope = "<?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>" & UsernameDoc & "</wss:Username><wss:Password>" & encryptPass & "</wss:Password><wss:Nonce>" & mNonce & "</wss:Nonce><wss:Created>" & encryptDate & "</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>11</DocumentNumber><MovementStatus>N</MovementStatus><MovementDate>2013-06-17Z</MovementDate><MovementType>GR</MovementType><CustomerTaxID>599999993</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>2013-07-17T05:42:26.452+01:00</MovementEndTime><MovementStartTime>2013-07-17T04:42:26.452+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>" END IF '-------------------------------------------------------------------------- ' Mostra o envelope '-------------------------------------------------------------------------- IF ComandoEnvio = "MostraEnvelope" THEN Response.Write(Envelope) END IF '-------------------------------------------------------------------------- ' Envia o documento '-------------------------------------------------------------------------- IF ComandoEnvio = "EnviarDocumento" THEN Try Dim request As HttpWebRequest = CType(HttpWebRequest.Create(WebServiceAT), HttpWebRequest) request.Headers.Add("SOAPAction", WebSOAPAction) Dim cert As New X509Certificate2 cert.Import(CaminhoCert, PasswordCert, X509KeyStorageFlags.DefaultKeySet) request.ClientCertificates.Add(cert) request.Method = "POST" request.ContentType = "text/xml; charset=utf-8" request.Accept = "text/xml" Dim postData As String = Envelope Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData) request.ContentLength = byteArray.Length Dim dataStream As Stream = request.GetRequestStream() dataStream.Write(byteArray, 0, byteArray.Length) dataStream.Close() Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse) dataStream = response.GetResponseStream() Dim reader As New StreamReader(dataStream) Dim responseFromServer As String = reader.ReadToEnd() reader.Close() dataStream.Close() response.Close() '-------------------------------------------------------------------------- ' Responde em caso de erro '-------------------------------------------------------------------------- Return responseFromServer Catch ex As WebException If ex.Status = WebExceptionStatus.ProtocolError Then Dim resp As WebResponse = ex.Response Dim sr As StreamReader = New StreamReader(resp.GetResponseStream()) Return sr.ReadToEnd() Else Return ex.Message End If End Try END IF '-------------------------------------------------------------------------- '-------------------------------------------------------------------------- End Function estou a receber este erro: <?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>8 </faultcode> <faultstring>Rejected: | Codigo: 8 | Erro: Nonce: Não foi possível decifrar o campo | Tentativas Restantes: -1</faultstring> <detail>fews.gdcontfsimpostos</detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope> alguém me pode ajudar? Link to post Share on other sites
João Felix Moreira 2 Posted June 30, 2013 Report Share Posted June 30, 2013 Tamos contigo ... voto em ti Marco.... Só que somos provavelmente dois pequeninos... pelo menos eu sou tenho meia duzia de clientes... e estou a ter um trabalha de tal envergadura que só visto... Indaa por cima trabalho por ocnta de terceiros... logo não tenho o tempo todo para isto... resumindo estou completamente estafado com isto tive de pedir ferias ao patrao para acabar isto... o interese é que o pequeno acabe porque não..... prontos nãos os conhecemos pessoalmente.... e quando for esse o caso é para nos prender... Neste momento (tal como vóz tenho acompanhado o arraque), e já obtenho uma resposta. Não consegue descodificar o Nonce. Não sei se vos está a acontecer o mesmo ? boa noite pessoal, estou a ter um problema com a codifição do nonce penso eu... uso o vb.net e este é o meu código: Function AtEnviaDocumento() '-------------------------------------------------------------------------- ' Variavais '-------------------------------------------------------------------------- Dim ComandoEnvio, OperacaoEnvio, OpPortFact, OpPortGuia, Envelope, WebServiceAT, WebSOAPAction, CaminhoCert, PasswordCert, UsernameDoc, PasswordDoc OperacaoEnvio = "factura" 'ComandoEnvio = "MostraEnvelope" ComandoEnvio = "EnviarDocumento" CaminhoCert = "D:\Inetpub\_testes\cert\TestesWebServices.pfx" PasswordCert = "TESTEwebservice" UsernameDoc = "599999993/0037" PasswordDoc = "testes1234" OpPortFact = "700" OpPortGuia = "701" IF OperacaoEnvio = "factura" THEN WebServiceAT = "https://servicos.portaldasfinancas.gov.pt:" & OpPortFact & "/fews/faturas" WebSOAPAction = "http://servicos.portaldasfinancas.gov.pt/faturas/RegisterInvoice" ELSE WebServiceAT = "https://servicos.portaldasfinancas.gov.pt:" & OpPortGuia & "/sgdtws/documentosTransporte" WebSOAPAction = "https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/" END IF '-------------------------------------------------------------------------- ' Variaveis a encriptar '-------------------------------------------------------------------------- Dim PassFinancas As String = PasswordDoc Dim DataCriacao As String = Date.Now.ToString("yyyy-MM-ddTHH:mm:ss.ff") & "Z" '-------------------------------------------------------------------------- ' Carregar chave publica '-------------------------------------------------------------------------- Dim CaminhoChavePublica As String = CaminhoCert Dim certCP As New X509Certificate2 certCP.Import(CaminhoChavePublica, PasswordCert, X509KeyStorageFlags.DefaultKeySet) Dim ChavePublica As String = certCP.PublicKey.Key.ToXmlString(False) Dim ChaveSimetrica(15) As Byte Dim aleatorios As New Random() aleatorios.NextBytes(ChaveSimetrica) '-------------------------------------------------------------------------- ' Inserir Chave Simetrica nos parametros de encriptação '-------------------------------------------------------------------------- Dim rijn As SymmetricAlgorithm = SymmetricAlgorithm.Create() rijn.Key = ChaveSimetrica rijn.IV = ChaveSimetrica rijn.Mode = CipherMode.ECB rijn.Padding = PaddingMode.PKCS7 '-------------------------------------------------------------------------- ' Encriptar password das financas '-------------------------------------------------------------------------- Dim msPassFinancas As New MemoryStream Dim csPassFinancas As New CryptoStream(msPassFinancas, rijn.CreateEncryptor(rijn.Key, rijn.IV), CryptoStreamMode.Write) Using swPassFinancas As New StreamWriter(csPassFinancas) swPassFinancas.Write(PassFinancas) End Using '-------------------------------------------------------------------------- ' Encriptar data '-------------------------------------------------------------------------- Dim msDataCriacao As New MemoryStream Dim csDataCriacao As New CryptoStream(msDataCriacao, rijn.CreateEncryptor(rijn.Key, rijn.IV), CryptoStreamMode.Write) Using swDataCriacao As New StreamWriter(csDataCriacao) swDataCriacao.Write(DataCriacao, 0, DataCriacao) csDataCriacao.FlushFinalBlock() End Using '-------------------------------------------------------------------------- ' Converter de bytes para string '-------------------------------------------------------------------------- Dim encryptPass, encryptDate, mNonce Dim PassFinancasEncriptada As String = System.Convert.ToBase64String(msPassFinancas.ToArray()) encryptPass = PassFinancasEncriptada Dim DataCriacaoEncriptada As String = System.Convert.ToBase64String(msDataCriacao.ToArray()) encryptDate = DataCriacaoEncriptada '-------------------------------------------------------------------------- ' Encriptar a chave simetrica com o algoritmo RSA e com a chave pública '-------------------------------------------------------------------------- Dim AlgRSA As New RSACryptoServiceProvider AlgRSA.FromXmlString(ChavePublica) Dim Chave() As Byte = AlgRSA.Encrypt(ChaveSimetrica, False) Dim ChaveSimetricaEncriptada As String = System.Convert.ToBase64String(Chave) mNonce = ChaveSimetricaEncriptada '-------------------------------------------------------------------------- ' Cria o envelope '-------------------------------------------------------------------------- IF OperacaoEnvio = "factura" THEN Envelope = "<?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>" & UsernameDoc & " </wss:Username><wss:Password>" & encryptPass & "</wss:Password><wss:Nonce>" & mNonce & "</wss:Nonce><wss:Created>" & encryptDate & "</wss:Created></wss:UsernameToken></wss:Security></S:Header><S:Body><ns2:RegisterInvoiceElem xmlns:ns2='http://servicos.portaldasfinancas.gov.pt/faturas/'><TaxRegistrationNumber>599999993</TaxRegistrationNumber><ns2:InvoiceNo>- /1</ns2:InvoiceNo><ns2:InvoiceDate>2012-05-05</ns2:InvoiceDate><ns2:InvoiceType>FT</ns2:InvoiceType><ns2:InvoiceStatus>N</ns2:InvoiceStatus><CustomerTaxID>299999998</CustomerTaxID><Line><ns2:CreditAmount>100</ns2:CreditAmount><ns2:Tax><ns2:TaxType>IVA</ns2:TaxType><ns2:TaxCountryRegion>PT</ns2:TaxCountryRegion><ns2:TaxPercentage>23</ns2:TaxPercentage></ns2:Tax></Line><DocumentTotals><ns2:TaxPayable>23</ns2:TaxPayable><ns2:NetTotal>100</ns2:NetTotal><ns2:GrossTotal>123</ns2:GrossTotal></DocumentTotals></ns2:RegisterInvoiceElem></S:Body></S:Envelope>" ELSE Envelope = "<?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>" & UsernameDoc & "</wss:Username><wss:Password>" & encryptPass & "</wss:Password><wss:Nonce>" & mNonce & "</wss:Nonce><wss:Created>" & encryptDate & "</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>11</DocumentNumber><MovementStatus>N</MovementStatus><MovementDate>2013-06-17Z</MovementDate><MovementType>GR</MovementType><CustomerTaxID>599999993</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>2013-07-17T05:42:26.452+01:00</MovementEndTime><MovementStartTime>2013-07-17T04:42:26.452+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>" END IF '-------------------------------------------------------------------------- ' Mostra o envelope '-------------------------------------------------------------------------- IF ComandoEnvio = "MostraEnvelope" THEN Response.Write(Envelope) END IF '-------------------------------------------------------------------------- ' Envia o documento '-------------------------------------------------------------------------- IF ComandoEnvio = "EnviarDocumento" THEN Try Dim request As HttpWebRequest = CType(HttpWebRequest.Create(WebServiceAT), HttpWebRequest) request.Headers.Add("SOAPAction", WebSOAPAction) Dim cert As New X509Certificate2 cert.Import(CaminhoCert, PasswordCert, X509KeyStorageFlags.DefaultKeySet) request.ClientCertificates.Add(cert) request.Method = "POST" request.ContentType = "text/xml; charset=utf-8" request.Accept = "text/xml" Dim postData As String = Envelope Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData) request.ContentLength = byteArray.Length Dim dataStream As Stream = request.GetRequestStream() dataStream.Write(byteArray, 0, byteArray.Length) dataStream.Close() Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse) dataStream = response.GetResponseStream() Dim reader As New StreamReader(dataStream) Dim responseFromServer As String = reader.ReadToEnd() reader.Close() dataStream.Close() response.Close() '-------------------------------------------------------------------------- ' Responde em caso de erro '-------------------------------------------------------------------------- Return responseFromServer Catch ex As WebException If ex.Status = WebExceptionStatus.ProtocolError Then Dim resp As WebResponse = ex.Response Dim sr As StreamReader = New StreamReader(resp.GetResponseStream()) Return sr.ReadToEnd() Else Return ex.Message End If End Try END IF '-------------------------------------------------------------------------- '-------------------------------------------------------------------------- End Function estou a receber este erro: <?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>8 </faultcode> <faultstring>Rejected: | Codigo: 8 | Erro: Nonce: Não foi possível decifrar o campo | Tentativas Restantes: -1</faultstring> <detail>fews.gdcontfsimpostos</detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope> alguém me pode ajudar? São meras suposições mas tenho quase a certeza que as chaves privadas/publicas ainda estão a ser carregadas. Link to post Share on other sites
ngiestas 0 Posted July 1, 2013 Report Share Posted July 1, 2013 João Felix Moreira como assim? Link to post Share on other sites
João Felix Moreira 2 Posted July 1, 2013 Report Share Posted July 1, 2013 João Felix Moreira como assim? Até a data de hoje, temos usado a chave privada (pfx) e a chave publica (cer) dadas pela AT. Certificados que acabaram ontem. No entanto acabei de inserir um GT em testes, portanto não percebo. Mas para esclarecer, se te ligas com a chave privada, usas a publica para encriptação, e consequente descriptação do lado da AT. Questão do lado deles não está resolvida. Pois se ligas o Webservice, porque raio não descodificam o nonce ? Link to post Share on other sites
mjjferreira 3 Posted July 1, 2013 Report Share Posted July 1, 2013 Boas pessoal madrugador (e farto de sofrer... ) A minha entrada em Produção foi "engraçada"... as duas primeiras guias da Era "1 Julho de 2013" foram 5 estrelas... autenticadas que nem ginjas! Eu logo vi que estava a correr bem demais, já se emitiram mais 43 guias desde essa altura e nenhuma delas com sucesso... obtenho sempre o erro: Rejected by policy Também estão com este retorno? Cumpts Link to post Share on other sites
karthick 1 Posted July 1, 2013 Report Share Posted July 1, 2013 oi, Desde ontem eu estava recebendo o erro abaixo. Unknown SSL protocol error in connection to servicos.portaldasfinancas.gov.pt:701 Closing connection 0 Curl: (35) Unknown SSL protocol error in connection to servicos.portaldasfinancas.gov.pt:701 É problema com a AT webservice? Karthick Link to post Share on other sites
mjjferreira 3 Posted July 1, 2013 Report Share Posted July 1, 2013 oi, Desde ontem eu estava recebendo o erro abaixo. Unknown SSL protocol error in connection to servicos.portaldasfinancas.gov.pt:701 Closing connection 0 Curl: (35) Unknown SSL protocol error in connection to servicos.portaldasfinancas.gov.pt:701 É problema com a AT webservice? Karthick Parace-me que são permissões do teu lado. Estás por detrás de algum proxy? Link to post Share on other sites
karthick 1 Posted July 1, 2013 Report Share Posted July 1, 2013 Hi, No. As we were able to connect till yesterday night. Regards, Karthick Link to post Share on other sites
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now