Jump to content
Carlos Pais

Comunicação dos Elementos das Facturas, SAFT-PT

Recommended Posts

Carlos Pais

Webservice para registo de faturas emitidas

Já alguem tem algum exemplo funcional para o envio do XML

Eu tenho um codigo assim:

 Dim strURL = "http://servicos.portaldasfinancas.gov.pt/faturas/"
 Dim strSoapAction = "http://servicos.portaldasfinancas.gov.pt/faturas/"
 Dim strXml = txtCaminho.Text
 PostWebservice(strURL, strSoapAction, strXml)
....

Private Function PostWebservice(ByVal AsmxUrl As String, ByVal SoapActionUrl As String, ByVal XmlBody As String) As String
 Dim objDom As Object
 Dim objXmlHttp As Object
 Dim strRet As String
 Dim intPos1 As Integer
 Dim intPos2 As Integer
 On Error GoTo Err_PW
 '' Create objects to DOMDocument and XMLHTTP
 objDom = CreateObject("MSXML2.DOMDocument")
 objXmlHttp = CreateObject("MSXML2.XMLHTTP")
 '' Load XML
 objDom.async = False
 objDom.LoadXML(XmlBody)
 '' Open the webservice
 objXmlHttp.Open("POST", AsmxUrl, False)
 '' Create headings
 objXmlHttp.setRequestHeader("Content-Type", "text/xml; charset=ISO-8859-1")
 objXmlHttp.setRequestHeader("SOAPAction", SoapActionUrl)
 '' Send XML command
 objXmlHttp.send(objDom.xml)
 '' Get all response text from webservice
 strRet = objXmlHttp.responseText
 '' Close object
 objXmlHttp = Nothing
 '' Extract result
 intPos1 = InStr(strRet, "Result>") + 7
 intPos2 = InStr(strRet, "</")
 If intPos1 > 7 And intPos2 > 0 Then
	 strRet = Mid(strRet, intPos1, intPos2 - intPos1)
 End If
 '' Return result
 PostWebservice = strRet
 MsgBox(PostWebservice, MsgBoxStyle.Information)
 Exit Function
Err_PW:
 PostWebservice = "Error: " & Err.Number & " - " & Err.Description
 MsgBox(PostWebservice, MsgBoxStyle.Information)

End Function

que aparentemente está a funcionar, mas está a dar erro 5, que segundo parece é erro no login e password, que defacto está mal, pois falta-lhe o certificado, alguem sabe de como colocar o certificado a funcionar ...

Edited by apocsantos
geshi

Share this post


Link to post
Share on other sites
spinny

de acordo com as paginas 9 e 10 em http://info.portaldasfinancas.gov.pt/NR/rdonlyres/AC494AE7-7E41-41C9-991B-15C3F0126ABF/0/ComunicacaodosdadosdasfaturasaAT.pdf , o username e a pass devem ser encriptados com uma chave AES e essa chave e que e encriptada com o certificado

um amigo meu recebeu: o doc acima, 2 certs, user e pass de teste por email.

possivelmente para obteres o cert. teras que fazer algum tipo de registo.


peace & love - keep on coding

Share this post


Link to post
Share on other sites
Carlos Pais

Pois eu tambem já tenho isso, ... mas não sei é de como ponho isso a funcionar ...

de acordo com as paginas 9 e 10 em http://info.portaldasfinancas.gov.pt/NR/rdonlyres/AC494AE7-7E41-41C9-991B-15C3F0126ABF/0/ComunicacaodosdadosdasfaturasaAT.pdf , o username e a pass devem ser encriptados com uma chave AES e essa chave e que e encriptada com o certificado

um amigo meu recebeu: o doc acima, 2 certs, user e pass de teste por email.

possivelmente para obteres o cert. teras que fazer algum tipo de registo.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • 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.